先决条件– 8085微处理器的寄存器
标志寄存器是专用寄存器。根据进行任何算术和逻辑运算后的结果值,标志位将被置1(1)或复位(0)。在8085微处理器中,标志寄存器由8位组成,只有5位是有用的。
5个标志是:
- 符号标志(S)–在任何操作之后,如果结果的MSB(B(7))为1,则表示数字为负,并且标志标志被置位,即1。如果MSB为0,则表示数字为正,符号标志变为重置,即0。
从00H到7F,符号标志为0
从80H到FF,符号标记为11- MSB为1(负)
0- MSB为0(正)例子:
MVI A 30(在寄存器A中加载30H)
MVI B 40(在寄存器B中加载40H)
SUB B(A = A – B)
这些指令集会将符号标志设置为1,因为30 – 40是负数。MVI A 40(在寄存器A中加载40H)
MVI B 30(在寄存器B中加载30H)
SUB B(A = A – B)
这些指令集会将符号标志重置为0,因为40 – 30是一个正数。 - 零标记(Z)–在任何算术或逻辑运算之后,如果结果为0(00)H,则零标记将置位,即1,否则将重置,即0。
00H零标志为1。
从01H到FFH零标志为01-零结果
0-非零结果例子:
MVI A 10(在寄存器A中加载10H)
SUB A(A = A – A)
这些指令集会将零标志设置为1,因为10H – 10H为00H - 辅助进位标志(AC)–此标志用于BCD编号系统(0-9)。如果在进行任何算术或逻辑运算后,D(3)产生任何进位并传递到B(4),则该标志置位,即为1,否则它复位,即为0。这是程序员唯一无法访问的标志寄存器
1在加法时从第3位执行,或在减法时借入到第3位
0否则例子:
MOV A 2B(将2BH加载到寄存器A中)
MOV B 39(在寄存器B中加载39H)
加B(A = A + B)
这些指令集会将辅助进位标志设置为1,因为加2B和39时,低位半字节B和9的加法将产生进位。 - 奇偶校验标志(P)–如果在进行任何算术或逻辑运算后结果均具有偶数奇偶校验(即1位的偶数),则奇偶校验寄存器将被置1,即设置为1,否则将重置为0。
1个累加器的偶数为1位
0累加器具有奇偶校验例子:
MVI A 05(在寄存器A中加载05H)
该指令会将奇偶校验标志设置为1,因为05H的BCD码为00000101,其中包含偶数个即2。 - 进位标志(CY)–执行n位操作时会产生进位,结果大于n位,则该标志置1,即置1,否则复位即0。
在减法(AB)期间,如果A> B会重置,如果(A 进位标志也称为借位标志。1在加法时从MSB位执行,或在减法时借入MSB位
0-不执行或借用MSB位例子:
MVI A 30(在寄存器A中加载30H)
MVI B 40(在寄存器B中加载40H)
SUB B(A = A – B)
这些指令集会将进位标志设置为1,因为30 – 40会产生进位/借位。MVI A 40(在寄存器A中加载40H)
MVI B 30(在寄存器B中加载30H)
SUB B(A = A – B)
这些指令集会将符号标志重置为0,因为40 – 30不会产生任何进位/借位。