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

📄 main.asm

📁 Source code for micro printer driver
💻 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 + -