已经定义数据段如下: DATASEGMENT NUM=56 X DB NUM Y DB 27 Z DW 148 DATAENDS 指出下列指令中的错误: (1)MOV Y,X (2)MOV BL,04B8H (3)MOV AL,Z (4)MOV [BX],3 (5)MOV [BX],[DI] (6)MOV DS,DATA (7)MOV NUM,AX (8)MOV ES,DS (9)MOV AX,FLAGS (10)MOV CS,AX
正确答案:
(1)指令MOV Y,X同时出现了两个存储器操作数。
(2)指令MOV BL,04B8H操作数类型不匹配(04B8H是16位立即数,BL是8位寄存器)。
(3)指令MOV AL,Z操作数类型不匹配(Z是16位操作数,BL是8位寄存器)。
(4)指令MOV [BX],3操作数类型不能确定。
(5)指令MOV [BX],[DI]出现了两个存储器操作数。
(6)指令MOV DS,DATA不能把立即数装入段寄存器。
(7)指令MOV NUM,AX立即数不能用作目的操作数。
(8)指令MOV ES,DS不能在段寄存器之间直接传输。
(9)指令MOV AX,FLAGS中,FLAGS寄存器只能隐含在少量指令中使用。
(10)指令MOV CS,AX中,CS寄存器不能用作目的操作数。
(2)指令MOV BL,04B8H操作数类型不匹配(04B8H是16位立即数,BL是8位寄存器)。
(3)指令MOV AL,Z操作数类型不匹配(Z是16位操作数,BL是8位寄存器)。
(4)指令MOV [BX],3操作数类型不能确定。
(5)指令MOV [BX],[DI]出现了两个存储器操作数。
(6)指令MOV DS,DATA不能把立即数装入段寄存器。
(7)指令MOV NUM,AX立即数不能用作目的操作数。
(8)指令MOV ES,DS不能在段寄存器之间直接传输。
(9)指令MOV AX,FLAGS中,FLAGS寄存器只能隐含在少量指令中使用。
(10)指令MOV CS,AX中,CS寄存器不能用作目的操作数。
答案解析:有

微信扫一扫手机做题