📄 1602.lis
字号:
01A0 DF9A sbi 0x1b,7
01A2 .dbline 136
01A2 A2BA out 0x12,R10
01A4 .dbline 137
01A4 DF98 cbi 0x1b,7
01A6 .dbline 138
01A6 6E5F subi R22,254 ; offset = 2
01A8 7F4F sbci R23,255
01AA .dbline 139
01AA L16:
01AA .dbline 132
01AA 4150 subi R20,1
01AC 5040 sbci R21,0
01AE L18:
01AE .dbline 132
01AE 4030 cpi R20,0
01B0 4507 cpc R20,R21
01B2 99F7 brne L15
01B4 X2:
01B4 .dbline -2
01B4 L14:
01B4 .dbline 0 ; func end
01B4 0C940000 xjmp pop_xgsetF00C
01B8 .dbsym r t 10 i
01B8 .dbsym r i 20 i
01B8 .dbsym r pBuffer 22 pki
01B8 .dbsym r num 10 i
01B8 .dbend
01B8 .dbfunc e WriteMenu _WriteMenu fV
01B8 ; t -> R10
01B8 ; i -> R22
01B8 ; pBuffer -> R20,R21
.even
01B8 _WriteMenu::
01B8 0E940000 xcall push_xgsetF00C
01BC A801 movw R20,R16
01BE .dbline -1
01BE .dbline 149
01BE .dbline 151
01BE 00E8 ldi R16,128
01C0 53DF xcall _writecom
01C2 .dbline 153
01C2 DD9A sbi 0x1b,5
01C4 .dbline 154
01C4 DE98 cbi 0x1b,6
01C6 .dbline 155
01C6 02E3 ldi R16,50
01C8 10E0 ldi R17,0
01CA 1ADF xcall _s_ms
01CC .dbline 156
01CC 6627 clr R22
01CE 0BC0 xjmp L23
01D0 L20:
01D0 .dbline 157
01D0 .dbline 158
01D0 FA01 movw R30,R20
01D2 A690 elpm R10,Z
01D4 .dbline 159
01D4 A2BA out 0x12,R10
01D6 .dbline 160
01D6 DF9A sbi 0x1b,7
01D8 .dbline 161
01D8 02E3 ldi R16,50
01DA 10E0 ldi R17,0
01DC 11DF xcall _s_ms
01DE .dbline 162
01DE DF98 cbi 0x1b,7
01E0 .dbline 163
01E0 4F5F subi R20,255 ; offset = 1
01E2 5F4F sbci R21,255
01E4 .dbline 164
01E4 L21:
01E4 .dbline 156
01E4 6395 inc R22
01E6 L23:
01E6 .dbline 156
01E6 6031 cpi R22,16
01E8 98F3 brlo L20
01EA X3:
01EA .dbline 165
01EA 00EC ldi R16,192
01EC 3DDF xcall _writecom
01EE .dbline 167
01EE DD9A sbi 0x1b,5
01F0 .dbline 168
01F0 DE98 cbi 0x1b,6
01F2 .dbline 169
01F2 02E3 ldi R16,50
01F4 10E0 ldi R17,0
01F6 04DF xcall _s_ms
01F8 .dbline 170
01F8 6627 clr R22
01FA 0BC0 xjmp L27
01FC L24:
01FC .dbline 171
01FC .dbline 172
01FC FA01 movw R30,R20
01FE A690 elpm R10,Z
0200 .dbline 173
0200 A2BA out 0x12,R10
0202 .dbline 174
0202 DF9A sbi 0x1b,7
0204 .dbline 175
0204 02E3 ldi R16,50
0206 10E0 ldi R17,0
0208 FBDE xcall _s_ms
020A .dbline 176
020A DF98 cbi 0x1b,7
020C .dbline 177
020C 4F5F subi R20,255 ; offset = 1
020E 5F4F sbci R21,255
0210 .dbline 178
0210 L25:
0210 .dbline 170
0210 6395 inc R22
0212 L27:
0212 .dbline 170
0212 6031 cpi R22,16
0214 98F3 brlo L24
0216 X4:
0216 .dbline -2
0216 L19:
0216 .dbline 0 ; func end
0216 0C940000 xjmp pop_xgsetF00C
021A .dbsym r t 10 c
021A .dbsym r i 22 c
021A .dbsym r pBuffer 20 pkc
021A .dbend
021A .dbfunc e WriteNum _WriteNum fV
021A ; num -> R20,R21
021A ; col -> R10,R11
021A ; row -> R22,R23
.even
021A _WriteNum::
021A 0E940000 xcall push_xgsetF00C
021E 5901 movw R10,R18
0220 B801 movw R22,R16
0222 4E81 ldd R20,y+6
0224 5F81 ldd R21,y+7
0226 .dbline -1
0226 .dbline 188
0226 .dbline 189
0226 6130 cpi R22,1
0228 E0E0 ldi R30,0
022A 7E07 cpc R23,R30
022C 21F4 brne L29
022E X5:
022E .dbline 189
022E B501 movw R22,R10
0230 6058 subi R22,128 ; offset = 128
0232 7F4F sbci R23,255
0234 03C0 xjmp L30
0236 L29:
0236 .dbline 190
0236 B501 movw R22,R10
0238 6054 subi R22,64 ; offset = 192
023A 7F4F sbci R23,255
023C L30:
023C .dbline 191
023C 062F mov R16,R22
023E 14DF xcall _writecom
0240 .dbline 192
0240 4030 cpi R20,0
0242 4507 cpc R20,R21
0244 21F4 brne L33
0246 X6:
0246 81E0 ldi R24,1
0248 90E0 ldi R25,0
024A 5C01 movw R10,R24
024C 02C0 xjmp L34
024E L33:
024E AA24 clr R10
0250 BB24 clr R11
0252 L34:
0252 89E0 ldi R24,9
0254 90E0 ldi R25,0
0256 8417 cp R24,R20
0258 9507 cpc R25,R21
025A 18F4 brsh L35
025C X7:
025C 61E0 ldi R22,1
025E 70E0 ldi R23,0
0260 02C0 xjmp L36
0262 L35:
0262 6627 clr R22
0264 7727 clr R23
0266 L36:
0266 1501 movw R2,R10
0268 262A or R2,R22
026A 372A or R3,R23
026C 2220 tst R2
026E 11F4 brne X8
0270 3320 tst R3
0272 19F0 breq L31
0274 X8:
0274 .dbline 192
0274 40E3 ldi R20,48
0276 50E0 ldi R21,0
0278 02C0 xjmp L32
027A L31:
027A .dbline 193
027A 405D subi R20,208 ; offset = 48
027C 5F4F sbci R21,255
027E L32:
027E .dbline 195
027E DD9A sbi 0x1b,5
0280 .dbline 196
0280 04EF ldi R16,500
0282 11E0 ldi R17,1
0284 BDDE xcall _s_ms
0286 .dbline 197
0286 DE98 cbi 0x1b,6
0288 .dbline 198
0288 04EF ldi R16,500
028A 11E0 ldi R17,1
028C B9DE xcall _s_ms
028E .dbline 199
028E 42BB out 0x12,R20
0290 .dbline 200
0290 04EF ldi R16,500
0292 11E0 ldi R17,1
0294 B5DE xcall _s_ms
0296 .dbline 201
0296 DF9A sbi 0x1b,7
0298 .dbline 202
0298 04EF ldi R16,500
029A 11E0 ldi R17,1
029C B1DE xcall _s_ms
029E .dbline 203
029E DF98 cbi 0x1b,7
02A0 .dbline 204
02A0 04EF ldi R16,500
02A2 11E0 ldi R17,1
02A4 ADDE xcall _s_ms
02A6 .dbline -2
02A6 L28:
02A6 .dbline 0 ; func end
02A6 0C940000 xjmp pop_xgsetF00C
02AA .dbsym r num 20 i
02AA .dbsym r col 10 i
02AA .dbsym r row 22 i
02AA .dbend
02AA .dbfunc e WriteChar _WriteChar fV
02AA ; t -> R12
02AA ; i -> R10
02AA ; pBuffer -> R20,R21
02AA ; num -> y+8
02AA ; col -> R10
02AA ; row -> R22
.even
02AA _WriteChar::
02AA 0E940000 xcall push_xgsetF03C
02AE A22E mov R10,R18
02B0 602F mov R22,R16
02B2 4A85 ldd R20,y+10
02B4 5B85 ldd R21,y+11
02B6 .dbline -1
02B6 .dbline 214
02B6 .dbline 216
02B6 6130 cpi R22,1
02B8 19F4 brne L38
02BA X9:
02BA .dbline 216
02BA 6A2D mov R22,R10
02BC 6058 subi R22,128 ; addi 128
02BE 02C0 xjmp L39
02C0 L38:
02C0 .dbline 217
02C0 6A2D mov R22,R10
02C2 6054 subi R22,64 ; addi 192
02C4 L39:
02C4 .dbline 218
02C4 062F mov R16,R22
02C6 D0DE xcall _writecom
02C8 .dbline 222
02C8 DD9A sbi 0x1b,5
02CA .dbline 223
02CA 04EF ldi R16,500
02CC 11E0 ldi R17,1
02CE 98DE xcall _s_ms
02D0 .dbline 224
02D0 DE98 cbi 0x1b,6
02D2 .dbline 225
02D2 04EF ldi R16,500
02D4 11E0 ldi R17,1
02D6 94DE xcall _s_ms
02D8 .dbline 226
02D8 A884 ldd R10,y+8
02DA 14C0 xjmp L43
02DC L40:
02DC .dbline 227
02DC .dbline 228
02DC FA01 movw R30,R20
02DE C080 ldd R12,z+0
02E0 .dbline 229
02E0 04EF ldi R16,500
02E2 11E0 ldi R17,1
02E4 8DDE xcall _s_ms
02E6 .dbline 230
02E6 C2BA out 0x12,R12
02E8 .dbline 231
02E8 04EF ldi R16,500
02EA 11E0 ldi R17,1
02EC 89DE xcall _s_ms
02EE .dbline 232
02EE DF9A sbi 0x1b,7
02F0 .dbline 233
02F0 04EF ldi R16,500
02F2 11E0 ldi R17,1
02F4 85DE xcall _s_ms
02F6 .dbline 234
02F6 DF98 cbi 0x1b,7
02F8 .dbline 235
02F8 04EF ldi R16,500
02FA 11E0 ldi R17,1
02FC 81DE xcall _s_ms
02FE .dbline 236
02FE 4F5F subi R20,255 ; offset = 1
0300 5F4F sbci R21,255
0302 .dbline 237
0302 L41:
0302 .dbline 226
0302 AA94 dec R10
0304 L43:
0304 .dbline 226
0304 AA20 tst R10
0306 51F7 brne L40
0308 X10:
0308 .dbline -2
0308 L37:
0308 .dbline 0 ; func end
0308 0C940000 xjmp pop_xgsetF03C
030C .dbsym r t 12 c
030C .dbsym r i 10 c
030C .dbsym r pBuffer 20 pc
030C .dbsym l num 8 i
030C .dbsym r col 10 c
030C .dbsym r row 22 c
030C .dbend
.area data(ram, con, rel)
0000 .dbfile D:\实验程序\1602液晶\1602.h
0000 _wz::
0000 .blkb 14
.area idata
0000 5757572E49534D43552E434F4D00 .byte 'W,'W,'W,46,'I,'S,'M,'C,'U,46,'C,'O,'M,0
.area data(ram, con, rel)
000E .dbfile D:\实验程序\1602液晶\1602.h
000E .dbfile D:\实验程序\1602液晶\1602.c
000E .dbsym e wz _wz A[14:14]c
000E _gd::
000E .blkb 11
.area idata
000E 476F6F64204C75636B2100 .byte 'G,'o,'o,'d,32,'L,'u,'c,'k,33,0
.area data(ram, con, rel)
0019 .dbfile D:\实验程序\1602液晶\1602.c
0019 .dbsym e gd _gd A[11:11]c
.area text(rom, con, rel)
030C .dbfile D:\实验程序\1602液晶\1602.c
030C .dbfunc e main _main fI
.even
030C _main::
030C 2497 sbiw R28,4
030E .dbline -1
030E .dbline 17
030E .dbline 18
030E 8FEF ldi R24,255
0310 8ABB out 0x1a,R24
0312 .dbline 19
0312 8BBB out 0x1b,R24
0314 .dbline 20
0314 81BB out 0x11,R24
0316 .dbline 21
0316 82BB out 0x12,R24
0318 .dbline 22
0318 C3DE xcall _LcdInit
031A .dbline 23
031A 80E0 ldi R24,<_wz
031C 90E0 ldi R25,>_wz
031E 9B83 std y+3,R25
0320 8A83 std y+2,R24
0322 8DE0 ldi R24,13
0324 90E0 ldi R25,0
0326 9983 std y+1,R25
0328 8883 std y+0,R24
032A 21E0 ldi R18,1
032C 01E0 ldi R16,1
032E BDDF xcall _WriteChar
0330 .dbline 24
0330 80E0 ldi R24,<_gd
0332 90E0 ldi R25,>_gd
0334 9B83 std y+3,R25
0336 8A83 std y+2,R24
0338 8AE0 ldi R24,10
033A 90E0 ldi R25,0
033C 9983 std y+1,R25
033E 8883 std y+0,R24
0340 23E0 ldi R18,3
0342 02E0 ldi R16,2
0344 B2DF xcall _WriteChar
0346 .dbline -2
0346 L44:
0346 .dbline 0 ; func end
0346 2496 adiw R28,4
0348 0895 ret
034A .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -