现代微机原理及接口技术 清华大学出版社 通用寄存器的特定用法 寄存器名称 寄存器含义 常用的操作功能 AX 16位累加器 字乘,字除,字IO处理 8位累加器 字节乘,字节除,字节ⅣO处理,査表转换,十进 制运算 AH 8位累加器 字节乘,字节除 BX 16位基址寄存器 查表转换 CX 16位计数寄存器 数据串操作指令,循环指令 CL 8位计数寄存器 变量移位,循环移位 DX 16位数据寄存器 字乘,字除,简介ⅣO处理 SP 16位堆栈指针寄存器堆栈操作 16位源变址寄存器 数据串操作指令 DI 16位目的变址寄存器数据串操作指令 2021年2月25日 第11页
现代微机原理及接口技术 清华大学出版社 2021年2月25日 第11页 通用寄存器的特定用法 寄存器名称 寄存器含义 常用的操作功能 AX 16位累加器 字乘,字除,字I/O处理 AL 8位累加器 字节乘,字节除,字节I/O处理,查表转换,十进 制运算 AH 8位累加器 字节乘,字节除 BX 16位基址寄存器 查表转换 CX 16位计数寄存器 数据串操作指令,循环指令 CL 8位计数寄存器 变量移位,循环移位 DX 16位数据寄存器 字乘,字除,简介I/O处理 SP 16位堆栈指针寄存器 堆栈操作 SI 16位源变址寄存器 数据串操作指令 DI 16位目的变址寄存器 数据串操作指令
现代微机原理及接口技术 清华大学出版社 段寄存器 8088/8086共有4个16位的段寄存器,用来存放每一个 逻辑段的段起始地址。 代码段寄存器cs( Code Segment):用来给出当前的代码段 起始地址,存放cPU可以执行的指令,CPU执行的指令将从代 码段取得。 数据段寄存器Ds( Data Segment):指向程序当前使用的数 据段,用来存放数据,包括参加运算的操作数和中间结果。 堆栈段寄存器Ss( Stack Segment):给出程序当前所使用的 堆栈段,即在存储器中开辟的堆栈区,堆栈操作的执行地址就 在该段 附加段寄存器Es( Extra Segment):指出程序当前所使用的 附加段,通常也用来存放数据,典型用法是存放处理以后的数 据 2021年2月25日 第12页
现代微机原理及接口技术 清华大学出版社 2021年2月25日 第12页 段寄存器 ⚫ 8088/8086共有4个16位的段寄存器,用来存放每一个 逻辑段的段起始地址。 – 代码段寄存器CS(Code Segment):用来给出当前的代码段 起始地址,存放CPU可以执行的指令,CPU执行的指令将从代 码段取得。 – 数据段寄存器DS(Data Segment):指向程序当前使用的数 据段,用来存放数据,包括参加运算的操作数和中间结果。 – 堆栈段寄存器SS(Stack Segment):给出程序当前所使用的 堆栈段,即在存储器中开辟的堆栈区,堆栈操作的执行地址就 在该段。 – 附加段寄存器ES(Extra Segment):指出程序当前所使用的 附加段,通常也用来存放数据,典型用法是存放处理以后的数 据
现代微机原理及接口技术 清华大学出版社 控制寄存器 ●指令指针寄存器|P P是一个16位的寄存器,存放EU要执行的下一条指 令的偏移地址,用以控制程序中指令的执行顺序 标志寄存器FLAG FLAG是一个16位的寄存器,共9个标志,其中6个用 做状态标志,3个用做控制标志 1312 6543 OF DF IF TF SF ZF AF CF 80888086徽处理器标志寄存器 2021年2月25日 第13页
现代微机原理及接口技术 清华大学出版社 2021年2月25日 第13页 控制寄存器 ⚫ 指令指针寄存器IP – IP是一个16位的寄存器,存放EU要执行的下一条指 令的偏移地址,用以控制程序中指令的执行顺序。 ⚫ 标志寄存器FLAG – FLAG是一个16位的寄存器,共9个标志,其中6个用 做状态标志,3个用做控制标志。 OF DF IF TF SF ZF AF PF CF 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 8088/8086微处理器标志寄存器
现代微机原理及接口技术 清华大学出版社 标志寄存器FLAG中标志位的含义、 特点及应用场合 标志类别 标志位 含义 特点 应用场合 进位标志 CF=1时,结果在最高位上 进位(加法)或用于加、减法运算,移位和循环指令也 (Carry Flag 借位(减法):CF=0时,则无进位或借位产生 能把存储器或寄存器中的最高位(左移) 或最低位(右移)移入CF位中 奇偶标志 F=1时,结果中有偶数个1:PF=0时,则表示结果 于检查在数据传送过程中是否发生错 Parity Flag) 中有奇数个1 AF 辅助进位标志AF=1时,结果的低4位产生了一个进位或借位 用于实现BCD码算术运算结果的调整 (Auxiliary Carry Flag) AF=0时,则无进位或借位 ZE 零标志 ZF=1时,运算结果位零:ZF=0时,则表示运算结果用于判断运算结果和进行控制转移 不为零 符号标志 SF=1时,运算结果为负数,即最高位为1:SF=0时, 于判断运算结果和进行控制转移 则表示运算结果为正数,即最高位为0 溢出标志 OF=1时,带符号数在进行算术运算时产生了算术溢用于判断运算结果的溢出情况 (Overflow Flag 出,即运算结果超出了带符号数所能表示的范E OF=0时,则无溢出 控 陷阱标志 若TF=1,则CPU处于单步工作方式,CP执行完一为了调试程序方便而设置的 制 (Trap Flag) 条指令就自动产生一个内部中断,转去执行一个中 标 断服务程序:若TF=0,CPU正常执行程序 中断允许标志 若IF=1,允许CPU接受外部从NTR引脚上发来的可控制可屏蔽中断的标志 (Interrupt Enable Flag) 屏蔽中断请求信号:若IF=0,则进制CPU接受可屏 蔽中断请求信号 DE 方向标志 若DF=1,字符串操作指令按递减的顺序从高地址到用于控制字符串操作指令的步进方向 (Direction Flag) 低地址的方向对字符串进行处理:若DF=0,字符串 操作指令按递增的顺序对字符串进行处理 2021年2月25日 第14页
现代微机原理及接口技术 清华大学出版社 2021年2月25日 第14页 标志寄存器FLAG中标志位的含义、 特点及应用场合 标志类别 标志位 含义 特点 应用场合 状 态 标 志 CF (Carry Flag) 进位标志 CF=1时,结果在最高位上产生一个进位(加法)或 借位(减法);CF=0时,则无进位或借位产生 用于加、减法运算,移位和循环指令也 能把存储器或寄存器中的最高位(左移) 或最低位(右移)移入CF位中 PF (Parity Flag) 奇偶标志 PF=1时,结果中有偶数个1;PF=0时,则表示结果 中有奇数个1。 用于检查在数据传送过程中是否发生错 误 AF (Auxiliary Carry Flag) 辅助进位标志 AF=1时,结果的低4位产生了一个进位或借位; AF=0时,则无进位或借位 用于实现BCD码算术运算结果的调整 ZF (Zero Flag) 零标志 ZF=1时,运算结果位零;ZF=0时,则表示运算结果 不为零 用于判断运算结果和进行控制转移 SF (Sign Flag) 符号标志 SF=1时,运算结果为负数,即最高位为1;SF=0时, 则表示运算结果为正数,即最高位为0 用于判断运算结果和进行控制转移 OF (Overflow Flag) 溢出标志 OF=1时,带符号数在进行算术运算时产生了算术溢 出,即运算结果超出了带符号数所能表示的范围; OF=0时,则无溢出 用于判断运算结果的溢出情况 控 制 标 志 TF (Trap Flag) 陷阱标志 若TF=1,则CPU处于单步工作方式,CPU执行完一 条指令就自动产生一个内部中断,转去执行一个中 断服务程序;若TF=0,CPU正常执行程序 为了调试程序方便而设置的 IF (Interrupt Enable Flag) 中断允许标志 若IF=1,允许CPU接受外部从INTR引脚上发来的可 屏蔽中断请求信号;若IF=0,则进制CPU接受可屏 蔽中断请求信号 控制可屏蔽中断的标志 DF (Direction Flag) 方向标志 若DF=1,字符串操作指令按递减的顺序从高地址到 低地址的方向对字符串进行处理;若DF=0,字符串 操作指令按递增的顺序对字符串进行处理 用于控制字符串操作指令的步进方向
现代微机原理及接口技术 清华大学出版社 2280888086存储器和MO组织 ●2218088/8086的存储器组织 ●2228088/8086的MO组织 2021年2月25日 第15页
现代微机原理及接口技术 清华大学出版社 2021年2月25日 第15页 2.2 8088/8086存储器和I/O组织 ⚫ 2.2.1 8088/8086的存储器组织 ⚫ 2.2.2 8088/8086的I/O组织