📄 ac16-1.lis
字号:
0416 2197 sbiw R28,1
0418 .dbline -1
0418 .dbline 190
0418 ; }
0418 ; /*---------------屏幕开启、关闭子函数--------------*/
0418 ; void dison_off(uchar o)
0418 ; {
0418 .dbline 191
0418 ; o=o+0x3e;
0418 425C subi R20,194 ; addi 62
041A .dbline 192
041A ; wcode(o,1,1);
041A 81E0 ldi R24,1
041C 8883 std y+0,R24
041E 21E0 ldi R18,1
0420 042F mov R16,R20
0422 7ADF xcall _wcode
0424 .dbline -2
0424 L52:
0424 2196 adiw R28,1
0426 0E940000 xcall pop_gset1
042A .dbline 0 ; func end
042A 0895 ret
042C .dbsym r o 20 c
042C .dbend
042C .dbfunc e reset _reset fV
.even
042C _reset::
042C .dbline -1
042C .dbline 196
042C ; }
042C ; /*---------------复位子函数---------------*/
042C ; void reset(void)
042C ; {
042C .dbline 197
042C ; RST_0;
042C C598 cbi 0x18,5
042E .dbline 198
042E ; Delay_nms(10);
042E 0AE0 ldi R16,10
0430 10E0 ldi R17,0
0432 F0DD xcall _Delay_nms
0434 .dbline 199
0434 ; RST_1;
0434 C59A sbi 0x18,5
0436 .dbline 200
0436 ; Delay_nms(10);
0436 0AE0 ldi R16,10
0438 10E0 ldi R17,0
043A ECDD xcall _Delay_nms
043C .dbline -2
043C L53:
043C .dbline 0 ; func end
043C 0895 ret
043E .dbend
043E .dbfunc e lcd_init _lcd_init fV
043E ; y -> R20
043E ; x -> R22
.even
043E _lcd_init::
043E 0E940000 xcall push_gset2
0442 2197 sbiw R28,1
0444 .dbline -1
0444 .dbline 204
0444 ; }
0444 ; /*--------------LCM初始化子函数-------------*/
0444 ; void lcd_init(void)
0444 ; {uchar x,y;
0444 .dbline 205
0444 ; reset();
0444 F3DF xcall _reset
0446 .dbline 206
0446 ; set_startline(0);
0446 0027 clr R16
0448 C0DF xcall _set_startline
044A .dbline 207
044A ; dison_off(0);
044A 0027 clr R16
044C E1DF xcall _dison_off
044E .dbline 208
044E ; for(y=0;y<8;y++)
044E 4427 clr R20
0450 0BC0 xjmp L58
0452 L55:
0452 .dbline 209
0452 ; {
0452 .dbline 210
0452 6627 clr R22
0454 06C0 xjmp L62
0456 L59:
0456 .dbline 210
0456 2224 clr R2
0458 2882 std y+0,R2
045A 242F mov R18,R20
045C 062F mov R16,R22
045E 98DF xcall _lw
0460 L60:
0460 .dbline 210
0460 6395 inc R22
0462 L62:
0462 .dbline 210
0462 6038 cpi R22,128
0464 C0F3 brlo L59
0466 .dbline 211
0466 L56:
0466 .dbline 208
0466 4395 inc R20
0468 L58:
0468 .dbline 208
0468 4830 cpi R20,8
046A 98F3 brlo L55
046C .dbline 212
046C ; for(x=0;x<128;x++)lw(x,y,0);
046C ; }
046C ; dison_off(1);
046C 01E0 ldi R16,1
046E D0DF xcall _dison_off
0470 .dbline -2
0470 L54:
0470 2196 adiw R28,1
0472 0E940000 xcall pop_gset2
0476 .dbline 0 ; func end
0476 0895 ret
0478 .dbsym r y 20 c
0478 .dbsym r x 22 c
0478 .dbend
0478 .dbfunc e display_hz _display_hz fV
0478 ; dx -> R20
0478 ; i -> R22
0478 ; fb -> R10
0478 ; n -> R12
0478 ; yy -> R14
0478 ; xx -> y+11
.even
0478 _display_hz::
0478 0E940000 xcall push_arg4
047C 0E940000 xcall push_gset5
0480 E22E mov R14,R18
0482 2197 sbiw R28,1
0484 CF84 ldd R12,y+15
0486 A988 ldd R10,y+17
0488 .dbline -1
0488 .dbline 216
0488 ; }
0488 ; /*---------------显示汉字子函数--------------*/
0488 ; void display_hz(uchar xx, uchar yy, uchar n, uchar fb)
0488 ; {
0488 .dbline 218
0488 ; uchar i,dx;
0488 ; for(i=0;i<16;i++)
0488 6627 clr R22
048A 3BC0 xjmp L67
048C L64:
048C .dbline 219
048C ; {dx=hz[2*i+n*32];
048C .dbline 219
048C 80E2 ldi R24,32
048E 8C9D mul R24,R12
0490 1001 movw R2,R0
0492 82E0 ldi R24,2
0494 869F mul R24,R22
0496 F001 movw R30,R0
0498 E20D add R30,R2
049A F31D adc R31,R3
049C 80E0 ldi R24,<_hz
049E 90E0 ldi R25,>_hz
04A0 E80F add R30,R24
04A2 F91F adc R31,R25
04A4 4491 lpm R20,Z
04A6 .dbline 220
04A6 ; if(fb)dx=255-dx;
04A6 AA20 tst R10
04A8 29F0 breq L68
04AA .dbline 220
04AA 242E mov R2,R20
04AC 3324 clr R3
04AE 4FEF ldi R20,255
04B0 4219 sub R20,R2
04B2 5309 sbc R21,R3
04B4 L68:
04B4 .dbline 221
04B4 ; lw(xx*8+i,yy,dx);
04B4 4883 std y+0,R20
04B6 2E2D mov R18,R14
04B8 88E0 ldi R24,8
04BA 0B84 ldd R0,y+11
04BC 809D mul R24,R0
04BE 002D mov R16,R0
04C0 060F add R16,R22
04C2 66DF xcall _lw
04C4 .dbline 222
04C4 ; dx=hz[(2*i+1)+n*32];
04C4 80E2 ldi R24,32
04C6 8C9D mul R24,R12
04C8 1001 movw R2,R0
04CA 82E0 ldi R24,2
04CC 869F mul R24,R22
04CE F001 movw R30,R0
04D0 3196 adiw R30,1
04D2 E20D add R30,R2
04D4 F31D adc R31,R3
04D6 80E0 ldi R24,<_hz
04D8 90E0 ldi R25,>_hz
04DA E80F add R30,R24
04DC F91F adc R31,R25
04DE 4491 lpm R20,Z
04E0 .dbline 223
04E0 ; if(fb)dx=255-dx;
04E0 AA20 tst R10
04E2 29F0 breq L70
04E4 .dbline 223
04E4 242E mov R2,R20
04E6 3324 clr R3
04E8 4FEF ldi R20,255
04EA 4219 sub R20,R2
04EC 5309 sbc R21,R3
04EE L70:
04EE .dbline 224
04EE 4883 std y+0,R20
04F0 2E2D mov R18,R14
04F2 2F5F subi R18,255 ; addi 1
04F4 88E0 ldi R24,8
04F6 0B84 ldd R0,y+11
04F8 809D mul R24,R0
04FA 002D mov R16,R0
04FC 060F add R16,R22
04FE 48DF xcall _lw
0500 .dbline 225
0500 L65:
0500 .dbline 218
0500 6395 inc R22
0502 L67:
0502 .dbline 218
0502 6031 cpi R22,16
0504 08F4 brsh X5
0506 C2CF xjmp L64
0508 X5:
0508 .dbline -2
0508 L63:
0508 2196 adiw R28,1
050A 0E940000 xcall pop_gset5
050E 2496 adiw R28,4
0510 .dbline 0 ; func end
0510 0895 ret
0512 .dbsym r dx 20 c
0512 .dbsym r i 22 c
0512 .dbsym r fb 10 c
0512 .dbsym r n 12 c
0512 .dbsym r yy 14 c
0512 .dbsym l xx 11 c
0512 .dbend
.area lit(rom, con, rel)
0000 _hz::
0000 0004 .byte 0,4
0002 0004 .byte 0,4
0004 0004 .byte 0,4
0006 FE04 .byte 254,4
0008 9204 .byte 146,4
000A 9204 .byte 146,4
000C 9204 .byte 146,4
000E 92FF .byte 146,255
0010 9204 .byte 146,4
0012 9204 .byte 146,4
0014 9204 .byte 146,4
0016 9204 .byte 146,4
0018 FE04 .byte 254,4
001A 0004 .byte 0,4
001C 0004 .byte 0,4
001E 0000 .byte 0,0
0020 2400 .byte 36,0
0022 247E .byte 36,126
0024 2422 .byte 36,34
0026 FC23 .byte 252,35
0028 2222 .byte 34,34
002A 227E .byte 34,126
002C A000 .byte 160,0
002E 8404 .byte 132,4
0030 9404 .byte 148,4
0032 A504 .byte 165,4
0034 86FF .byte 134,255
0036 8404 .byte 132,4
0038 A404 .byte 164,4
003A 9404 .byte 148,4
003C 8404 .byte 132,4
003E 0000 .byte 0,0
0040 0000 .byte 0,0
0042 0000 .byte 0,0
0044 F87F .byte 248,127
0046 0821 .byte 8,33
0048 0821 .byte 8,33
004A 0C21 .byte 12,33
004C 0B21 .byte 11,33
004E 0821 .byte 8,33
0050 0821 .byte 8,33
0052 0821 .byte 8,33
0054 0821 .byte 8,33
0056 0821 .byte 8,33
0058 F87F .byte 248,127
005A 0000 .byte 0,0
005C 0000 .byte 0,0
005E 0000 .byte 0,0
0060 8000 .byte 128,0
0062 6400 .byte 'd,0
0064 2400 .byte 36,0
0066 243F .byte 36,63
0068 2C01 .byte 44,1
006A 3401 .byte 52,1
006C 2501 .byte 37,1
006E E6FF .byte 230,255
0070 2401 .byte 36,1
0072 2411 .byte 36,17
0074 3421 .byte 52,33
0076 2C1F .byte 44,31
0078 A400 .byte 164,0
007A 6400 .byte 'd,0
007C 2400 .byte 36,0
007E 0000 .byte 0,0
0080 8220 .byte 130,32
0082 8A10 .byte 138,16
0084 B208 .byte 178,8
0086 8606 .byte 134,6
0088 DBFF .byte 219,255
008A A102 .byte 161,2
008C 9104 .byte 145,4
008E 8D58 .byte 141,'X
0090 8848 .byte 136,'H
0092 2020 .byte 32,32
0094 1022 .byte 16,34
0096 0811 .byte 8,17
0098 8608 .byte 134,8
009A 6407 .byte 'd,7
009C 4002 .byte 64,2
009E 0000 .byte 0,0
00A0 4000 .byte 64,0
00A2 4020 .byte 64,32
00A4 4470 .byte 'D,'p
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -