📄 ad.asm
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -