算术操作类指令

算术操作类指令

一、加法指令

1、不带进位Cy加法指令

ADD ARn

    指令名称:寄存器加法指令

    指令代码:28H2FH

    指令功能:累加器内容与寄存器内容相加

    操作内容:A(A)+(Rn) n07

    字节数: 1

    机器周期;1

    影响标志位:CACOV

    说明:

    Rn——当前选择的寄存器区的寄存器R0R7

举例:

假如累加器A的内容是44H,寄存器R0的内容是11H,在执行指令ADD AR0之后,累加器A的内容将是55H

ADD Adirect

    指令名称:直接寻址加法指令

    指令代码:25H

    指令功能:累加器内容与内部RAM单元或专用寄存器内容相加

    操作内容:A(A)+(direct)

    字节数: 2

    机器周期:1

    影响标志位:CACOV

    说明:

    direct——8位内部数据存储器地址。可以直接访问数据RAM地址(0x000x7F)或一个SFR地址(0x800xFF)。

举例:

假如累加器A的内容是A0H,存储器2323H单元的内容是字节08H,在执行指令ADD A2323H之后,累加器A的内容将为A8H

ADD A,@Ri ’

    指令名称:间接寻址不带进位加法指令

    指令代码:26H27H

    指令功能:累加器A内容与内部RAM128单元内容相加,接果在累加器A

    操作内容:A(A)+((Ri)) i01

    字节数: 1

    机器周期:1

    影响标志位:CACOV

    说明:

    @Ri——通过寄存器R0R1间接寻址地数据RAM地址。

举例:

假如累加器A的内容是85H,寄存器R0中存放的数是30H,在片内RAM地址为30H单元里的内容是11H,在执行ADD A, @R0之后,累加器A的容将是96H

ADD A#data

    指令名称:立即数加法指令

    指令代码:24H

    指令功能:累加器内容与立即数相加

    操作内容:A(A)+data

    字节数: 2

    机器周期:1

    影响标志位:CACOV

说明:

    #data——8位立即数。

举例:

假如累加器A的内容是23H,在执行指令ADD A#33H之后,累加器A的内容将是56H

2、带进位Cy加法指令

ADDC ARn

    指令名称:寄存器带进位加法指令

    指令代码:38H3FH

    指令功能:累加器内容、寄存器内容和进位位相加

    操作内容:A(A)+(Rn)+(Cy) n07

    字节数: 1

    机器周期:1

    影响标志位:CACOV

    说明:

    Rn——当前选择的寄存器区的寄存器R0R7

举例:

假如累加器A的内容是44H,寄存器R0的内容是11H,进位标志位C=1,在执行指令ADDC AR0之后,累加器A的内容将是56H

ADDC Adirect

    指令名称:直接寻址带进位加法指令

    指令代码:35H

    指令功能:累加器内容、内部RAM128单元或专用寄存器内容与进位位加

    操作内容:A(A)+(direct)+(C)

    字节数: 2

    机器周期:1

    影响标志位:CACOV

    说明:

    direct——8位内部数据存储器地址。可以直接访问数据RAM地址(0x000x7F)或一个SFR地址(0x800xFF)。

举例:

假如累加器A的内容是A0H,存储器23H单元的内容是字节08H,进位标志位C1,在执行指令ADD A 23H之后,累加器A的内容将为A9H

ADDC A,@Ri

    指令名称:间接寻址带进位加法指令

    指令代码:36H37H

    指令功能:累加器内容、内部RAM128单元内容及进位位C相加

    操作内容:A(A)+((Ri))+(C) i01

    字节数: 1

    机器周期:1

    影响标志位:CACOV

    说明:

    @Ri——通过寄存器R0R1间接寻址地数据RAM地址。

举例:

假如累加器A的内容是85H,寄存器R0中存放的数是30H,在片内RAM地址为30H单元里的内容是11H,进位标志位C1,在执行ADDC A, @R0之后,累加器A的容将是97H

ADDC A#data

    指令名称:立即数带进位加法指令

    指令代码:34H

    指令功能:累加器内容、立即数及进位位相加

    操作内容:A(A)+data+(C)

    字节数: 2

    机器周期:1

    影响标志位:CACOV

    说明:

    #data——8位立即数。

举例:

假如累加器A的内容是23H,进位标志位C1,在执行指令ADDC A#33H之后,累加器的内容将是57H

3、加1指令(又称增量指令)

INC A

    指令名称:累加器加1指令

    指令代码:04H

    指令功能:累加器内容加1

    操作内容:A(A)+1

    字节数: 1

    机器周期:1

影响标志位:累加器中8个位的和为奇数时该位置1,为偶数时该位清0

举例:

假如累加器A中的内容是24H,在执行指令INC A之后,累加器中的内容将是25H

INC Rn

    指令名称:寄存器加1指令

    指令代码:08H0FH

    指令功能:寄存器内容加1

    操作内容:Rn(Rn)+1n07

    字节数: 1

    机器周期:1

影响标志位:标志位不受引响。

    说明:

    Rn——当前选择的寄存器区的寄存器R0R7

举例:

假如寄存器R0中的内容是24H,在执行指令INC A之后,寄存器R0中的内容将是25H

1INC direct

    指令名称:直接寻址单元加1指令

    指令代码:05H

    指令功能:内部BAM128单元或专用寄存器内容加1

    操作内容:direct(direct)+1

    字节数: 2

机器周期:1

影响标志位:标志位不受引响。

    说明:

    direct——8位内部数据存储器地址。可以直接访问数据RAM地址(0x000x7F)或一个SFR地址(0x800xFF)。

举例:

假如内部RAM地址单元56H中的内容是#24H,在执行指令INC 56H之后,RAM地址单元56H中的内容将是#25H

1INC Ri

    指令名称:间接寻址单元加1指令

    指令代码:06H07H

    指令功能:内部RAM128单元内容加1

    操作内容:(Ri)((Ri))+1i0l

    字节数: 1

机器周期:1

影响标志位:标志位不受引响。

    说明:

    @Ri——通过寄存器R0R1间接寻址地数据RAM地址。

举例:

寄存器R0中存放的数是30H,在片内RAM地址为30H单元里的内容是11H,在执行INC  @R0之后,RAM地址为30H单元里的内容是12H

1INC DPTR

    指令名称:16位数据指针加1指令

    指令代码:A3H

    指令功能:数据指针寄存器DPTR内容加1

    操作内容:DPTR(DPTR)+1

    字节数: 1

    机器周期:2

影响标志位:标志位不受引响。

    说明:

    DPTR——是一个16位的数据指针寄存器,可以用来存放片内ROM的地址,也可以用来存放片外RAM和片外ROM的地址。

举例:

假如16位地址指针寄存器的内容是2323H,片外RAM地址2323H中的内容是#78H,在执行INC DPTR指令之后,片外RAM地址2323H中的内容将是#79H

二、减法指令

1、带进位Cy减法指令

SUBB ARn

    指令名称:寄存器寻址带进位减法指令

    指令代码:98H9FH

    指令功能:累加器内容减寄存器内容和进位标志位内容

    操作内容:A(A)-(Rn)-(C) n07

    字节数: 1

    机器周期:1

    影响标志位:当够减时,进位标志位复位;不够减时,进位标志置位。当位3发生借位时,AC置位;否则AC复位。当位6及位7不同时发生借位时,OV置位;否则OV复位。

    说明:

    Rn——当前选择的寄存器区的寄存器R0R7

举例:

假如累加器A的内容是44H,寄存器R0的内容是11H,进位标志位C=1,在执行指令SUBB AR0之后,累加器A的内容将是32H

SUBB Adirect

    指令名称:直接寻址带进位减法指令

    指令代码:95H

    指令功能:累加器内容减内部RAM128单元或专用寄存器和进位标志位内容

    操作内容:A(A)-(diret)-(C)

    字节数: 2

    机器周期:1

    影响标志位:当够减时,进位标志位复位;不够减时,进位标志置位。当位3发生借位时,AC置位;否则AC复位。当位6及位7不同时发生借位时,OV置位;否则OV复位。(序号97)

    说明:

    direct——8位内部数据存储器地址。可以直接访问数据RAM地址(0x000x7F)或一个SFR地址(0x800xFF)。

举例:

假如累加器A的内容是19H,存储器23H单元的内容是字节06H,进位标志位C1,在执行指令SUBB A 23H之后,累加器A的内容将为12H

SUBB A,@Ri

    指令名称:间接寻址带进位减法指令

    指令代码:96H97H

    指令功能:累加器内容减内部RAM128单元内容及进位标志位内容

    操作内容:A(A)-((Ri))-(C)i01

    字节数: 1

    机器周期:1

    影响标志位:当够减时,进位标志位复位;不够减时,进位标志置位。当位3发生借位时,AC置位;否则AC复位。当位6及位7不同时发生借位时,OV置位;否则OV复位。(序号97)

    说明:

    @Ri——通过寄存器R0R1间接寻址地数据RAM地址。

举例:

假如累加器A的内容是85H,寄存器R0中存放的数是30H,在片内RAM地址为30H单元里的内容是11H,进位标志位C1,在执行SUBB A, @R0之后,累加器A的容将是73H

SUBB A#data

    指令名称:立即数带进位减法指令

    指令代码:94H

    指令功能:累加器内容减立即数及进位标志内容

    操作内容:A(A)-data-(C)

    字节数: 2

    机器周期:1

    影响标志位:当够减时,进位标志位复位;不够减时,进位标志置位。当位3发生借位时,AC置位;否则AC复位。当位6及位7不同时发生借位时,OV置位;否则OV复位。(序号97)

    说明:

    #data——8位立即数。

举例:

假如累加器A的内容是56H,进位标志位C1,在执行指令ADDC A#23H之后,累加器的内容将是32H

2、减1指令

DEC A

    指令名称:累加器减1指令

    指令代码:14H

    指令功能:累加器内容减1

    操作内容:A(A)-1

    字节数: 1

    机器周期:1

影响标志位:累加器中8个位的和为奇数时该位置1,为偶数时该位清0

举例:

假如累加器A中的内容是24H,在执行指令DEC A之后,累加器中的内容将是23H

DEC Rn

    指令名称:寄存器减1指令

    指令代码:18H1FH

    指令功能:寄存器内容减1

    操作内容:Rn(Rn)-1n07

    字节数: 1

    机器周期:1

影响标志位:标志位不受引响。

    说明:

    Rn——当前选择的寄存器区的寄存器R0R7

举例:

假如寄存器R0中的内容是24H,在执行指令DEC A之后,寄存器R0中的内容将是23H

DEC direct

    指令名称:直接寻址减1指令

    指令代码:15H

    指令功能:内部RAM128单元及专用寄存器内容减1

    操作内容:direct(direct)-1

    字节数: 2

    机器周期:1

影响标志位:标志位不受引响。

    说明:

    direct——8位内部数据存储器地址。可以直接访问数据RAM地址(0x000x7F)或一个SFR地址(0x800xFF)。

举例:

假如内部RAM地址单元56H中的内容是#24H,在执行指令DEC 56H之后,RAM地址单元56H中的内容将是#23H

DEC Ri

    指令名称:间接寻址减1指令

    指令代码:16H17H

    指令功能:内部RAM128单元内容减1

    操作内容:(Ri)((Ri))-1 i01

    字节数: 1

    机器周期:1

影响标志位:标志位不受引响。

    说明:

    @Ri——通过寄存器R0R1间接寻址地数据RAM地址。

举例:

假如寄存器R0中存放的数是30H,在片内RAM地址为30H单元里的内容是#11H,在执行DEC  @R0之后,RAM地址为30H单元里的内容将是#10H

三、乘/除法指令

MUL AB

    指令名称:乘法指令

    指令代码:A4H

    指令功能:实现8位无符号数乘法运算。两个乘数分别放在累加器A和寄存器B中。乘积为16位,低8位在B中,高8位在A中。

    操作内容:AB(A)×(B)

    字节数: 1

    机器周期:4

    影响标志位:进位标志复位。若乘积大于255,则OV标志置位;否则复位。标志位P仍由累加器A1的奇偶性确定。

DIV AB

    指令名称:无符号数除法指令

    指令代码:84H

    指令功能:A的内容被B的内容除。指令执行后,商存于A中,余数存于B中。

    操作内容:A(A)(B)的商

    B(A)(B)的余数

    字节数: 1

    机器周期:4

    影响标志位:C被清0;若B00H,除法无法进行,并使OV1;否则OV0。标志位P仍由累加器A1的奇偶性确定。

四、十进制调整指令

DA A

    指令名称:十进制调整指令

    指令代码:D4H

    指令功能:对BCD码加法运算的结果进行有条件的修正

    操作内容:若(A)309(AC)1,则A30(A)30+6

    (A)749(C)1,则A74(A)74+6

    (A)749(A)309,则A74(A)74+6

    字节数: 1

    机器周期:1

    使用说明:DA指令不影响溢出标志

你可能感兴趣的:(电子技术)