(-)通用寄存器 1.数据寄存器 执行单元EU中有4个16位数据寄存器A、BX、CX和 DX每个数据寄存器分为高字节H和低字节L,它们均可作 为8位数据寄存独立寻址,独立使用。 数据寄存器是用在算术运算或逻辑运算指令中,用来进 行算术逻辑运算。在有些指令中它们则有特定的用途:如 AX作累加器;Bx作基址寄存器,在查表指令XLAT中存放 表的起始地址;CX作计数寄存器在使用带有重复前缀(如 REP)的数据串操作指令中用来存放数据串元素的个数 DX作数据寄存器在字的除法运算指令DV中存放余数。 这些寄存器在指令中的特定功能是被系统隐含使用的。 8086/8088 黴处理嚣及其系统
(一)通用寄存器 1.数据寄存器: 执行单元EU中有4个16位数据寄存器AX、BX、CX和 DX.每个数据寄存器分为高字节H和低字节L,它们均可作 为8位数据寄存器独立寻址,独立使用。 数据寄存器是用在算术运算或逻辑运算指令中,用来进 行算术逻辑运算。在有些指令中,它们则有特定的用途:如 AX作累加器;BX作基址寄存器, 在查表指令XLAT中存放 表的起始地址;CX作计数寄存器,在使用带有重复前缀(如 REP)的数据串操作指令中用来存放数据串元素的个数; DX作数据寄存器,在字的除法运算指令DIV中存放余数。 这些寄存器在指令中的特定功能是被系统隐含使用的
2指针寄存器和变址寄存器: 指针寄存器是指堆栈指针寄存器SP和堆栈基址指针寄 存器BP,简称为P组。变址寄存器是指源变址寄存器SI 和目的变址寄存器D简称为阻组。它们都是16位寄存器, 般用来存放偏移地址。 指针寄存器SP和BP都用来指示存取位于当前堆栈段 中的数据所在的地址,但SP和BP在使用上有区别。入栈 (PUSH和出栈(POP指令是由SP给出栈顶的偏移地址 故称为堆栈指针寄存器。而BP则是存放位于堆栈段中的 个数据区基地址的偏移地址,故称为堆栈基址指针寄 存器。显然,由SP所指定的堆栈存储区的栈顶和由BP所 指定的堆栈段中某一块数据区的首地址是两个不同的意 思不可混淆。 8086/8088 黴处理嚣及其系统
2.指针寄存器和变址寄存器: 指针寄存器是指堆栈指针寄存器SP和堆栈基址指针寄 存器BP,简称为P组。变址寄存器是指源变址寄存器SI 和目的变址寄存器DI,简称为I组。它们都是16位寄存器, 一般用来存放偏移地址。 指针寄存器SP和BP都用来指示存取位于当前堆栈段 中的数据所在的地址, 但SP和BP在使用上有区别。入栈 (PUSH)和出栈(POP)指令是由SP给出栈顶的偏移地址, 故称为堆栈指针寄存器。而BP则是存放位于堆栈段中的 一个数据区基地址的偏移地址,故称为堆栈基址指针寄 存器。显然,由SP所指定的堆栈存储区的栈顶和由BP所 指定的堆栈段中某一块数据区的首地址是两个不同的意 思,不可混淆
akenE 表3.1数据寄存器的隐含使用 寄存器 作寄存器换作 AX 字乘,字除,字I/0 CL多位移位和旋转 AL 字节乘,字节除,字节1O,转换,十进制运算DX字乘,字除,间接1O AH 字节乘,字节除 SP堆栈操作 BX 转换 St数据串操作 CX 数据串操作,循环 DI数据串操作 (二)段寄存器 8086/8088cPU有20条地址线,具有寻址1MB存 储空间。8086/8088指令中给出的地址码仅有16位 指针寄存器和变址寄存器也只有16位长,不能直接寻 址1MB大小的内存空间。 8086/8088 黴处理嚣及其系统
(二)段寄存器 8086/8088 CPU有20条地址线,具有寻址1MB存 储空间。8086/8088指令中给出的地址码仅有16位, 指针寄存器和变址寄存器也只有16位长,不能直接寻 址1MB大小的内存空间
在8086/8088cPU内部设计了一组16位的段寄存 器用这些段寄存器的内容作为段地址再由段寄存器左 移4位形成20位的段起始地址被称为段基地址或段基 址这样,8086/8088就有可能寻址1MB存储空间并 将其分成为若干个逻辑段,使每个逻辑段的长度为 64KB(它由16位的偏移地址限定)。 8086/8088c門U的BU中有4个16位段寄存器, 8086/8088的指令可以直接访问这4个段寄存器 8086/8088 黴处理嚣及其系统
在8086/8088CPU内部设计了一组16位的段寄存 器,用这些段寄存器的内容作为段地址,再由段寄存器左 移4位形成20位的段起始地址,被称为段基地址或段基 址;这样,8086/8088就有可能寻址1MB存储空间并 将其分成为若干个逻辑段,使每个逻辑段的长度为 64KB(它由16位的偏移地址限定)。 8086/8088CPU的BIU中有4个16位段寄存器, 8086/8088的指令可以直接访问这4个段寄存器
三)标志寄存器 8086/8088的16位标志寄存器F只用了其中的9位作 标志位,即6个状态标志位,3个控制标志位。 -FH Fl 15 ⊥ OF DFIF| TF SEZF AF P CF lckeneciise 图3.48086/8088的标志寄存器 AF( Auxiliary Carry Flag)辅助进位标志: 标志一般用在BCD码运算中作为是否需要对AL寄存器 进行十进制调整的依据。 zF( Zero Flag)零标志 零标志表示一个算术或逻辑操作的结果是否为零。若 当前的运算结果为零,zF为1;否则为0。 8086/8088 黴处理嚣及其系统
(三)标志寄存器 8086/8088的16位标志寄存器F只用了其中的9位作 标志位,即6个状态标志位,3个控制标志位。 AF(Auxiliary Carry Flag)辅助进位标志: 标志一般用在BCD码运算中作为是否需要对AL寄存器 进行十进制调整的依据。 ZF(Zero Flag)零标志: 零标志表示一个算术或逻辑操作的结果是否为零。若 当前的运算结果为零,ZF为1;否则为0