您的位置:控制工程论坛网论坛 » 软件与程序 » MCS-51单片机实用子程序库 BCD HEX 二进制转换程序

xilinxue

xilinxue   |   当前状态:在线

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

注册时间: 2008-06-26

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

空间 发短消息加为好友

MCS-51单片机实用子程序库 BCD HEX 二进制转换程序

xilinxue  发表于 2009/4/6 22:28:31      1929 查看 4 回复  [上一主题]  [下一主题]

手机阅读

;BCD小数转换为二进制小数(2位)
;入口: R0(低位首址),R7
;占用资源: ACC,B,R5
;堆栈需求: 2字节
;出口: R3,R4
PDTB : CLR A
MOV R3,A
MOV R4,A
PDB1 : MOV A,R3
MOV B,#9AH
MUL AB
MOV R5,B
XCH A,R4
MOV B,#19H
MUL AB
ADD A,R4
MOV A,R5
ADDC A,B
MOV R5,A
MOV A,@R0
MOV B,#9AH
MUL AB
ADD A,R5
MOV R4,A
CLR A
ADDC A,B
XCH A,R3
MOV B,#19H
MUL AB
ADD A,R4
MOV R4,A
MOV A,B
ADDC A,R3
MOV R3,A
MOV A,@R0
MOV B,#19H
MUL AB
ADD A,R3
MOV R3,A
DEC R0
DJNZ R7,PDB1
RET
1楼 0 0 回复
  • xilinxue

    xilinxue   |   当前状态:在线

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

    注册时间: 2008-06-26

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

    空间 发短消息加为好友

    xilinxue   发表于 2009/2/13 13:02:04


    ;BCD小数转换为二进制小数(2位)
    ;入口: R0(低位首址),R7
    ;占用资源: ACC,B,R5
    ;堆栈需求: 2字节
    ;出口: R3,R4
    PDTB : CLR A
    MOV R3,A
    MOV R4,A
    PDB1 : MOV A,R3
    MOV B,#9AH
    MUL AB
    MOV R5,B
    XCH A,R4
    MOV B,#19H
    MUL AB
    ADD A,R4
    MOV A,R5
    ADDC A,B
    MOV R5,A
    MOV A,@R0
    MOV B,#9AH
    MUL AB
    ADD A,R5
    MOV R4,A
    CLR A
    ADDC A,B
    XCH A,R3
    MOV B,#19H
    MUL AB
    ADD A,R4
    MOV R4,A
    MOV A,B
    ADDC A,R3
    MOV R3,A
    MOV A,@R0
    MOV B,#19H
    MUL AB
    ADD A,R3
    MOV R3,A
    DEC R0
    DJNZ R7,PDB1
    RET
    2楼 回复本楼

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

  • xilinxue

    xilinxue   |   当前状态:在线

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

    注册时间: 2008-06-26

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

    空间 发短消息加为好友

    xilinxue   发表于 2009/2/13 13:02:21


    ;BCD小数转换为二进制小数(N位)
    ;入口: R1(低位首址),M,N
    ;占用资源: ACC,B,R2,R3,R7
    ;堆栈需求: 2字节
    ;出口: R0
    PDTBMN : MOV A,R0
    MOV R2,A
    MOV A,R1
    MOV R3,A
    MOV B,N
    CLR A
    PDBMN1 : MOV @R0,A
    INC R0
    DJNZ B,PDBMN1
    MOV A,N
    SWAP A
    RR A
    MOV R7,A
    PDBMN2 : MOV A,R2
    MOV R0,A
    MOV A,R3
    MOV R1,A
    MOV B,M
    CLR C
    PDBMN3 : MOV A,@R1
    ADDC A,@R1
    DA A
    JNB ACC.4,PDBMN4
    SETB C
    CLR ACC.4
    PDBMN4 : MOV @R1,A
    INC R1
    DJNZ B,PDBMN3
    MOV B,N
    PDBMN5 : MOV A,@R0
    RLC A
    MOV @R0,A
    INC R0
    DJNZ B,PDBMN5
    DJNZ R7,PDBMN2
    MOV A,R2
    MOV R0,A
    RET
    3楼 回复本楼

    引用 xilinxue 2009/2/13 13:02:21 发表于3楼的内容

  • 疯狂太少

    疯狂太少   |   当前状态:离线

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

    注册时间: 2008-09-30

    最后登录时间: 2009-02-13

    空间 发短消息加为好友

    疯狂太少   发表于 2009/2/13 16:14:30

    4楼 回复本楼

    引用 疯狂太少 2009/2/13 16:14:30 发表于4楼的内容

  • lthlycyj

    lthlycyj   |   当前状态:在线

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

    注册时间: 2007-09-03

    最后登录时间: 2019-06-23

    空间 发短消息加为好友

    lthlycyj   发表于 2009/4/6 22:28:31

    ico
    5楼 回复本楼

    引用 lthlycyj 2009/4/6 22:28:31 发表于5楼的内容

总共 , 当前 /