?? lde060223am.asm
字號:
;====================================LED===============================
;SH69P20B
;ROM=4028K
;==============================SYS RAM=================================
IE EQU 00H
IRQ EQU 01H
TM0 EQU 02H
TL0 EQU 04H
TH0 EQU 05H
PA EQU 08H
PB EQU 09H
PC EQU 0AH
TBR EQU 0EH
INX EQU 0FH
DPL EQU 10H
DPM EQU 11H
DPH EQU 12H
PULL EQU 15H
PACR EQU 16H
PBCR EQU 17H
PCCR EQU 18H
T0 EQU 1CH
WDT EQU 1EH
;==============================DATA RAM===============================
TEMP EQU 20H
T00 EQU 21H
T01 EQU 22H
T02 EQU 23H
T03 EQU 24H
T04 EQU 25H
T05 EQU 26H
TT00 EQU 27H
TT01 EQU 28H
TT02 EQU 29H
TT03 EQU 2AH
TT04 EQU 2BH
TT05 EQU 2CH
F_FLAG0 EQU 2DH ;F口檢測標記
D_FLAG1 EQU 2EH
E_FLAG0 EQU 2FH
D_FLAG0 EQU 30H
C_FLAG0 EQU 31H
B_FLAG0 EQU 32H
A_FLAG0 EQU 33H
ACC1 EQU 34H
TT06 EQU 35H
TT07 EQU 36H
C_FLAG1 EQU 37H
T06 EQU 38H
T07 EQU 39H
T08 EQU 3AH
T09 EQU 3BH
T0A EQU 3CH
T0B EQU 3EH
TEMP0 EQU 3DH
;========================START=======================
ORG 00H
JMP INT_START
NOP
JMP INT_T0
NOP
RTNI
;=============================INITIALIZATION===========================
INT_START:
LDI PA,00H
LDI PB,00H
LDI PC,00H
LDI PACR,0FH
LDI PBCR,0FH
LDI PCCR,0FH
LDI PULL,1100B
LDI PC,00H
LDI PA,00H
LDI PB,00H
LDI DPH,00H
LDI DPM,02H
LDI DPL,00H
LOOP:
LDI TEMP,00H
STA INX
ADIM DPL,01H
BNZ LOOP
ADIM DPM,01H
SBI DPM,04H
BNZ LOOP
LDI TM0,0001B
LDI TL0,0BH
LDI TH0,03H
LDI T0,0000B
LDI IE,0100B
LDI IRQ,00H
LDI WDT,00H
LDI C_FLAG1,1000B
LDI D_FLAG1,0100B
;LDI TT04,0EH;;;
;========================MAIN=========================
; A=PA.2 B=PA.3 C=PB.0 D=PB.1 E=PB.2 F=PB.3
; 1=PA.1 2=PA.0 3=PC.3
;
MAIN:
ORIM WDT,08H
NOP
NOP
LDI IE,0100B
ANDIM PA,0011B
ANDIM PB,0000B
NOP
LDA F_FLAG0
BAZ MA00
LDA B_FLAG0
BNZ MA00
LDA D_FLAG1
BA3 MAIN
BA2 MA00
BA1 $+5
LDA E_FLAG0
BAZ MA00
SBI T0B,06H
BNZ MA00
LDA C_FLAG1
BA0 $+2
JMP MA00
CNT1:
ADIM T06,01H
BNZ CNT2
ADIM T07,01H
BNZ CNT2
LDI T07,03H
CNT2:
ADIM T08,01H
BNC CNT00
ADIM T09,01H
BNZ CNT00
LDI T09,0DH
ADIM TT06,01H
BNZ CNT00
ADIM TT07,01H
BNZ CNT00
ADIM TT05,01H
LDI T06,0H
LDI T07,0H
LDI TT06,00H
STA TT07
CNT00:
LDA TT06
SUB TEMP
BAZ MAIN
STA TEMP
LDA TT07
SUB T07
BAZ CNT01
BC C00
LDA TT05
BA0 $+4
ANDIM PC,0000B
ORIM PA,0001B
JMP MA00;MAIN
ORIM PC,1000B
ANDIM PA,1110B
JMP MA00;MAIN
C00:
LDA TT05
BA0 $+4
ORIM PC,1000B
ANDIM PA,1110B
JMP MA00;MAIN
ANDIM PC,0000B
ORIM PA,0001B
JMP MA00;MAIN
CNT01:
LDA TT06
SUB T06
BAZ MA00;MAIN
BC C01
LDA TT05
BA0 $+4
ANDIM PC,0000B
ORIM PA,0001B
JMP MA00;MAIN
ORIM PC,1000B
ANDIM PA,1110B
JMP MA00;MAIN
C01:
LDA TT05
BA0 $+4
ORIM PC,1000B
ANDIM PA,1110B
JMP MA00;MAIN
ANDIM PC,0000B
ORIM PA,0001B
;JMP MAIN
;JMP MAIN
MA00: ;F口檢測
LDI TT03,0AH
LDI TT02,0AH
LDI TT01,09H
LDA PB
BA3 $+2
JMP MA_END
LDA F_FLAG0
BNZ MA02
SBIM TT01,01H
BC $-6
SBIM TT02,01H
BC $-9
SBIM TT03,01H
BC $-12
ORIM F_FLAG0,08H
LDI T01,0AH
LDI T02,05H
;------------------------------------
MA02: ;B口檢測
LDA F_FLAG0
BA1 $+2
JMP MA03
LDI TT03,0AH
LDI TT02,0AH
LDI TT01,09H
LDA PA
BA3 $+2
JMP PA3END
LDA B_FLAG0
BA3 MA01
SBIM TT01,01H
BC $-6
SBIM TT02,01H
BC $-9
SBIM TT03,01H
BC $-12
LDI B_FLAG0,08H
ORIM PA,0001B
ANDIM PA,1101B
ANDIM PC,0111B
MA021:
LDI T00,01H
JMP MA01
PA3END:
LDA B_FLAG0
BAZ MA01
LDI B_FLAG0,00H
LDA D_FLAG1
BA2 $+2
JMP MC00
;BA1 MC00
;LDA E_FLAG0
;BNZ MA01
ANDIM PA,1110B
ANDIM PC,0111B
;--------------------------------------
MA01:
LDA B_FLAG0
BAZ $+3
LDI A_FLAG0,00H
JMP MA03 ;A口檢測
LDI TT03,0AH
LDI TT02,0AH
LDI TT01,09H
LDA PA
BA2 $+2
JMP PA2END
LDA A_FLAG0
BNZ MA03
SBIM TT01,01H
BC $-6
SBIM TT02,01H
BC $-9
SBIM TT03,01H
BC $-12
LDI A_FLAG0,0DH
LDA B_FLAG0
BNZ $+2
ORIM PA,0010B
LDI T03,01H
LDI T04,01H
LDI TT00,01H
LDI T05,00H
JMP MA03
PA2END:
LDI A_FLAG0,00H
ANDIM PA,1101B
;--------------------------------------
MA03: ;E口檢測
ORIM WDT,08H
LDA D_FLAG1
BA0 $+2
JMP MA05
LDI TT03,0AH
LDI TT02,0AH
LDI TT01,09H
LDA PB
BA2 $+2
JMP PB2END
LDA E_FLAG0
BNZ MA05
SBIM TT01,01H
BC $-6
SBIM TT02,01H
BC $-9
SBIM TT03,01H
BC $-12
LDI E_FLAG0,04H
MA031:
JMP MA05
PB2END:
LDI E_FLAG0,00H
LDA B_FLAG0
BNZ MAIN
LDA D_FLAG1
BA1 MA05
SBI T0B,06H
BNZ MA05
ANDIM PA,1110B
ANDIM PC,0111B
JMP MA05
MAQQQ:
NOP
NOP
JMP MAQQQ
;--------------------------------------
MA05: ;D口檢測
;LDI TEMP0,0FH
LDI TT03,0AH
LDI TT02,0AH
LDI TT01,09H
LDA PB
BA1 $+2
JMP PB1END
LDA D_FLAG0
BNZ MA04
SBIM TT01,01H
BC $-6
SBIM TT02,01H
BC $-9
SBIM TT03,01H
BC $-12
;SBIM TEMP0,01H
;BC $-15
;ADIM TEMP0,01H
;SBI TEMP0,04H
;BAZ MAQQQ
LDI D_FLAG0,0DH
LDA D_FLAG1
SHR
STA D_FLAG1
BNZ $+2
LDI D_FLAG1,04H
BA3 PB1END
BA2 MD02;$+8;PB1END
BA1 MD01;$+4
LDI T0A,02H
LDI T0B,00H
JMP MA04
MD01:
ORIM PA,0001B
ORIM PC,1000B
JMP MA04
MD02:
ANDIM PA,1110B
ANDIM PC,0111B
;LDI D_FLAG0,00H
JMP MA04
PB1END:
LDI D_FLAG0,00H
LDA D_FLAG1
BA2 $+2
JMP MA04
LDA B_FLAG0
BNZ MAIN
ANDIM PA,1110B
ANDIM PC,0111B
JMP MA04
;---------------------------------
MA04: ;C口檢測
LDA D_FLAG1
BA3 MAIN
BA2 MAIN
BA1 $+5
LDA E_FLAG0
BAZ MAIN
SBI E_FLAG0,04
BAZ MC00
LDA D_FLAG1
BA2 MAIN
BA0 $+2
JMP MC01
SBI T0B,05H
BAZ MC00
MC01:
LDI TT03,0AH
LDI TT02,0AH
LDI TT01,09H
LDA PB
BA0 $+2
JMP PB0END
LDA C_FLAG0
BNZ MAIN
SBIM TT01,01H
BC $-6
SBIM TT02,01H
BC $-9
SBIM TT03,01H
BC $-12
LDI C_FLAG0,0DH
LDA C_FLAG1
SHR
STA C_FLAG1
BNZ $+2
LDI C_FLAG1,08H
MC00:
SBI E_FLAG0,04H
BNZ $+2
LDI E_FLAG0,0DH
SBI T0B,05H
BNZ $+2
LDI T0B,06H
LDA C_FLAG1
BA0 MA041
BA2 $+5
BA1 $+7
ORIM PA,0001B
ORIM PC,1000B
JMP MAIN
ORIM PA,0001B
ANDIM PC,0111B
;LDI C_FLAG1,08H
JMP MAIN
ANDIM PA,1110B
ORIM PC,1000B
JMP MAIN
MA041:
ORIM PA,0001B
ANDIM PC,0111B
;LDI TT04,02H
JMP MAIN
PB0END:
LDI C_FLAG0,00H
JMP MAIN
;---------------------------------
MA_END:
ANDIM PA,1100B
ANDIM PC,0111B
LDI F_FLAG0,00H
;LDI A_FLAG0,00H
;LDI B_FLAG0,00H
;LDI C_FLAG0,00H
;LDI D_FLAG0,00H
;LDI E_FLAG0,00H
JMP MAIN
JMP MAIN
;=========================INT_T0======================
INT_T0:
STA ACC1
LDI IRQ,00H
ORIM WDT,08H
LDA F_FLAG0
BAZ INT_END0
I_F:
LDA F_FLAG0
BA3 $+2
JMP INT_END0
LDA F_FLAG0
BA1 I_B
SBIM T01,01H
BNZ I_B
SBIM T02,01H
BAZ $+3
LDI T01,0AH
JMP $-5
ORIM F_FLAG0,0010B
I_B:
LDA F_FLAG0
BA1 $+2
JMP I_E
LDA B_FLAG0
BAZ I_A
;ANDIM PA,1101B
SBIM T00,01H
BNZ INT_END0
LDI T00,03H
ADIM TEMP,01H
BA0 $+4
ORIM PA,0001B
ANDIM PC,0111B
JMP INT_END0
ORIM PC,1000B
ANDIM PA,1110B
JMP INT_END0
I_A:
LDA A_FLAG0
BAZ I_E
SBIM T03,01H
BNZ I_E
SBIM T04,01H
BAZ $+3
LDI T03,0AH
JMP $-5
SBIM TT00,01H
BAZ $+4
LDI T03,0AH
LDI T04,0AH
JMP I_A
ADIM T05,01H
BA0 $+6
ANDIM PA,1101B
LDI T03,0AH
LDI T04,0AH
LDI TT00,03H
JMP I_E
ORIM PA,0010B
LDI T03,0AH
LDI T04,03H
LDI TT00,01H
I_E:
SBI T0B,05H
BC INT_END0
LDA D_FLAG1
BA0 $+2
JMP INT_END0
;LDA E_FLAG0
;BAZ INT_END0
SBIM T0A,01H
BNZ INT_END0
LDI T0A,03H
ADIM T0B,01H
BA0 $+4
ORIM PC,1000B
ORIM PA,0001B
JMP INT_END0
ANDIM PC,0111B
ANDIM PA,1110B
;JMP INT_END0
INT_END0:
LDA ACC1
RTNI
;=====================================
END
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -