第2章80x86微处理器程序有时需对上次指令执行的结果作出判断以决定执行的方向,为此8086/8088设置了一个16位的标志寄存器FLAGS,其中6位作为指令执行结果的状态标志,3位用作控制标志,即8086/8088的标志寄存器不仅用来标志结果的状态,还可用作控制某些操作。8086/8088标志寄存器FLAGS6515 14 13 12 11109832CPH11
11 第2章 80x86微处理器 8086/8088标志寄存器FLAGS 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 ◼ 程序有时需对上次指令执行的结果作出判断以决定执行的 方向,为此8086/8088设置了一个16位的标志寄存器FLAGS, 其中6位作为指令执行结果的状态标志,3位用作控制标志, 即8086/8088的标志寄存器不仅用来标志结果的状态,还可用 作控制某些操作
第2章80x86微处理器(1)状态标志位CF一一第o位,进位标志(CarryFlag)。如果算术指令执行完后,最高位产生进位或借位,则CF=1,否则CF=0。CF还可保存移位或循环移位时移出的一位值,也可给出比较操作的结果,也可作为乘法结果的指示器。PF一第2位,奇偶标志(ParityFlag)。当运算结果的低8位含有偶数个1时,PF=1,否则PF=0,这个标志多用于数据传输中。■AF一—第4位,辅助进位标志(AuxiliaryCarryFlag)。当加减运算时低4位(第3位)产生进位或借位时,AF=1,否则AF=0,这个标志多用于压缩的十进制数调整。■ZF一一第6位,零标志(ZeroFlag)。当运算结果为零时,ZF=1,结果非零,则ZF=0。■SF一第7位,符号标志(SignFlag)。对带符号的数操作时,若结果为负,则SF-1,否则为0,当算术、逻辑、移位或循环移位操作时,都将影响此位。■OF一一第11位,溢出标志(OverflowFlag)。当带符号数进行算术运算时结果溢出,则OF=1,否则为0,它用作错误指示标志。12
12 (1) 状态标志位 ◼ CF——第0位,进位标志(Carry Flag)。如果算术指令执行完后,最 高位产生进位或借位,则CF=1,否则CF=0。CF还可保存移位或循 环移位时移出的一位值,也可给出比较操作的结果,也可作为乘法 结果的指示器。 ◼ PF——第2位,奇偶标志(Parity Flag)。当运算结果的低8位含有偶数 个1时,PF=1,否则PF=0,这个标志多用于数据传输中。 ◼ AF——第4位,辅助进位标志(Auxiliary Carry Flag)。当加减运算时, 低4位(第3位)产生进位或借位时,AF=1,否则AF=0,这个标志多用 于压缩的十进制数调整。 ◼ ZF——第6位,零标志(Zero Flag)。当运算结果为零时,ZF=1,结 果非零,则ZF=0。 ◼ SF——第7位,符号标志(Sign Flag)。对带符号的数操作时,若结果 为负,则SF=1,否则为0,当算术、逻辑、移位或循环移位操作时, 都将影响此位。 ◼ OF——第11位,溢出标志(Overflow Flag)。当带符号数进行算术运 算时结果溢出,则OF=1,否则为0,它用作错误指示标志。 第2章 80x86微处理器
第2章80x86微处理器(2)控制标志位TF第8位,陷阱标志(TrapFlag)。当置1时,则8086/8088处于单步执行指令方式,每执行一条指令,自动产生陷阱(单步中断INT1)。IF第9位,中断允许标志(InterruptEnableFlag)。当用指令置为1时,则充许8088响应可屏蔽中断请求,若为0时,则禁止响应可屏蔽中断请求。(CLI一清0,STI一置1)DF第10位,方向标志(DirectionFlag)。可用指令预置。当DF=0时,执行串操作指令后,变址寄存器自动递增,当DF-1时,则动递减。即该标志可控制地址朝增加的方向或减少的方向改变。(CLD一地址递增,STD一地址递减)13
13 (2) 控制标志位 ◼ TF 第8位,陷阱标志(Trap Flag) 。当置1时,则8086/8088处于单步 执行指令方式,每执行一条指令,自动产生陷阱(单步中断INT 1)。 ◼ IF 第9位,中断允许标志(Interrupt Enable Flag) 。当用指令置为1时, 则允许8088响应可屏蔽中断请求,若为0时,则禁止响应可屏蔽中断 请求。(CLI—清0,STI—置1) ◼ DF 第10位,方向标志(Direction Flag) 。可用指令预置。当DF=0时, 执行串操作指令后,变址寄存器自动递增,当DF=1时,则动递减。 即该标志可控制地址朝增加的方向或减少的方向改变。 (CLD—地址递增,STD—地址递减) 第2章 80x86微处理器
第2章80x86微处理器2.1.3引脚信号及功能1.8086CPU2.8088CPU8086/8088CPU是40引脚的双列直插式芯片,微处理器通过这些引脚可以和存储器、I/O接口、外部控制器件以及其它微处理器相互交换信息。DIP(DualIn-linePackage)一双列直插式封装。插装型封装之一,引脚从封装两侧引出,封装材料有塑料和陶瓷两种。DIP是最普及的插装型封装,应用范围包括标准逻辑IC、存贮器LSI和微机电路等。引脚中心距2.54mm,引脚数从6到64。封装宽度通常为15.2mm。14
14 2.1.3 引脚信号及功能 1. 8086 CPU 2. 8088 CPU ◼ 8086/8088 CPU是40引脚的双列直插式芯片,微处理器通过这些引 脚可以和存储器、I/O接口、外部控制器件以及其它微处理器相互 交换信息。 ◼ DIP (Dual In-line Package)——双列直插式封装。插装型封装之 一,引脚从封装两侧引出,封装材料有塑料和陶瓷两种。DIP 是 最普及的插装型封装,应用范围包括标准逻辑IC、存贮器LSI和 微机电路等。引脚中心距2.54mm,引脚数从6 到64。封装宽度通 常为15.2mm。 第2章 80x86微处理器
8086/8088引脚信号GND40GND40Nee-Jec2323333343333354333A15AD14 A14+AD15A13AD13 *A16/S3+A16/S344A12*A17/S4AD12 A17/S455AllADi1A18/Ss*A18/Ss66A10AD10+A19/S6+A19/S6.7SS.AD,BHE/SAg88AsMN/MXAD8-MN/MX33399+RDAD7AD+RD808880861010AD6+HOLD(RQ/GT)AD6+HOLD(RQ/GT)30130320543211111ADs+HLDA(RQ/GT))ADs+HLDA(RQ/GT)中001212AD4+WR(LOCK)AD4+WR(LOCK)1313AD3+M/IO(S2)AD3+10/M (S2)0543214AD2+DT/R(S)AD214+DT/R(SI)1515AD1+DEN(S)AD+DEN(S)1616ADoADoALE(QSo)+ALE(QSo)1717NMI+INTA(QS)NMIINTA(QS)1818TESTTESTINTRINTR1919CLKREADYCLKREADY2020GNDRESETGNDRESET15
15 8086/8088引脚信号 1 40 2 39 3 38 4 37 5 36 6 35 7 34 8 33 9 32 10 31 11 30 12 29 13 28 14 27 15 26 16 25 17 24 18 23 19 22 20 21 8086 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND Vcc AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD(RQ/GT0 ) HLDA(RQ/GT1 ) WR(LOCK) M/IO(S2 ) DT/R(S1 ) DEN(S0 ) ALE(QS0 ) INTA(QS1 ) TEST READY RESET 1 40 2 39 3 38 4 37 5 36 6 35 7 34 8 33 9 32 10 31 11 30 12 29 13 28 14 27 15 26 16 25 17 24 18 23 19 22 20 21 8088 GND A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND Vcc A15 A16/S3 A17/S4 A18/S5 A19/S6 SS0 MN/MX RD HOLD(RQ/GT0 ) HLDA(RQ/GT1 ) WR(LOCK) IO/M (S2 ) DT/R(S1 ) DEN(S0 ) ALE(QS0 ) INTA(QS1 ) TEST READY RESET