2136|0

65

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

谁帮忙把这个汇编语言改写成C语言的 [复制链接]

hex_bcd  segment  code
public   _Hex2Bcd
rseg     hex_bcd
_Hex2Bcd:CLR  F0                ;F0/符号位
   MOV  A,    R3   ;小数点
   PUSH ACC
         MOV  A,    R5          ;R5/指定地址
         MOV  R0,   A
         MOV  A,    R6          ;R6R7/待转化数据
         JNB  ACC.7,H2B
         SETB F0
         CPL  A
         MOV  R6,   A
         MOV  A,    R7
         CPL  A
         INC  A
         MOV  R7,   A
         JNZ  H2B
         INC  R6
H2B:     MOV  R4,   #10
         MOV  B,    R4
         MOV  A,    R6
         DIV  AB
         MOV  R6,   A
         MOV  A,    R7
         ANL  A,    #0F0H
         ORL  A,    B
         SWAP A
         MOV  B,    R4
         DIV  AB
         MOV  R2,   A
         MOV  A,    R7
         SWAP A
         ANL  A,    #0F0H
         ORL  A,    B
         SWAP A
         MOV  B,    R4
         DIV  AB
         MOV  R3,   B           ;R3/个位
         SWAP A
         ORL  A,    R2
         SWAP A
         MOV  R7,   A
         ANL  A,    #0F0H
         ORL  A,    R6
         SWAP A
         MOV  B,    R4
         DIV  AB
         SWAP A
         MOV  R1,   A
         MOV  A,    R7
         ANL  A,    #0FH
         SWAP A
         ORL  A,    B
         SWAP A
         MOV  B,    R4
         DIV  AB
         MOV  R5,   B           ;R5/十位
         ORL  A,    R1
         MOV  B,    R4
         DIV  AB
         MOV  R6,   B           ;R6/百位,A/千位
   MOV  R7,   A
   POP  ACC
   MOV  B,    A
   MOV  A,    R7
         JNB  F0,   KILO4
   CLR  F0
         JNB  B.3,  KILO2
         JNZ  KILO1
         MOV  A,    #83         ;-.
         SJMP KILO6
KILO1:  MOV  A,    #82         ;-1.
         SJMP KILO6
KILO2:   JZ   KILO3
         MOV  A,    #39         ;-1
         SJMP KILO6
KILO3:   SETB F0
   MOV  A,    #40         ;-
         SJMP KILO6
KILO4:  JNB  B.3,  KILO5
         ADD  A,    #43   ;无、有小数点之差
         SJMP KILO6
KILO5:   JNZ  KILO6
         SETB F0
         MOV  A,    #38         ;无
KILO6:   MOV  @R0,  A
         MOV  A,    R6
         JNB  B.2,  HUN1
         ADD  A,    #43
         SJMP HUN2
HUN1:    JNB  F0,   HUN3
         JNZ  HUN2
         MOV  A,    #38         
         SJMP HUN3
HUN2:    CLR  F0
HUN3:    INC  R0
         MOV  @R0,  A
         MOV  A,    R5
         JNB  B.1,  TEN1
         ADD  A,    #43
         SJMP TEN2
TEN1:    JNB  F0,   TEN2
         JNZ  TEN2
         MOV  A,    #38         
TEN2:    INC  R0
         MOV  @R0,  A
         INC  R0
         MOV  A,    R3
         MOV  @R0,  A
         RET
         END
上面写的程序是51单片机的, 哪个能帮忙给翻译一下,小弟万分感激.
此帖出自单片机论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表