永发信息网

汇编语言中语句:mov AH,AL 合法吗?

答案:2  悬赏:30  手机版
解决时间 2021-12-03 02:02
  • 提问者网友:王者佥
  • 2021-12-02 18:21
汇编语言中语句:mov AH,AL 合法吗?
最佳答案
  • 五星知识达人网友:舊物识亽
  • 2021-12-02 19:14
合法的
我给你简单的说哈吧
MOV可实现的传送:(1)寄存器与寄存器/存储器
(2)立即数至寄存器/存储器
(3)寄存器/存储器与段寄存器
MOV不能实现的指令
(1)存储器单元之间的传送
(2)立即数至段寄存器之间的传送
(3)段寄存器之间的传送
你那是高低八位之间的寄存器传送,是正确的。
全部回答
  • 1楼网友:荒野風
  • 2021-12-02 20:17
合法语句。

传送指令MOV(Move Instruction)

传送指令是使用最频繁的指令,它相对于高级语言里的赋值语句。指令格式: MOV Reg/Mem, Reg/Mem/Imm
其中:Reg—Register(寄存器),Mem—Memory(存储器),Imm—Immediate(立即数),它们可以是8位、16位或32位(特别指出其位数的除外)。
指令的功能是把源操作数(第二操作数)的值传给目的操作数(第一操作数)。指令执行后,目的操作数的值被改变,而源操作数的值不变。在存储单元是该指令的一个操作数时,该操作数的寻址方式可以是任意一种存储单元寻址方式。
虽然一条MOV指令能实现其中大多数的数据传送方式,但也存在MOV指令不能实现的传送方式。
对MOV指令有以下几条具体规定,其中有些规定对其它指令也同样有效。
1)、两个操作数的数据类型要相同,要同为8位、16位或32位;如:MOV BL, AX等是不正确的;
2)、两个操作数不能同时为段寄存器,如:MOV ES, DS等;
3)、代码段寄存器CS不能为目的操作数,但可作为源操作数,如:指令MOV CS, AX等不正确,但指令MOV AX, CS等是正确的;
4)、立即数不能直接传给段寄存器,如:MOV DS, 100H等;
5)、立即数不能作为目的操作数,如:MOV 100H, AX等;
6)、指令指针IP,不能作为MOV指令的操作数;
7)、两个操作数不能同时为存储单元,如:MOV VARA, VARB等,其中VARA和VARB是同数据类型的内存变量。
对于规定2、4和7,我们可以用通用寄存器作为中转来达到最终目的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯