bcdjia.asm

来自「这是我最近写的一些单片机的简单的模块」· 汇编 代码 · 共 26 行

ASM
26
字号
;本程序实现多字节bcd码加法
org 000h
jmp 40h
org 40h
;入口信息:被加数低字节地址用r0指示,加数地址用r1指示,字节数在r7中
;出口信息:和的低字节用r0表示,和 字节数放在r3中
sbucd:mov r3,#00h   ;和字节数清零
      clr psw.7h    ;作结果的符号位
      clr c         ; 借位位  not very understand
      mov r7,#01h   ;字节数
      mov r0,#40h   ;被加数放在40H里
      mov r1,#50h   ;加数放在50H里
subcd1:
       mov a,@r0
       add a,@r1
       da a        ;十进制加调整
       mov @r0,a   ;存结果
       inc r0       ;地址值加1
       inc r1
       inc r3
       djnz r7,subcd1 ;未加完,continue
       jnc subcd2     ;无进位
       setb psw.7h
subcd2:jmp $
       ret

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?