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

📄 加法子程序.asm

📁 这是“led广告屏”程序
💻 ASM
字号:
       ORG 0000H
       MOV A,#0C8H  ;0C8=200
       MOV B,#195   ;200*192=39000H
       MUL AB

ADDPRO:MOV 50H,#0   ;;;;;;;;;;;
       MOV 51H,#0   ;把需要用到的
       MOV 52H,#0   ;缓冲单元清零
       MOV 5AH,#0
       MOV 5BH,#0   ;;;;;;;;;;;
       PUSH B       ;把高位保存
       MOV B,#10    ;;;;;;;;;;;
       DIV AB
       MOV 59H,B    ;把低位换算成
       MOV B,#10    ;十进制数
       DIV AB       ;存于5ah和5bh
       MOV 58H,B    ;单元中
       MOV 57H,A
       MOV A,58H
       SWAP A
       ORL A,59H
       MOV 5BH,A
       MOV 5AH,57H  ;;;;;;;;;;;

       POP A        ;把高位出栈
       JZ WELL  ;高位为零则无须计算
       MOV R7,A    ;低位作为计数值
LOOP:  CLR C        ;;;;;;;;;;;;;
       MOV A,52H
       ADD A,#56H   ;低字节加56h
       DA A         ;是十进制加法
       MOV 52H,A
       JC ADD3      ;有进位,加3

ADD2:  MOV A,51H    ;高字节加2
       ADD A,#2H    ;是十进制加法
       DA A
       MOV 51H,A
       MOV A,50H
       ADDC A,#0    ;累加进位位
       MOV 50H,A
       DJNZ R7,LOOP ;高位数值计完了?
       SJMP Q_HE

ADD3:  MOV A,51H    ;低字节有进位
       ADD A,#3H    ;则高字节加3
       DA A
       MOV 51H,A
       MOV A,50H
       ADDC A,#0
       MOV 50H,A
       DJNZ R7,LOOP   ;;;;;;;;;;

Q_HE:  MOV A,5BH      ;计算完高位后
       ADD A,52H      ;把低位也累加
       DA A           ;ram单元中
       MOV 52H,A
       MOV A,5AH
       ADDC A,51H
       DA A
       MOV 51H,A
       MOV A,50H
       ADDC A,#0
       MOV 50H,A     ;高位为零情况
       SJMP OUTIT    ;计算完毕

WELL:  MOV 52H,5BH   ;高位为零时
       MOV 51H,5AH   ;只需存低位
                     ;最后结果
OUTIT: SJMP $        ;在50h,51h,52h









⌨️ 快捷键说明

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