您的位置:控制工程论坛网论坛 » 软件与程序 » MCS-51单片机实用子程序库 加减发

xilinxue

xilinxue   |   当前状态:在线

总积分:16186  2024年可用积分:0

注册时间: 2008-06-26

最后登录时间: 2020-03-22

空间 发短消息加为好友

MCS-51单片机实用子程序库 加减发

xilinxue  发表于 2009/2/10 13:02:35      1457 查看 5 回复  [上一主题]  [下一主题]

手机阅读

;N字节无符号数减法程序 ([R0]-[R1])=([R0])
;入口: R0,R1,R7
;占用资源: ACC,B
;堆栈需求: 2字节
;出口: R0,CF
NSUBN: MOV B,R0
MOV R7,N
CLR C
NSUBN1 : MOV A,@R0
SUBB A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R7,NSUBN1
MOV R0,B
RET
1楼 0 0 回复
  • xilinxue

    xilinxue   |   当前状态:在线

    总积分:16186  2024年可用积分:0

    注册时间: 2008-06-26

    最后登录时间: 2020-03-22

    空间 发短消息加为好友

    xilinxue   发表于 2009/2/10 13:01:18

    ;双字节无符号数加法程序 (R3R4+R6R7)=(R3R4)
    ;入口: R3,R4,R6,R7
    ;占用资源: ACC
    ;堆栈需求: 2字节
    ;出口: R3,R4,CF
    NADD : MOV A,R4
    ADD A,R7
    MOV R4,A
    MOV A,R3
    ADDC A,R6
    MOV R3,A
    RET
    2楼 回复本楼

    引用 xilinxue 2009/2/10 13:01:18 发表于2楼的内容

  • xilinxue

    xilinxue   |   当前状态:在线

    总积分:16186  2024年可用积分:0

    注册时间: 2008-06-26

    最后登录时间: 2020-03-22

    空间 发短消息加为好友

    xilinxue   发表于 2009/2/10 13:01:35

    ;N字节无符号数加法程序 ([R0]+[R1])=([R0])
    ;入口: R0,R1,R7
    ;占用资源: ACC,B
    ;堆栈需求: 2字节
    ;出口: R0,CF
    NADDN: MOV B,R0
    CLR C
    NADN1: MOV A,@R0
    ADDC A,@R1
    MOV @R0,A
    INC R0
    INC R1
    DJNZ R7,NADN1
    MOV R0,B
    RET
    3楼 回复本楼

    引用 xilinxue 2009/2/10 13:01:35 发表于3楼的内容

  • xilinxue

    xilinxue   |   当前状态:在线

    总积分:16186  2024年可用积分:0

    注册时间: 2008-06-26

    最后登录时间: 2020-03-22

    空间 发短消息加为好友

    xilinxue   发表于 2009/2/10 13:01:51

    ;双字节无符号数减法程序 (R3R4-R6R7)=(R3R4)
    ;入口: R3,R4,R6,R7
    ;占用资源: ACC
    ;堆栈需求: 2字节
    ;出口: R3,R4
    NSUB : MOV A,R4
    CLR C
    SUBB A,R7
    MOV R4,A
    MOV A,R3
    SUBB A,R6
    MOV R3,A
    RET
    4楼 回复本楼

    引用 xilinxue 2009/2/10 13:01:51 发表于4楼的内容

  • xilinxue

    xilinxue   |   当前状态:在线

    总积分:16186  2024年可用积分:0

    注册时间: 2008-06-26

    最后登录时间: 2020-03-22

    空间 发短消息加为好友

    xilinxue   发表于 2009/2/10 13:02:12

    ;原码有符号双字节减法程序 (R3R4-R6R7)=R3R4
    ;入口: R3,R4,R6,R7
    ;占用资源: ACC,DADD
    ;堆栈需求: 6字节
    ;出口: R3,R4,OV
    DSUB : MOV A,R6
    CPL ACC.7
    MOV R6,A
    LCALL DADD
    RET
    5楼 回复本楼

    引用 xilinxue 2009/2/10 13:02:12 发表于5楼的内容

  • xilinxue

    xilinxue   |   当前状态:在线

    总积分:16186  2024年可用积分:0

    注册时间: 2008-06-26

    最后登录时间: 2020-03-22

    空间 发短消息加为好友

    xilinxue   发表于 2009/2/10 13:02:35

    ;原码有符号双字节加法程序 (R3R4+R6R7)=R3R4
    ;入口: R3,R4,R6,R7
    ;占用资源: ACC,SR0,NADD,NSUB,CMPT
    ;堆栈需求: 4字节
    ;出口: R3,R4,OV
    DADD : MOV A,R3
    MOV C,ACC.7
    MOV SR0,C
    XRL A,R6
    MOV C,ACC.7
    MOV A,R3
    CLR ACC.7
    MOV R3,A
    MOV A,R6
    CLR ACC.7
    MOV R6,A
    JC DAB2
    LCALL NADD
    MOV A,R3
    JB ACC.7,DABE
    DAB1 : MOV C,SR0
    MOV ACC.7,C
    MOV R3,A
    CLR OV
    RET
    DABE : SETB OV
    RET
    DAB2 : LCALL NSUB
    MOV A,R3
    JNB ACC.7,DAB1
    LCALL CMPT
    CPL SR0
    SJMP DAB1
    6楼 回复本楼

    引用 xilinxue 2009/2/10 13:02:35 发表于6楼的内容

总共 , 当前 /