本次所讨论的是计组汇编语言中,对寄存器存放数据的一些问题的探讨:
首先:
8086的汇编语言当中的寄存器分为高位寄存器与低位寄存器。
例如:通用寄存器AX 中:
高位寄存器为AH 低位寄存器为AL
当我们把数据存放到通用寄存器时,它是直接存放于寄存器中的,所以无论是mov数据到哪个寄存器,他都会直接改变,直接把需要赋值的值赋上去,不需要考虑什么东西,同时如果只赋值高位寄存器或者低位寄存器,那么就只改变相应的寄存器
而如果是添加的就不一样了,在原有的基础上相加,是不能影响到相应的高位寄存器或低位寄存器:
如上图,最后一个命令是对AX中的AL寄存器再相加00C5H,按道理来说,其实最后的值应该是0158H,但是其实不是,最后正确的值应该是0058H,因为他只是对AL寄存器相加,不能影响到AH寄存器。
所以,对高位寄存器改变相加,最后的值不能改变低位寄存器的值,对低位寄存器相加也是如此,二者彼此独立,不能看作一个整体