多做题,通过考试没问题!

微机原理

睦霖题库>大学试题(计算机科学)>微机原理

指出以下指令中,哪些指令是非法的,并说明为什么(8086系统)。 (1) PUSH 1234H (2) MOV CS,AX (3) IN AX, 300 (4) MOV AX,[DX+12] (5) MOV BX,[BX] (6) MOV DS,1000H (7) XCHG AL,AL (8) MOV AL,100H (9) MOV DX,AL (10)LEA BL,[BX+5] (11)LEA DX,BX (12)MOV [1000H],12H (13)ADD AX,DS (14)SUB [0100H],BYTE PTR [0001] (15)SHL BL,2 (16)SHR CL,CL (17)MUL AL,BL (18)INT 400

正确答案: (1)非法,8086系统不允许PUSH指令的操作数为立即数;
(2)非法,MOV指令中CS不能作为目的操作数;
(3)非法,端口号大于0FFH;
(4)非法,DX不能出现在中括号[]内;
(5)合法;
(6)非法,不能把立即数赋给段寄存器;
(7)合法;
(8)非法,源操作数大于0FFH,不能赋给8位寄存器AL;
(9)非法,源操作数是8位寄存器,目的操作数却是16位寄存器,不匹配;
(10)非法,LEA指令得到的是16位偏移量,但目的操作数是8位寄存器;
(11)非法,LEA指令的源操作数只能是存储器操作数;
(12)非法,指令存在歧义,无法确定传送的是字节还是字;
(13)非法,段寄存器不能参与算术运算;
(14)非法,源和目的寄存器不能同为存储器操作数;
(15)非法,在8086系统中,移位次数大于1时需要将移位次数存放到CL中;
(16)合法;
(17)非法,在8086系统中MUL指令没有双操作数的用法;
(18)非法,中断类型号大于0FFH。
答案解析:
进入题库查看解析

微信扫一扫手机做题