📜  比较8085中的说明

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

COMPARE是在8085微处理器中广泛使用的重要指令。 8085指令集具有两种比较操作类型:与累加器比较(CMP)和立即与累加器比较(CPI)。

微处理器通过从(A)中减去数据字节来将数据字节(或寄存器/存储器内容)与累加器的内容进行比较,并通过修改来指示该数据字节是否小于,大于或等于累加器的内容旗帜。但是,内容不会被修改。以下部分简要说明了这两种类型的COMPARE指令:

  1. 与累加器(CMP R / M)比较(寄存器或存储器)–
    这是一个1字节的指令。它将寄存器或存储器中的数据字节与累加器的内容进行比较。
    1. 如果A小于(R / M),则设置CY标志,并将零标志复位。
    2. 如果A等于(R / M),则置零标志,并重置CY标志。
    3. 如果A大于(R / M),则CY和零标志复位。

    当内存是操作数时,其地址由HL对指定。没有内容被修改;但是,所有剩余的标志(S,P,AC)都会根据相减的结果受到影响。

    例子:
    设寄存器B包含数据字节62H,累加器A包含57H。然后,

    Instruction- CMP B
    Before execution: A = 57, B = 62
    After execution: A = 57, B = 62   

    标志:由于A小于B,因此CY被设置并且Z标志被复位。

    CY=1, Z=0 
  2. 将立即数与累加器(CPI 8位)进行比较–
    这是一个2字节的指令,第二个字节是8位数据。它将第二个字节与累加器的内容进行比较。
    1. 如果A小于8位数据,则设置CY标志,并将零标志复位。
    2. 如果A等于8位数据,则置零标志,并复位CY标志。
    3. 如果A大于8位数据,则CY和零标志复位。

    没有内容被修改;但是,所有剩余的标志(S,P,AC)都会根据相减的结果受到影响。

    例子:
    让累加器A包含C2H。然后,

    Instruction- CPI C2H
    Before execution: A = C2, B = C2
    After execution: A = C2, B = C2  

    标志:由于A等于数据字节,因此置Z并复位CY标志。

    CY=0, Z=1