⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bcda.asm

📁 这是我最近一段时间编的一些弹片机的小程序,上面有大量的注释,一般都会看懂
💻 ASM
字号:
org 0000h
jmp 40h
org 40h
start:
mov r7,#2         ;具体实现调用子程序之前,必须为r7、r0、r1赋值
mov r0,#40h
mov r1,#42h
acall BCDA
jmp $
;********************************************************************************
;子程序:BCDA
;功能:实现多字节BCD码加法
;入口条件:字节数在R7中,被加数在[R0]中,加数在[R1]中
;出口信息:和在[R0]中,和的字节数保存在R2中,最高进位CY中
;说明:在数据存储器的那些单元中已存放各个BCD码,如某数为51D,写入其中的值为51h
;     执行时仍按照十六进制运算,但经DA调整后才形成正确的BCD码
;********************************************************************************
BCDA: 
     mov r2,#00h        ;和的字节数初始时置为0
     clr c              ;进位位清0
BCDA1:mov a,@r0         ;将被加数相应字节送入a中
      addc a,@r1         ;加法运算
      da  a             ;十进制加调整
      mov @r0,a         ;存和结果的相应字节
      inc r0            ;修改被加数指针
      inc r1            ;修改加数指针
      inc r2            ;和的字节数增1
      djnz r7,BCDA1     ;未加完继续执行BCDA1
      ret
;********************************************************************************      
end

⌨️ 快捷键说明

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