下列指令的源操作数段基址在哪个段寄存器中? (1)MOV  AX, [BP][SI]  (2)MOV  AX, CS:8[DI]   (3)MOV  AX, 2[EBP*1]  (4)MOV  AX, FS:4[ESP]  (5)MOV  AX, 2[EBP][EAX]  (6)MOV  AX, [ECX][EBP*4]  (7)MOC  AX, [EDX][EBP]  (8)MOV  AX, ES:10[EBP][EAX*2]

题目

下列指令的源操作数段基址在哪个段寄存器中? (1)MOV  AX, [BP][SI]  (2)MOV  AX, CS:8[DI]   (3)MOV  AX, 2[EBP*1]  (4)MOV  AX, FS:4[ESP]  (5)MOV  AX, 2[EBP][EAX]  (6)MOV  AX, [ECX][EBP*4]  (7)MOC  AX, [EDX][EBP]  (8)MOV  AX, ES:10[EBP][EAX*2]

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

第1题:

下列指令中,源操作数的寻址方式为相对基址变址寻址方式的指令是( )。

A.MOV AX,COUNT[SI]

B.MOV AX, [BX][DI]

C.MVO AX,COUNT[BP][SI]

D.MOV AX,[BX+DI]


正确答案:C

第2题:

指出下列指令中哪些是错误的,错在什么地方。  (1)MOV DL,AX  (2)MOV 8650H,AX  (3)MOV DS,0200H  (4)MOV [BX],[1200H]  (5)MOV IP,0FFH  (6)MOV [BX+SI+3],IP  (7)MOV AX,[BX][BP]  (8)MOV AL,ES:[BP]  (9)MOV DL,[SI][DI]  (10)MOV AX,OFFSET 0A20H  (11)MOV AL,OFFSET TABLE  (12)XCHG AL,50H  (13)IN BL,05H  (14)OUT AL,0FFEH


正确答案:(1)长度不匹配
(2)立即数不能做目的操作数
(3)段寄存器不能用立即数赋值
(4)两个内存单元不能直接传送数据
(5)IP 不能用指令直接修改
(6)指令中不能出现 IP
(7)BX/BP 应与 SI/DI 搭配
(8)正确
(9)SI/DI 应与 BX/BP 搭配
(10)OFFSET 后应跟内存单元
(11)偏移地址为16 位,AL 长度不够
(12)立即数不能用于XCHG
(13)IN 必须用 AL/AX
(14)操作数顺序反向;地址应为 8 位

第3题:

下列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”的错误在于立即数不能作为目标操作数。

第4题:

指出以下指令中,哪些指令是非法的,并说明为什么(80386系统)。 (1) MOV AX,12[EBX][SI*16] (2) RCR EAX,10 (3) PUSH 5678H (4) POP 1000H (5) MOV [EAX+EAX],EAX (6) MOV AL,[ESP+ESP*2] (7) MOV BL,[AX+12] (8) IMUL AL,BL,12


正确答案: (1)非法,比例因子只能是1、2、4、8,不能是16;
(2)合法;
(3)合法;
(4)非法,POP指令的目的操作数不能是立即数;
(5)合法;
(6)非法,ESP只能作为基址寄存器,不能作为变址寄存器;
(7)非法,在386系统中AX不能作为基址寄存器,也不能作为变址寄存器;
(8)合法。

第5题:

指出下列指令中源操作数的寻址方式,并说明指令操作的结果。 (1)MOV  BX, ‘BC’  (2)MOV  AX, DATA  (3)MOV  DX, [BX]  (4)MOV  AL, [BX+DI]  (5)MOV  CL, LIST[BX]  (6)MOV  AX, FILE[BX+DI+200H]  (7)DAA  (8)XLAT  (9)IN  AX, DX  (10)INT  21H


正确答案: (1)立即寻址。操作结果是把ASCII码CB(4342H)传送到BX.
(2)使用AX的直接寻址。操作结果是把数据段存储单元DATA1与DATA1+1的字内容复制到AX中。
(3)寄存器间接寻址。把数据段由BX间接寻址的存储单元的字内容复制到DX中。
(4)基址加变址寻址的寻址方式。操作结果是把由BX+DI寻址的数据段存储单元的字的内容复制到AL。
(5)寄存器相对寻址。操作结果是把数据段由LIST+BX寻址的字节内容送CL。
(6)相对基址加变址的寻址方式。操作结果是把由BX+DI+200H寻址的数据段存储单元的字内容送入AX。
(7)源操作数为寄存器(AL)寻址。它是把AL中的两位BCD码加法运算的结果调整为两位压缩型十进制数,仍保留在AL中。
(8)源操作数为寄存器(BX)相对寻址。操作结果是把由BX+AL指定的内容表格中的字节代码内容送AL。
(9)源操作数为寄存器(DX)间接寻址。它是把DX和DX+1所指定的两个端口地址的字的内容送入AX。
(10)源操作数为直接寻址,直接寻址地址为21H×4, 21H×4+2。操作结果是把21H×4~21H×4+3内存单元中的双字分别送到IP与CS。

第6题:

下列四条指令中错误的是()。

  • A、MOV  AX,[SI]
  • B、MOV  AX,[DI]
  • C、MOV  AX,[SI+DI]
  • D、MOV  AX,[SI-10]

正确答案:C

第7题:

指出下列指令的错误(1)MOV.AH,BX(2)ADD.15H,BX(3)MOV.CS,AX(4)MOV.AX,[SI][DI](5)MOV.BYTEPTR[BX],1000


正确答案: (1)MOV . AH,BX (1)类型不匹配
(2)ADD . 15H,BX ( 2)立即数不能作目的操作数
(3)MOV . CS,AX (3)CS不能作目的操作数
(4)MOV . AX,[SI][DI] (4)SI和DI不能一起使用
(5)MOV . BYTE PTR[BX],1000 (5)类型不匹配

第8题:

交换寄存器SI、DI的内容,正确的程序段是( )。

A.PUSH SI

B.PUSH SI PUSH DI PUSH DI POP SI POP DI POP DI POP SI

C.MOV AX,SI

D.MOV AX,SI MOV SI,AX MOV BX,DI MOV DI,BX XCHG BX,AX


正确答案:A

第9题:

分别说明下列指令的源操作数和目的操作数各采用什么寻址方式。  (1)MOV AX,2408H  (2)MOV CL,0FFH  (3)MOV BX,[SI]  (4)MOV 5[BX],BL  (5)MOV [BP+100H],AX  (6)MOV [BX+DI],’$’  (7)MOV DX,ES:[BX+SI]  (8)MOV VAL[BP+DI],DX  (9)IN AL,05H  (10)MOV DS,AX


正确答案:(1)立即数,寄存器
(2)立即数,寄存器
(3)寄存器间接,寄存器
(4)寄存器,寄存器相对
(5)寄存器,寄存器相对
(6)立即数,基址变址
(7)基址变址,寄存器
(8)寄存器,相对基址变址
(9)直接端口寻址,寄存器
(10)寄存器,寄存器

第10题:

已知:DS=1000H,BX=0200H,SI=02H,内存10200H~10205H 单元的内容分别为10H, 2AH,3CH,46H,59H,6BH。下列每条指令执行完后AX 寄存器的内容各是什么?  (1)MOV AX,0200H  (2)MOV AX,[200H]  (3)MOV AX,BX  (4)MOV AX,3[BX]  (5)MOV AX,[BX+SI]  (6)MOV AX,2[BX+SI]


正确答案:(1)0200H
(2)2A10H
(3)0200H
(4)5946H
(5)463CH
(6)6B59H

更多相关问题