指出下列指令的错误: MOVAH,CX; MOV33H,AL; MOVAX,[SI][DI]; MOV[BX],[SI]; ADDBYTEPTR[BP],256; MOVDATA[SI],ES:AX; JMPBYTEPTR[BX]; OUT230H,AX; MOVDS,BP; MUL39H。
正确答案:
(1)指令错。两操作数字长不相等
(2)指令错。MOV指令不允许目标操作数为立即数.
(3)指令错。在间接寻址中不允许两个间址寄存器同时为变址寄存器。
(4)指令错。MUV指令不允许两个操作数同时为存储器操作数。
(5)指令错。ADD指令要求两操作数等字长。
(6)指令错。源操作数形式错,寄存器操作数不加段重设符。
(7)指令错。转移地址的字长至少应是16位的。
(8)指令错。对输人输出指令,当端口地址超出8位二进制数的表达范围(即寻址的端口超出256个)时,必须采用间接寻址。
(9)指令正确。
(10)指令错。MUL指令不允许操作数为立即数。
(2)指令错。MOV指令不允许目标操作数为立即数.
(3)指令错。在间接寻址中不允许两个间址寄存器同时为变址寄存器。
(4)指令错。MUV指令不允许两个操作数同时为存储器操作数。
(5)指令错。ADD指令要求两操作数等字长。
(6)指令错。源操作数形式错,寄存器操作数不加段重设符。
(7)指令错。转移地址的字长至少应是16位的。
(8)指令错。对输人输出指令,当端口地址超出8位二进制数的表达范围(即寻址的端口超出256个)时,必须采用间接寻址。
(9)指令正确。
(10)指令错。MUL指令不允许操作数为立即数。
答案解析:有

微信扫一扫手机做题