📜  8085微处理器中的标志寄存器

📅  最后修改于: 2021-06-28 15:42:51             🧑  作者: Mango

先决条件– 8085微处理器的寄存器
标志寄存器是专用寄存器。根据进行任何算术和逻辑运算后的结果值,标志位将被置1(1)或复位(0)。在8085微处理器中,标志寄存器由8位组成,只有5位是有用的。

5个标志是:

  1. 符号标志(S)–在任何操作之后,如果结果的MSB(B(7))为1,则表示数字为负,并且标志标志被置位,即1。如果MSB为0,则表示数字为正,符号标志变为重置,即0。
    从00H到7F,符号标志为0
    从80H到FF,符号标记为1

    1- 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是一个正数。

  2. 零标记(Z)–在任何算术或逻辑运算之后,如果结果为0(00)H,则零标记将置位,即1,否则将重置,即0。
    00H零标志为1。
    从01H到FFH零标志为0

    1-零结果
    0-非零结果

    例子:

    MVI A 10(在寄存器A中加载10H)
    SUB A(A = A – A)
    这些指令集会将零标志设置为1,因为10H – 10H为00H

  3. 辅助进位标志(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的加法将产生进位。

  4. 奇偶校验标志(P)–如果在进行任何算术或逻辑运算后结果均具有偶数奇偶校验(即1位的偶数),则奇偶校验寄存器将被置1,即设置为1,否则将重置为0。

    1个累加器的偶数为1位
    0累加器具有奇偶校验

    例子:

    MVI A 05(在寄存器A中加载05H)
    该指令会将奇偶校验标志设置为1,因为05H的BCD码为00000101,其中包含偶数个即2。

  5. 进位标志(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不会产生任何进位/借位。