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

📄 asktobcd.asm

📁 这是我们做课程设计的时候频率发生器的一些程序模块,希望对大家有用
💻 ASM
字号:
SUM     EQU    30H
ADDR    EQU    32H

ORG     0000H
JMP     START

ORG     0040H        
START:  MOV   SP,#50H
        CALL  ASKTOBCD
        
MAIN:   
        JMP   MAIN

ASKTOBCD:   MOV   R4,#15H
            MOV   R5,#0CDH
            CALL  CLR_SUM
            MOV   A,R4
            SWAP  A
            MOV   DPTR,#TAB1
            CALL  BCDAD
            MOV   A,R4
            MOV   DPTR,#TAB2
            CALL  BCDAD
            MOV   A,R5
            SWAP  A
            MOV   DPTR,#TAB3
            CALL  BCDAD
            MOV   A,R5
            MOV   DPTR,#TAB4
            CALL  BCDAD
            RET
            
BCDAD:      ANL   A,#0FH
            CALL  READ_TAB
            CALL  BCD_ADD
            RET
            
CLR_SUM:    MOV   R0,#SUM
            MOV   R2,#2
            CLR   A
CLR_SUM_NEXT: MOV  @R0,A
              INC  R0
              DJNZ R2,CLR_SUM_NEXT
            RET
            
READ_TAB:   MOV    R1,#ADDR
            MOV    R2,#2
            MOV    B,#2
            MUL    AB
            MOV    B,A

READ_TAB_NEXT:
            MOV    A,B
            MOVC  A,@A+DPTR
            MOV    @R1,A
            INC    DPTR
            INC    R1
            DJNZ   R2,READ_TAB_NEXT
            RET

BCD_ADD:    MOV    R0,#SUM
            MOV    R1,#ADDR
            MOV    R2,#2
            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

TAB1:       DB     00H,00H
            DB     96H,40H
            DB     92H,81H
TAB2:       DB     00H,00H
            DB     56H,02H
            DB     12H,05H
            DB     68H,07H
            DB     24H,10H
            DB     80H,12H
            DB     36H,15H
            DB     92H,17H
            DB     48H,20H
            DB     04H,23H
            DB     60H,25H
            DB     16H,28H
            DB     72H,30H
            DB     28H,33H
            DB     84H,35H
            DB     40H,38H

TAB3:       DB      00H,00H
            DB       16H,00H
            DB       32H,00H
            DB       48H,00H
            DB       64H,00H
            DB       80H,00H
            DB       96H,00H
            DB       12H,01H        
            DB       28H,01H 
            DB       44H,01H 
            DB       60H,01H 
            DB       76H,01H 
            DB       92H,01H 
            DB       08H,02H 
            DB       24H,02H
            DB       40H,02H
            
TAB4:       DB       00H,00H
            DB       01H,00H
            DB       02H,00H
            DB       03H,00H
            DB       04H,00H
            DB       05H,00H
            DB       06H,00H
            DB       07H,00H
            DB       08H,00H
            DB       09H,00H
            DB       10H,00H
            DB       11H,00H
            DB       12H,00H
            DB       13H,00H
            DB       14H,00H
            DB       15H,00H

⌨️ 快捷键说明

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