📄 cal_lcd.asl
字号:
+ 1
0000 2 MACRO PP2One()
+ 3 lda #01h
+ 4 sta PP
+ 5 ENDM
+ 6
0000 7 MACRO PP2Zero()
+ 8 lda #00h
+ 9 sta PP
+ 10 ENDM
+ 11
+ 12
0000 13 MACRO PP2store(%1)
+ 14
+ 15 lda PP
+ 16 sta0 %1
+ 17 ENDM
+ 18
0000 19 MACRO PP2pop(%1)
+ 20
+ 21 lda0 %1
+ 22 sta PP
+ 23
+ 24 ENDM
+ 25
0000 26 MACRO EI()
+ 27 lda OP1
+ 28 ora #10h ; D4 INTE
+ 29 sta OP1
+ 30 ENDM
+ 31
+ 32
0000 33 MACRO DI()
+ 34 lda OP1
+ 35 anda #~10h
+ 36 sta OP1
+ 37 ENDM
+ 38
+ 39
+ 40 .include "Cal_MACRO.H"
+ 40
0000 40 MACRO OFFSET_TP(%1,%2) ;1009
+ 40 adda #<(%2)
+ 40 sta %1+0
+ 40 lda #@(%2)
+ 40 addc #0
+ 40 sta %1+1
+ 40 ;lda #^(%2)
+ 40 ;addc #0
+ 40 ;sta %1+2
+ 40 lda #0
+ 40 sta TPP
+ 40 lda %1+1
+ 40 sta TPH
+ 40 lda %1+0
+ 40 sta TPL
+ 40 ENDM
+ 40
0000 40 MACRO SET_TP(%1,%2) ;1009
+ 40 lda #<(%2)
+ 40 sta %1+0
+ 40 lda #@(%2)
+ 40 addc #0
+ 40 sta %1+1
+ 40 ;lda #^(%2)
+ 40 ;addc #0
+ 40 ;sta %1+2
+ 40 lda #0
+ 40 sta TPP
+ 40 lda %1+1
+ 40 sta TPH
+ 40 lda %1+0
+ 40 sta TPL
+ 40 ENDM
+ 40
0000 40 MACRO ADD_TP(%1,%2) ;1009
+ 40 lda %1+0
+ 40 adda #%2 ;+1
+ 40 sta %1+0
+ 40 lda #00h
+ 40 addc %1+1
+ 40 sta %1+1
+ 40 ;lda #00h
+ 40 ;addc %1+2
+ 40 ;sta %1+2
+ 40
+ 40 ;lda %1+2 ;for intterrpt
+ 40 lda #0
+ 40 sta TPP
+ 40 lda %1+1
+ 40 sta TPH
+ 40 lda %1+0
+ 40 sta TPL
+ 40 ENDM
+ 40
0000 40 MACRO COPY_BUFDATA(%1,%2)
+ 40
+ 40 lda #%1
+ 40 sta Addr1
+ 40 lda #%2
+ 40 sta Addr2
+ 40
+ 40 call CopyData
+ 40
+ 40 ENDM
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
+ 40
0000 40 MACRO CHK_FLAG(%1,%2)
+ 40 lda %1 ;High active
+ 40 anda #%2
+ 40 ENDM
+ 40
0000 40 MACRO SET_FLAG(%1,%2)
+ 40 lda %1
+ 40 ora #%2
+ 40 sta %1
+ 40 ENDM
+ 40
0000 40 MACRO CLR_FLAG(%1,%2)
+ 40 lda %1
+ 40 anda #~%2
+ 40 sta %1
+ 40 ENDM
+ 40
+ 40
0000 40 MACRO LOAD_PTR()
+ 40 lda temp_Sphptr+2 ;for intterrpt
+ 40 sta TPP
+ 40 lda temp_Sphptr+1
+ 40 sta TPH
+ 40 lda temp_Sphptr+0
+ 40 sta TPL
+ 40 ENDM
+ 40
0000 40 MACRO UPDATE_PTR()
+ 40 ;for main func
+ 40 lda temp_Sphptr+0
+ 40 inca ;+1
+ 40 sta temp_Sphptr+0
+ 40 lda #00h
+ 40 addc temp_Sphptr+1
+ 40 sta temp_Sphptr+1
+ 40 lda #00h
+ 40 addc temp_Sphptr+2
+ 40 sta temp_Sphptr+2
+ 40 ENDM
+ 40
+ 40
0000 40 MACRO SET_TABLE(%1,%2)
+ 40 ;deca
+ 40 adda #<%1
+ 40 sta %2+0
+ 40 lda #>%1
+ 40 addc #0
+ 40 sta %2+1
+ 40 lda #^%1
+ 40 addc #0
+ 40 sta %2+2
+ 40 sta TPP
+ 40 lda %2+1
+ 40 sta TPH
+ 40 lda %2+0
+ 40 sta TPL
+ 40 ENDM
+ 40 ;;;;;---------------------;;;;
0000 40 MACRO HIGHNIBBLE(%1,%2)
+ 40 lda %1
+ 40 adda #%2
+ 40 sta r_dp
+ 40 lda i
+ 40 rorc
+ 40 rorc
+ 40 rorc
+ 40 rorc
+ 40 anda #0fh
+ 40 sta Addr1
+ 40 ENDM
+ 40 ;;;;----------------------;;;;;
0000 40 MACRO HIGHNIBBLE2(%1,%2)
+ 40 lda %1
+ 40 adda %2
+ 40 sta r_dp
+ 40 lda i
+ 40 rorc
+ 40 rorc
+ 40 rorc
+ 40 rorc
+ 40 anda #0fh
+ 40 sta Addr1
+ 40 ENDM
+ 40 ;;;;---------------------;;;;
+ 40 ;MACRO ADDTP()
+ 40 ; adda Table
+ 40 ; sta Table
+ 40 ; lda Table+1
+ 40 ; addc #0
+ 40 ; sta Table+1
+ 40 ; lda Table+2
+ 40 ; addc #0
+ 40 ; sta Table+2
+ 40 ; ENDM
+ 40 ;;;;;---------------------;;;;
+ 40 ;MACRO SETLCD(%1,%2)
+ 40 ; lda #%1
+ 40 ; sta FontHigh
+ 40 ; lda #%2
+ 40 ; sta FontWidth
+ 40 ; ENDM
+ 40 ;;;;---------------------;;;;
+ 40 ;MACRO PUTCOMSEG(%1,%2)
+ 40 ; lda #%1
+ 40 ; sta LcdCom
+ 40 ; lda #%2
+ 40 ; sta LcdSeg
+ 40 ; ENDM
+ 40 ;;;;---------------------;;;;
+ 40 ;MACRO LOADTPADDR(%1)
+ 40 ; lda #^%1
+ 40 ; sta Table+2
+ 40 ; lda #>%1
+ 40 ; sta Table+1
+ 40 ; lda #<%1
+ 40 ; sta Table
+ 40 ; ENDM
+ 40 ;;;;---------------------;;;;
+ 40 ;MACRO LOADTP()
+ 40 ; lda Table+2
+ 40 ; sta r_tpp
+ 40 ; lda Table+1
+ 40 ; sta r_tph
+ 40 ; lda Table
+ 40 ; sta r_tpl
+ 40 ; ENDM
+ 40
0000 40 MACRO SET_PORT(%1,%2,%3)
+ 40 lda %3
+ 40 ora #%2
+ 40 sta %3
+ 40 sta %1
+ 40 ENDM
+ 40
0000 40 MACRO CLR_PORT(%1,%2,%3)
+ 40 lda %3
+ 40 anda #~%2
+ 40 sta %3
+ 40 sta %1
+ 40 ENDM
+ 40
0000 40 MACRO CHK_PORT(%1,%2)
+ 40 lda %1
+ 40 anda #%2
+ 40 ENDM
+ 40
+ 40 ; MACRO DELAY_US(%1) ;;;Offset 1 Inst
+ 40 ; lda #%1 ;2
+ 40 ; suba #3 ;2
+ 40 ; sta temp ;2
+ 40 ; brnc 126$ ;3
+ 40 ; 127$:
+ 40 ; suba #3 ;2 ;8 insts = 3 us
+ 40 ; sta temp ;2
+ 40 ; nop ;1
+ 40 ; ;brz 126$
+ 40 ; brc 127$ ;3
+ 40 ; 126$:
+ 40 ; ENDM
+ 40
+ 40
+ 40
+ 40 ;[KEY DEFINITION]--------------------------------------------------------
0010 40 Key_0 EQU 16 ;璸衡诀
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -