📄 main.asm
字号:
#include "MC68HC908JL8.H"
ORG ROM_START
S_RESET_PRC:
SEI
LDHX #RAM_END
TXS
LDHX #RAM_START
L_CLR_LOOP:
CLR ,X
AIX #$0001
CPHX #RAM_END-1
BLS L_CLR_LOOP
JSR S_MCU_INIT
CLI
BCLR STARTF,TEST_FLAGS ;041030 For start char check
L_MAIN_LOOP:
JSR S_IF_FRAM_FULL
L_RD_FRAM?:
BRCLR FRAM_RDF,F_STATUS,L_WR_FRAM?
JSR S_RDFRAM_PROCESS
BSET PRN_START,F_STATUS
L_WR_FRAM?:
BRCLR FRAM_WRF,F_STATUS,L_PNT_START?
JSR S_WRFRAM_PROCESS
L_PNT_START?:
BRCLR PRN_START,F_STATUS,L_LR_KEY?
JSR S_PRINT_PROCESS
L_LR_KEY?:
BRCLR LR_KEYF,F_STATUS,L_LED_STATUS
JSR S_LR_KEY_PROCESS
L_LED_STATUS:
BRCLR ON_PRINTING,F_STATUS,L_SET_FREE
BSET PBIT1,PTA
BCLR PBIT0,PTA
BRCLR PRINTING,F_STATUS,L_JUMP_BEGIN ;L_CLR_TEST_PIN
JSR S_CLR_PTB_PTD
JSR S_PRINT_ONE_DOT
JMP L_JUMP_BEGIN ;L_MAIN_FIN
L_SET_FREE:
BSET PBIT0,PTA
BCLR PBIT1,PTA
L_JUMP_BEGIN:
BRA L_MAIN_LOOP
S_IF_FRAM_FULL:
PSHH
CLRH
LDHX WR_INDEX
AIX #$79
CPHX #$07FF
BLS L_FRAM_CHECK
BSET FRAM_FULL,PRINT_STATUS
JMP L_FRAM_FULL
L_FRAM_CHECK
BCLR FRAM_FULL,PRINT_STATUS
L_FRAM_FULL:
PULH
RTS
S_BUFFER_FULL:
LDA STORE_INDEX
CMP #$78
BHS L_BUFFER_FULL
BCLR BUFFER_FULL,PRINT_STATUS
JMP L_BUF_FULL_FIN
L_BUFFER_FULL:
BSET BUFFER_FULL,PRINT_STATUS
L_BUF_FULL_FIN:
RTS
NO_PROCESS_PRC:
JMP S_RESET_PRC
#include "DEALYS.ASM"
#include "INIT_MCU.ASM"
#include "INT_PRC.ASM"
#include "PROCESSOR.ASM"
#include "TABLE.ASM"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -