本章主要讲述了各种寄存器及其相应指令
2.1 通用寄存器
AX, BX, CX,DX这四个寄存器被称为通用寄存器,8086CPU所有寄存器均为16位。通用寄存器可以分为高位和低位两个寄存器。
即:AX 可分为 AH和AL, BX 可分为BH和BL, CX 可分为CH和CL, DX 可分为DH和DL。
2.2 字在寄存器中的存储
字节:byte, 一个字节由8个bit位组成
字:word, 一个字由两个字节组成, 分别称为高位字节和低位字节
2.3 几条汇编指令
汇编指令 | 控制CPU完成的操作 | 用高级语言的描述 |
mov ax, 18 | 将18送入寄存器AX | AX=18 |
mov ah, 78 | 将78送入寄存器AH | AH=78 |
add ax, 8 | 将寄存器AX中的数值加上8 | AX=AX+8 |
mov ax, bx | 将寄存器BX中的数据送入寄存器AX | AX=BX |
add ax, bx | 将AX和BX中数值相加,结果存放在AX中 | AX=AX+BX |
重点:若操作数为16进制, 需学习者掌握16进制加减法
2.4物理地址
每一个内存单元在存储的线性空间中都有唯一地址, 我们称这个唯一地址为物理地址
2.5 16位结构的CPU
16位结构的特性:8086内部, 能够一次性处理、传输、暂时存储的信息的最大长度是16位的。
2.6 8086CPU给出物理地址的方法
地址总线有20位,8086CPU内部用两个16位地址合成一个20位的物理地址
两个16位的地址一个称为段地址, 一个称为偏移地址
物理地址 = 段地址x16+偏移地址
CPU可以用多个段地址和偏移地址形成同一个物理地址
一个段最大的长度是2^16B即64KB(16位结构)
2.9 段寄存器
8086CPU有4个段寄存器:CS、DS、SS、ES,4个段寄存器提供内存单元的段地址。
2.10 CS和IP
任意时刻,设CS中的内容为M, IP中的内容为N,8086CPU将从Mx16+N单元开始, 读取一条指令并执行。
CPU将CS:IP指向的内容当作指令执行。
2.11 修改CS、IP的指令
(1)jmp 段地址:偏移地址
执行后:CS=段地址, IP=偏移地址
(2)jmp ax jmp bx
执行后: IP=ax, IP=bx
检测点2.2
(1)00010H, 1000FH
(2)1001H, 2000H