高分悬赏:MOV AX 1000H是什么意思?
2.当把上面的“AX”换成“DX”时,这条指令是什么意思?是“把1000h这个数赋给dx”吗?还是“把1000h所在的地址赋给DX”?
请哪位高人给我讲讲,最好说的明白一点,解释的清楚一点,因为本人较笨,呵呵 展开
MOV AX, 1000H和MOV DX, 1000H都是立即寻址方式,即1000H是一个具体的数字,就是把1000H这个数赋给AX或者DX。
立即寻址指令提供的操作数直接包含在指令中,它紧跟在操作码的后面,与操作码一起放在代码段区域中,操作数是8位或16位,若是16位,则存储时低位在前,高位在后。
扩展资料:
立即数表示注意事项
对于16位以上的处理器在立即数为16位或32位时,它将按“高高低低”的原则进行存储,例如:
MOV AH,80H (将八位立即数存入高位累加寄存器)
ADD AX,1234H (将十六位立即数与累加寄存器中的数相加并存入累加寄存器)
MOV ECX,12345678H(将三十二位立即数存入扩展计数寄存器)
参考资料来源:百度百科-立即寻址
在8086/8088处理器的汇编语言中,
MOV AX,1000H;
这是立即寻址指令,意思是把数值0x1000赋值给寄存器AX。易与之混淆的是直接寻址指令。
立即寻址指令与直接寻址指令的区别是:
1 立即寻址指令提供的操作数直接包含在指令中。它紧跟在操作码的后面,与操作码一起放在代码段区域中。操作数是8位或16位。若是16位,则存储时低位在前,高位在后。
立即寻址主要用来给寄存器或存储器赋初值。
对指令:MOV AX,3000H
处理器操作示意图如下:
2 直接寻址: 操作数地址的16位偏移量直接包含在指令中。它与操作码—起存放在代码
段区域,操作数一般在数据段区域中,它的地址为数据段寄存器DS加上这16位地址偏移量。这种寻址方法是以数据段的地址为基础,可在多达64KB的范围内寻找操作数。
如:
MOV AX,[2000H]= MOV AX,DS:[2000H];
处理器操作示意图如下:
和
MOV DX, 1000H
都是立即寻址方式,即1000H是一个具体的数字,就是把1000H这个数赋给AX或者DX。
并非是传送地址。
MOV AX,1000H
将RAM的1000H内存单元的内容赋给AX,DX也一样,赋立即数的格式是
MOV AX,#1000H
MOV应该是51系列的汇编指令,要是你的单片机RAM小于1000H,MOV AX,1000H就是错误的,不过51系列的单片机很少有RAM大于1024的。