汇编指令
一些汇编指令的概述。
MOV
MOV 寄存器,数据
MOV 寄存器,寄存器
MOV 寄存器,内存单元(偏移地址)
MOV 内存单元(偏移地址),寄存器
在3和4中,仅提供构成地址的偏移地址,而段地址自动从寄存器DS中获得。
数据不能直接MOV到SS, DS等段寄存器中,需要使用通用寄存器进行中转。 这样做是一个设计问题,至于原因有各种猜测,比较可能的一个是为了节省指令空间。
PUSH POP
8086CPU的入栈和出栈操作都是以字为单位进行,在存放的时候需要两个储存单元。由于栈是从高位地址向地位生成,所以高位地址存放高8位,地位地址存放低8位。 栈顶由SS:SP构成的地址决定,指向的位置是有数据的(先+2再PUSH数据)。在8086中不对栈顶越界进行任何的判断和处理,对于栈空间的管控要自己做。 注意后进先出(LIFO)的特性。
命令主要形式:
1. PUSH/POP 寄存器
2. PUSH/POP 段寄存器
3. PUSH/POP 内存单元(偏移地址)
注意:对内存单元进行操作的时候,还是以字为单位进行的。 PUSH/POP等栈操作改变的只是SP,因此栈的最大变化范围为0~FFFFH
INC/DEC
INC
/DEC
为加1/减一指令,用来实现自增和自减操作。
其他编程注意点
在汇编原程序中,数据不能以字母开头,不然在前面补充一个0。
Last updated
Was this helpful?