在微机原理中,什么不能当源操作数,什么不能当目的操作数?
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/08/13 09:26:21
在微机原理中,什么不能当源操作数,什么不能当目的操作数?
求高手解答,尽量详细一点,谢谢
求高手解答,尽量详细一点,谢谢
![在微机原理中,什么不能当源操作数,什么不能当目的操作数?](/uploads/image/z/17202990-30-0.jpg?t=%E5%9C%A8%E5%BE%AE%E6%9C%BA%E5%8E%9F%E7%90%86%E4%B8%AD%2C%E4%BB%80%E4%B9%88%E4%B8%8D%E8%83%BD%E5%BD%93%E6%BA%90%E6%93%8D%E4%BD%9C%E6%95%B0%2C%E4%BB%80%E4%B9%88%E4%B8%8D%E8%83%BD%E5%BD%93%E7%9B%AE%E7%9A%84%E6%93%8D%E4%BD%9C%E6%95%B0%3F)
问的比较笼统,要针对具体的指令.
对于MOV指令而言:
CS、IP、标志寄存器FLAG都不能直接作为目标操作数,立即数由于不是存储单元(也就是“容器”),所以任何时候都不能作为目的操作数,两个内存单元不可以直接传递数据(可以通过CPU寄存器间接中转).针对源操作数的限制则比较少,除了不可寻址的寄存器IP、FLAG(这两个寄存器任何时候不可以单独出现在指令中),其他的都可以作为源操作数(如MOV AX,CS就是合法指令),只是要注意源和目的操作数类型的匹配(同为字节或同为字,不允许字节对字的传送,如MOV AL,BX指令就是非法指令)
上述针对MOV指令的限制则可以通过其他指令解决,比如CS和IP可以通过控制转移指令间接修改,如JMP、CALL指令就是通过修改CS和IP实现程序转移的,FLAG寄存器可以使用PUSHF和POPF指令借助堆栈间接读取或修改.多个内存单元对多个内存单元的传输可以通过串操作指令(MOVSB、MOVSW)来进行.
简单说这么多吧,供参考,仍有问题可以再交流.
对于MOV指令而言:
CS、IP、标志寄存器FLAG都不能直接作为目标操作数,立即数由于不是存储单元(也就是“容器”),所以任何时候都不能作为目的操作数,两个内存单元不可以直接传递数据(可以通过CPU寄存器间接中转).针对源操作数的限制则比较少,除了不可寻址的寄存器IP、FLAG(这两个寄存器任何时候不可以单独出现在指令中),其他的都可以作为源操作数(如MOV AX,CS就是合法指令),只是要注意源和目的操作数类型的匹配(同为字节或同为字,不允许字节对字的传送,如MOV AL,BX指令就是非法指令)
上述针对MOV指令的限制则可以通过其他指令解决,比如CS和IP可以通过控制转移指令间接修改,如JMP、CALL指令就是通过修改CS和IP实现程序转移的,FLAG寄存器可以使用PUSHF和POPF指令借助堆栈间接读取或修改.多个内存单元对多个内存单元的传输可以通过串操作指令(MOVSB、MOVSW)来进行.
简单说这么多吧,供参考,仍有问题可以再交流.
分别指出下列指令中源操作数和目的操作数的寻址方式
指出下列指令中源操作数和目的操作数的寻址方法
在太空中不能进行什么物理操作?在初中范围.想归纳一下.
微机原理,操作数寻址问题:MOV [BX+10H],2050 和MOV [SI],BX
下列家庭实验的方法或操作中,不能达到实验目的的是
百分数不能代表什么数
要想让目的基因与运载体连接起来,在基因操作中应选用什么
微机原理中状态AF什么意思
传送指令中原操作数和目的操作数可以同时使用@符号吗
汇编语言mov 【ax+2】,bx的目的操作数地址
电子表格中两个数相乘如何操作
指数函数有意义的范围当n为偶数时中a的范围为什么是a>0 为什么不能等于0?是不是当a=0时,无论n取什么数,的值恒等于