标志寄存器FR 151413121110 9 8 7 654 32 1 0 OF DF IF TF SF ZF AF PF CF 状态标志 在执行后决定算术逻辑部件ALU的状态,会影响后面的操作。 控制标志 人为指令设置的,对特定的功能起控制作用。 CF 进位标志 加法运算:进位/减法运算:借位/循环指令。 奇偶标志 运算结果的低8位中所含1的个数为偶数。 状态标志 F 辅助进位标志 低四位是否有半进位,即低四位有否进位/借位。 零标志 当前运算结果为零。 SF 符号标志 与运算结果最高位相同,表示运算执行结果的符号。 OF 溢出标志 运算过程中产生溢出。 控制标志 TF 跟踪标志 CPU按跟踪方式执行指令。 IF 中断标志 0:CPU不响应可屏蔽中断/1:响应可屏蔽中断。 DF 方向标志 0:串操作地址增加/1:串操作地址减少。 【第二章】微处理器 6
标志寄存器FR 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 OF DF IF TF SF ZF AF PF CF 状态标志—— 在执行后决定算术逻辑部件ALU的状态,会影响后面的操作。 控制 志 人为指令 的 对特定的功能 控制作 CF 进位标志 加法运算:进位/减法运算:借位/循环指令。 控制标志—— 人为指令设置的,对特定的功能起控制作用。 PF 奇偶标志 运算结果的低8位中所含1的个数为偶数。 AF 辅助进位标志 低四位是否有半进位,即低四位有否进位/借位。 ZF 零标志 当前运算结果为零 状 态 标 ZF 零标志 当前运算结果为零。 SF 符号标志 与运算结果最高位相同,表示运算执行结果的符号。 OF 溢出标志 运算过程中产生溢出 标 志 TF 跟踪标志 CPU按跟踪方式执行指令。 IF 中断标志 0:CPU不响应可屏蔽中断/1:响应可屏蔽中断。 OF 溢出标志 运算过程中产生溢出。 控 制 标 【第二章】微处理器 6 中断标志 不响应可屏蔽中断/ 响应可屏蔽中断。 DF 方向标志 0:串操作地址增加/1:串操作地址减少。 标 志
存储器结构 8086系统中存储器按字节编址,可寻址空间为1M(220)字节,每个字节对应的地址 为20位二进制数,称为物理地址; 存储空间分成若干个逻辑段, 每个逻辑段≤64K字节,可分成16个逻辑段(0-15)。 00000 允许逻辑段在整个存储空间 64K字节 0段 浮动,即段与段之间可以部 OFFFF 10000 分重叠、完全重叠、连续排 64K字节 1段 逻辑段0 列、断续排列,整个存储空 1FFFF 间可设置若干个逻辑段。 罗温F几1 467AE 逻辑段2 对于任何一个物理地址,只 要有段基址和段内偏移地址 逻辑段3 就可以确定。 F0000 64K字节 15段 FFFFF : 【第二章】微处理器 7
存储器结构 ——8086系统中存储器按字节编址,可寻址空间为1M(220)字节,每个字节对应的地址 为20位 进制数 二 ,称为 物 地理 址 ; ——存储空间分成若干个逻辑段,每个逻辑段≤64K字节,可分成16个逻辑段(0-15)。 0 段 00000 0FFFF 10000 64K字节 … 逻辑段 允许逻辑段在整个存储空间 浮动,即段与段之间可以部 分重叠、完全重叠、连续排 1 段 … 10000 1FFFF 64K字节 逻辑段0 逻辑段1 列、断续排列,整个存储空 间可设置若干个逻辑段。 … … 逻辑段2 对于任何一个物理地址,只 要有段基址和段内偏移地址 467AE 15 段 F0000 64K字节 逻辑段3 就可以确定。 【第二章】微处理器 7 15 段 FFFFF …
物理地址和逻辑地址 00000 段基址 物理地址是实际地址, 16字节的存储空间称为 2000 具有20位的地址值, 物理地址 一节,逻辑段应从节的 22200 是唯一标识1M字节存 2200偏移地址 整数边界开始,即段首 储空间的某个字节的 1M 物理地址的低4位为 地址。 逻辑段 “0”,取高16位称段 逻辑地址由16位的段 基址,放在段寄存器DS、 基址和16位的偏移地 CS、SS或ES中。段内的 偏移地址放在IP或SP中。 址组成。 物理地址=段基址×16+偏移地址 例:代码段寄存器CS=2000H,指令指针寄存器存放的偏移地址P=1300H, 求该字节的物理地址。 21300H 2000H ×16+ 1300H 【第二章】微处理器
物理地址和逻辑地址 物理地址是实际地址, …16字节的存储空间称为 00000 物理地址 2000 0 段基址 具有20位的地址值, 是唯一标识1M字节存 储空间的某个字节的 一节,逻辑段应从节的 整数边界开始,即段首 物理地址的低4位为 高 位称 物理地址 22200 2000 0 2200偏移地址 1M 地址。 逻辑地址由16位的段 基址和16位的偏移地 逻辑段 … “0”,取高16位称段 基址,放在段寄存器DS、 CS、SS或ES中。段内的 偏移地址放在IP 或SP 中 1M 基址和16位的偏移地 址组成。 …偏移地址放在IP 或SP 中 。 物理地址 = 段基址 × 16 + 偏移地址 例:代码段寄存器CS 2000H = ,指令指针寄存器存放的偏移地址 指令指针寄存器存放的偏移地址IP 1300H = , 求该字节的物理地址。 21300H = 2000H × 16 + 1300H 【第二章】微处理器 8
逻辑段物理地址计算方式 IP CS 代码段 SI、DI或BX 数据段 DS SP或BP 堆栈段 SS 【第二章】微处理器 9
逻辑段物理地址计算方式 【第二章】微处理器 9
8086的/O编址 ◆8086和外部设备之间是通过/O芯片联系的,每个/O芯片都有一个或几 个端口,一个端口往往又对应了芯片内部的一个或一组寄存器。系统为每 个端口分配一个地址,即端口号。 ◆8086允许有64K个8位的/0端口,两个编号相邻的8位端☐可组成一个 16位端口。指令系统中有访问8位和16位端☐的输入输出指令。 ◆CPU执行输入(N)和输出(OUT)指令时,硬件电路会产生有效的RD和 WF信号,同时使M/ō信号处于低电平,通过外部电路的逻辑组合产生对 /O端口的读写信号。 ◆系统设计时,也可将/O端口和存储器统一编址,这样可采用储存器读写 指令的多种寻址方式、灵活性好,功能强。但要从硬件上保证读写/O端口 时M/而为低电平。 【第二章】微处理器 10
8086的I/O编址 8086和外部设备之间是通 和外部设备之间是通过I/O芯片联系的,每个I/O芯片都有 个或几 一 个端口,一个端口往往又对应了芯片内部的一个或一组寄存器。系统为每 个端口分配一个地址,即端口号。 8086允许有64K个8位的I/O端口,两个编号相邻的8位端口可组成一个 16位端口。指令系统中有访问 指令系统中有访问8位和16位端口的输入输出指令 位端口的输入输出指令。 CPU执行输入(IN)和输出(OUT)指令时,硬件电路会产生有效的RD和 WR信号,同时使M/IO信号处于低电平,通过外部电路的逻辑组合产生对 通过外部电路的逻辑组合产生对 I/O端口的读写信号。 系统设计时,也可将I/O端口和存储器统 编址 端口和存储器统一编址,这样可采用储存器读写 这样可采用储存器读写 指令的多种寻址方式、灵活性好,功能强。但要从硬件上保证读写I/O端口 时M/IO为低电平 【第二章】微处理器 10