8086CPU有14个寄存器,每个寄存器有一个名称。这些寄存器是:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW.
8086CPU的所有寄存器都是16位的,可以存放2个字节。AX,BX,CX,DX这4个寄存器通常用来存放一般性的数据,被称为通用寄存器。
-
8086CPU的上一代CPU中的寄存器都是8位的,为了保证兼容,8086CPU的AX,BX,CX,DX这4个寄存器都可分为两个可独立使用的8位寄存器来用:
- AX可分为AH和AL;
- BX可分为BH和BL;
- CX可分为CH和CL;
- DX可分为DH和DL;
字节:记为byte,一个字节由8个bit组成,可以存放在8位寄存器中。
字:记为word,一个字由两个字节组成,这两个字节分别称为这个字的高位字节和低位字节。
在写一条汇编指令或一个寄存器的名称时不区分大小写。如:mov ax,18和MOV AX,18含义完全相同;bx和BX的含义相同。
汇编指令 | 完成的操作 | 用高级语言的语法描述 |
---|---|---|
mov ax,18 | 将18送入寄存器AX | AX=18 |
add ax,8 | 将寄存器AX中的数值加上8 | AX=AX+8 |
- 在进行数据传送或运算时,要注意指令的两个操作对象的位数应当是一致的,例如:
- mov ax,bx
- mov ax,18H
- mov al,18H
- add ax,bx
等都是正确的指令,而:
- mov ax,bl
- mov bh,ax
- mov al,2000
- add al,100H
等都是错误的指令,错误的原因都是指令的两个操作对象的位数不一致。