说明下列指令中不合法的原因。 (1)MOV 64H, CL (2)MOV CL, 100H (3)MOV CL, 256 (4)MOV SS, 6180H (5)MOV CS, WORD PTR[BX] (6)MOV DS, SS (7)XCHG AL, 40H (8)XCHG ES, AX (9)IN 160H, AL (10)CMP [SI], [BX] (11)MOV DS, 1000H (12)POP CS
正确答案:
(1)错在立即数64H作目标操作数。
(2)和(3)错在目标操作数均超过了字节范围。
(4)错在立即数直接传送给段寄存器。
(5)错在把存储器操作数作数送CS, 这可能引起系统运行紊乱。
(6)错在两个段寄存器之间直接传送。
(7)错在用立即数作交换指令的操作数。
(8)错在用段寄存器作交换指令的操作数。
(9)错在当端口地址超过FFH时还在用直接寻址端口号。
(10)错在用两个存储器操作数做比较。
(11)错在将立即数直接传送到CS,必须先传送到某个寄存器,再经过寄存器传送到CS。
(12)错在将存储器堆栈中的数据直接弹出到CS。
(2)和(3)错在目标操作数均超过了字节范围。
(4)错在立即数直接传送给段寄存器。
(5)错在把存储器操作数作数送CS, 这可能引起系统运行紊乱。
(6)错在两个段寄存器之间直接传送。
(7)错在用立即数作交换指令的操作数。
(8)错在用段寄存器作交换指令的操作数。
(9)错在当端口地址超过FFH时还在用直接寻址端口号。
(10)错在用两个存储器操作数做比较。
(11)错在将立即数直接传送到CS,必须先传送到某个寄存器,再经过寄存器传送到CS。
(12)错在将存储器堆栈中的数据直接弹出到CS。
答案解析:有
微信扫一扫手机做题