说明下列指令中不合法的原因。 (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)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。
更多“说明下列指令中不合法的原因。 (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”相关问题