📄 test.asl
字号:
+ 1 ;Test METHOD
+ 2 ;PRTD2+3 =TEST BY SELF
+ 3 ;press prtd6 send t1 500hz clock test pin is prtd7
+ 4 ;press prtd5 send t2 50hz clock test pin is prtd7
+ 5 ;press prtd2 slow->prtd3 idle ->prtd4 sleep ->prtd2 slow+lcd on
+ 6
+ 7 ;PRTD7+6 =KB TEST
+ 8 ;;
+ 9
+ 10
+ 11
+ 12
0080 13 .LcdHead EQU 10000000B
00C0 14 .LcdTail EQU 11000000B
001C 15 .TestPin EQU 00011100B ;PRTD 2,3,4
0018 16 .PD43 EQU 00011000B
0014 17 .PD42 EQU 00010100B
000C 18 .PD32 EQU 00001100B
0000 19 .SetT1H EQU 0x00 ;(32768/3)-1=0x2aaa
0020 20 .SetT1L EQU 0x20
0068 21 .SetT2H EQU 0x68 ;(4M/1.5/1)-1=0x682a
002A 22 .SetT2L EQU 0x2a
+ 23 .area Test(code)
+B 00 01
0000 24 .Test::
+ 25
0000 F3 80 26 lda #80h
0002 FC 21 27 sta DP
0004 F3 00 28 lda #0h
0006 FC 34 29 sta PWMC
0008 FC 48 30 sta VOC
000A FC 28 31 sta PP
000C 32 .T3:
000C F0 21 33 lda DP
000E A7 C0 34 cmpe #0c0h
0010 06 00 1A 35 brz .T4
0013 F3 FF 36 lda #0ffh
0015 FE 37 sta i
0016 18 38 incdp
0017 02 00 0C 39 br .T3
001A 40 .T4:
001A F3 05 41 lda #00000101b ;bit 2 1=B type
001C FC 38 42 sta LCDC
001E F3 00 43 lda #.SetT1H
0020 FC 11 44 sta T1H
0022 F3 20 45 lda #.SetT1L
0024 FC 08 46 sta T1L
0026 F3 68 47 lda #.SetT2H
0028 FC 14 48 sta T2H
002A F3 2A 49 lda #.SetT2L
002C FC 12 50 sta T2L
002E F3 1C 51 lda #00011100b ;T1 T2 enable
0030 FC 22 52 sta OP1
0032 F3 00 53 lda #0h
0034 FC 24 54 sta OP2
+ 55
0036 F3 00 56 lda #0h
0038 FC 58 57 sta PRT17
003A F3 FF 58 lda #0xFF
003C FC 32 59 sta PRTD
003E 60 .T5:
003E F0 32 61 lda PRTD
0040 CB 40 62 anda #40h
0042 06 00 57 63 brz .T2
+ 64
0045 F0 32 65 lda PRTD
0047 CB 20 66 anda #20h
0049 07 00 3E 67 brnz .T5
+ 68
004C 69 .T1:
004C F3 02 70 lda #02h
004E FC 04 71 sta IER
0050 F3 01 72 lda #1
0052 F9 00 73 sta0 .DataBuf
0054 02 00 5F 74 br .NormalMd
0057 75 .T2:
0057 F3 04 76 lda #04h
0059 FC 04 77 sta IER
005B F3 00 78 lda #0
005D F9 00 79 sta0 .DataBuf
+ 80
005F 81 .NormalMd:
005F 20 00 CF 82 call .CheckT1
0062 F3 00 83 lda #0h
0064 FC 58 84 sta PRT17
0066 F0 32 85 lda PRTD
0068 CB 1C 86 anda #.TestPin
006A A7 18 87 cmpe #.PD43
006C 07 00 5F 88 brnz .NormalMd
006F F0 22 89 lda OP1
0071 CB EF 90 anda #~00010000b
0073 DB 20 91 ora #00100000B
0075 FC 22 92 sta OP1
0077 F3 00 93 lda #0h
0079 FC 38 94 sta LCDC
+ 95 ;-----------------------------------------
007B 96 .Slow:
+ 97
007B F3 00 98 lda #0h
007D FC 58 99 sta PRT17
007F F0 32 100 lda PRTD
0081 CB 1C 101 anda #.TestPin
0083 A7 14 102 cmpe #.PD42
0085 07 00 7B 103 brnz .Slow
+ 104
0088 F0 22 105 lda OP1
008A CB E3 106 anda #~1ch
008C FC 22 107 sta OP1
008E 108 .idle:
008E F0 24 109 lda OP2
0090 DB 80 110 ora #10000000b
0092 FC 24 111 sta OP2
+ 112
0094 F3 00 113 lda #0h
0096 FC 58 114 sta PRT17
0098 F0 32 115 lda PRTD
009A CB 1C 116 anda #.TestPin
009C A7 0C 117 cmpe #.PD32
009E 07 00 8E 118 brnz .idle
+ 119
00A1 F0 22 120 lda OP1
00A3 CB DF 121 anda #~20h
00A5 FC 22 122 sta OP1
00A7 F0 22 123 lda OP1
00A9 DB 4C 124 ora #01001100b
00AB FC 22 125 sta OP1
00AD F3 00 126 lda #0h
00AF FC 58 127 sta PRT17
00B1 128 .Sleep1:
00B1 F0 32 129 lda PRTD
00B3 CB 1C 130 anda #.TestPin
00B5 A7 18 131 cmpe #.PD43
00B7 07 00 B1 132 brnz .Sleep1
00BA 133 .TT:
00BA F0 22 134 lda OP1
00BC DB 20 135 ora #20h
00BE FC 22 136 sta OP1
00C0 F3 05 137 lda #00000101b ;bit 2 1=B type
00C2 FC 38 138 sta LCDC
00C4 F3 00 139 lda #0h
00C6 FC 58 140 sta PRT17
00C8 F3 FF 141 lda #0ffh
00CA FC 32 142 sta PRTD
+ 143
00CC 02 00 BA 144 br .TT
+ 145 ;-------------------------------------------
+ 146
00CF 147 .CheckT1:
00CF F5 00 148 lda0 .DataBuf
00D1 A7 01 149 cmpe #01h
00D3 06 00 E9 150 brz .CheckT2
00D6 F5 00 151 lda0 .RandCnt
00D8 CB 01 152 anda #01h
00DA 06 00 E4 153 brz .DisPD7
00DD F3 80 154 lda #80h
00DF FC 32 155 sta PRTD
00E1 02 00 E8 156 br .EndM
00E4 157 .DisPD7:
00E4 F3 7F 158 lda #~80h
00E6 FC 32 159 sta PRTD
00E8 160 .EndM:
00E8 24 161 ret
+ 162 ;-------------------------------------------
00E9 163 .CheckT2:
00E9 F5 00 164 lda0 .TurboCnt
00EB CB 01 165 anda #01h
00ED 06 00 F7 166 brz .DisPD6
00F0 F3 80 167 lda #80h
00F2 FC 32 168 sta PRTD
00F4 02 00 E8 169 br .EndM
00F7 170 .DisPD6:
00F7 F3 7F 171 lda #~80h
00F9 FC 32 172 sta PRTD
00FB 24 173 ret
+
+Symbol Table
+
+ 1 .CheckT1 00CF R
+ 1 .CheckT2 00E9 R
+ .DataBuf **** GX
+ 1 .DisPD6 00F7 R
+ 1 .DisPD7 00E4 R
+ 1 .EndM 00E8 R
+ .LcdHead = 0080
+ .LcdTail = 00C0
+ 1 .NormalMd 005F R
+ .PD32 = 000C
+ .PD42 = 0014
+ .PD43 = 0018
+ .RandCnt **** GX
+ .SetT1H = 0000
+ .SetT1L = 0020
+ .SetT2H = 0068
+ .SetT2L = 002A
+ 1 .Sleep1 00B1 R
+ 1 .Slow 007B R
+ 1 .T1 004C R
+ 1 .T2 0057 R
+ 1 .T3 000C R
+ 1 .T4 001A R
+ 1 .T5 003E R
+ 1 .TT 00BA R
+ 1 .Test 0000 GR
+ .TestPin = 001C
+ .TurboCnt **** GX
+ 1 .idle 008E R
+
+
+Area Table
+
+ 0 . size 0 flags 0
+ 1 Test size FC flags 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -