ad.asm

来自「基于80C51的一个例子程序,实现了流水灯操作」· 汇编 代码 · 共 46 行

ASM
46
字号
BYTE_LEN EQU   3
ADDR1    EQU   30H
ADDR2    EQU   ADDR1+BYTE_LEN

        ORG 0000H
        JMP START

        ORG 0040H
START:
        mov sp,#50h
        CALL INIT_51
        CALL BCD_ADD
MAIN:
        JMP MAIN

INIT_51:
                MOV R0,#ADDR1
                MOV R2,#(BYTE_LEN * 2)
                MOV DPTR,#PARA_TABLE
INIT_51_NEXT:   CLR A
                MOVC A,@A+DPTR
                MOV @R0,A
                INC DPTR
                INC R0
                DJNZ R2,INIT_51_NEXT
                RET

PARA_TABLE:   DB  16H,67H,38H
              DB  45H,56H,67H

; IN: @R0,@R1,R2= BYTE LEN
; OUT: @R0
BCD_ADD:
                MOV R0,#ADDR1
                MOV R1,#ADDR2
                MOV R2,#BYTE_LEN
                CLR C
BCD_ADD_NEXT:   MOV A,@R0
                ADDC A,@R1
                DA A
                MOV @R0,A
                INC R0
                INC R1
                DJNZ R2,BCD_ADD_NEXT
                RET

⌨️ 快捷键说明

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