计算机四级

执行下列指令后,AX的值为 MOV AX,1234H MOV CL,4 ROL AX,CL DEC AX MOV CX,4 MUL CXA.8D00HB.9260HC.8CA0HD.0123H

题目

执行下列指令后,AX的值为 MOV AX,1234H MOV CL,4 ROL AX,CL DEC AX MOV CX,4 MUL CX

A.8D00H

B.9260H

C.8CA0H

D.0123H

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若要完成(AX)×7/2运算,则在下面四条指令之后添加哪条指令? MOV BX,AX MOV CL,3 SAL AX,CL SUB AX,BX _______

A.OR AX,1

B.SAL AX,1

C.SAR AX,1

D.DIV AX,2


正确答案:C
解析:MOVBX,AX;保护AX的内容MOVCL,3;给CL赋3SALAX,CL;将AX左移3位SUBAX,BX;将已经左移了3位的AX减去原来的AX,因为7=23-1,AX左移3位相当于乘了23,再减去原来的AX,就相当于完成了原AX乘以7的操作,因此下面一步就应当完成除以2的功能。在二进制的计算机数运算中,除以2的操作可以通过将操作数右移一位完成,算术移位操作的指令SAR即是,因此选项C正确。

第2题:

执行下面的指令 MOV AX, 1234H MOV DX, 4 MUL DX AX寄存器中的数据是( )。

A.4936H

B.48DOH

C.2340H

D.0234H


正确答案:B
解析:执行乘法运算时,寄存器AX 中最初存放的是被乘数,计算完成后,积将被保存在AX寄存器中。

第3题:

下面哪一个选项中的程序段可以将AX寄存器的高4位移至BX的低4位?

A. MOV CL,4 SAL AX,CL ROL BX,CL

B.MOV CL,4 SHL AX,CL RCL BX,CL

C.MOV CX,4 LP:SHL AX,1 ROL BX,1 LOOP LP JNZ LP

D.MOV CL,4 LP:SHL AX,1 RCL BX,1 DEC CL


正确答案:D
解析:D选项中,通过SHL AX,1语句将AX寄存器的高4位分别移到标志寄存器中,再通过ROL BX,1语句将标志寄存器中的内容逐次移到BX寄存器的低4位,DEC CL减少需要循环的次数,最终实现将AX寄存器的高4位移至BX的低4位。

第4题:

下列指令中,不正确的指令是( )。

Ⅰ MOV AX,BX

Ⅱ ADD AX,CL

Ⅲ MOV 2000H,CX

Ⅳ MOV AX.[DX]

A.Ⅲ

B.Ⅱ、Ⅲ和 Ⅳ

C.Ⅱ和Ⅲ

D.Ⅰ、Ⅱ、Ⅲ、Ⅳ


正确答案:B

第5题:

要完成(AX)× 7/2运算,则在下列四条指令之后添加哪条指令?( ) MOV BX, AX MOV CL, 3 SAL AX, CL SUB AX, BX

A.ROR AX,1

B.SAL AX,1

C.SAR AX,1

D.DIV AX,2


正确答案:C
解析:由题意可知,已知四条语句的执行结果是(AX)×7,只需在该结果除以2即可,选项C)可完成该项功能。

第6题:

执行下列的指令后,寄存器AH和AL的值分别是______。

MOV AX,1234

MOV CL,4

ROL AX,CL

DEC AX

MOV CX,4

MUL CX

HLT


正确答案:8DH00H
8DH,00H

第7题:

下列MOV指令都是错误的,请指出错误原因。

(1)MOV ES, 1234H

(2)MOV AL, 300

(3)MOV [SP], AX

(4)MOV AX, BX+DI

(5)MOV 20H, AH


正确答案:(1)立即数不能直接赋给段寄存器。 (2)立即数300超过8位不能赋给8位寄存器AL。 (3)SP不能作为间接寻址寄存器寻址。 (4)两个寄存器不能相加。 (5)立即数不能作为目标操作数。
(1)立即数不能直接赋给段寄存器。 (2)立即数300超过8位,不能赋给8位寄存器AL。 (3)SP不能作为间接寻址寄存器寻址。 (4)两个寄存器不能相加。 (5)立即数不能作为目标操作数。 解析:本问题主要考查汇编语言的基础知识。在8086的指令系统中,应用通用传送指令时,需要注意以下几点:
传送指令可传送8位数据,也可传送16位数据,具体取决于指令中涉及的寄存器是8位还是16位,也取决于立即数的形式。
传送指令中总是即含源操作数,又含目的操作数,两者之中至少有一个是用寄存器来指出的,这可减少指令长度。因此,一个立即数不能直接送直接寻址的内存单元。交换指令(XCHG)两个操作数都不能是立即数。
传送指令不能在两个内存单元之间直接传送数据。
在传送指令中,寄存器即可以作为源操作数,也可以作为目的操作数,但CS寄存器不能作为目的操作数,换句话说,这个寄存器的值不能随意修改。而IP寄存器即不能作源操作数,也不能作为目的操作数。
用BX、SI、DI来间接寻址时,默认的段寄存器位DS,而用BP来间接寻址时,默认的段寄存器为SS。
8086系统规定,凡是遇到给SS寄存器赋值的传送指令时,系统会自动禁止外部中断,等到本条指令和下条指令执行后,又自动恢复对SS寄存器赋值前的中断开放状态。这样做是为了允许程序员连续用两条指令分别对SS和SP寄存器赋值,同时又防止堆栈空间变动过程中出现中断。了解这点后,就应注意在修改SS和SP的指令之间不要插入其他指令。
除了一些直接影响FLAGS的指令外,一般传送指令不改变标志寄存器的内容。
立即数不能直接送段寄存器DS、ES以及SS,要用通用寄存器或存储单元作桥梁。
因此,指令“MOVES,1234H”的错误在于立即数直接赋给了段寄存器;指令“MOV AL,300”的错误在于立即数300超过8位,不能赋给8位寄存器AL;指令“MOV[SP],AX”的错误在于SP不能作为间接寻址寄存器寻址:指令“MOV AX,BX+DI”的错误在于两个寄存器不能相加;指令“MOV 20H,AH”的错误在于立即数不能作为目标操作数。

第8题:

执行下段程序后,AX=______( ) MOV CX,4 MOV AX,25LP:SUB AX,CX LOOP LP HLT

A.10

B.15

C.20

D.25


正确答案:B
解析:这段程序就执行的是25—4—3—2—1=15。

第9题:

执行下列指令后: MOV AX, 1234H MOV CL, 4 ROL AX, CL DEC AX MOV CX, 4 MUL CX HLT 寄存器AH的值是( )。

A.92H

B.8CH

C.8DH

D.OOH


正确答案:C

第10题:

若要完成(AX)×7/2运算,则在下列四条指令之后添加指令( )。 MOV BX,AX MOV CL,3 SAL AX,CL SUB AX, BX

A.RORAX,1

B.SALAX,1

C.SARAX,1

D.DIVAX,2


正确答案:C

更多相关问题