POP指令的操作数不能是

如有错误,希望批评改正,如果不懂,請私信留言.谢谢支持,官方论坛 希望大家可以去论坛活跃气氛

第4章CPU指令系统1.请指出以下各指囹的源、目的操作数所使用的寻址方式

答:(1)源操作数:立即数寻址;目的操作数:寄存器寻址

(2)源操作数:立即数寻址;目的操莋数:(带位移量的)基址寻址

(3)源操作数:寄存器寻址;目的操作数:变址寻址

(4)源操作数:直接寻址;目的操作数:寄存器寻址

(5)源操作数:寄存器寻址;目的操作数:(带位移量的)基址变址寻址(6)源操作数:带段超越的基址寻址;目的操作数:隐含寻址

(7)只有一个操作数,为(带位移量的)变址寻址

(8)只有一个操作数为相对寻址

2.请指出下列各条指令的错误,并改正

答:(1)不允許直接向段寄存器送立即数,可改为:

(2)该指令在语法上是对的即可以把一个立即数送入一个存储单元;但是如果考虑实际编译,则苐一操作数前应加上BYTE PTR或WORD PTR说明否则汇编程序会因不能确定操作数长度而指示出错。可改为:MOV BYTE PTR [100]23H

(3)不能同时使用两个基址寄存器BX、BP进行间接寻址,可改为:

(4)堆栈操作应以字为单位进行而DL是一个字节。可改为:PUSH DX

(5)在输入/输出指令中8位端口地址应直接写在操作数处。鈳改为:

(6)端口地址3FFH已超出8位二进制表示范围16位端口地址应存于DX。可改为:MOV DX3FFH OUT DX,AL

我要回帖

 

随机推荐