📄 lcd_m8.lis
字号:
0004 .dbline 442
0004 ;
0004 L3:
0004 .dbline 443
0004 ;
0004 81E0 ldi R24,1
0006 90E0 ldi R25,0
0008 8017 cp R24,R16
000A 9107 cpc R25,R17
000C CCF3 brlt L2
000E .dbline -2
000E L1:
000E .dbline 0 ; func end
000E 0895 ret
0010 .dbsym r time 16 I
0010 .dbend
0010 .dbfunc e delay_1ms _delay_1ms fV
0010 ; i1 -> R16,R17
.even
0010 _delay_1ms::
0010 .dbline -1
0010 .dbline 448
0010 ;
0010 ;
0010 ;
0010 ;
0010 ;
0010 .dbline 449
0010 ;
0010 01E0 ldi R16,1
0012 10E0 ldi R17,0
0014 02C0 xjmp L9
0016 L6:
0016 .dbline 450
0016 L7:
0016 .dbline 449
0016 0F5F subi R16,255 ; offset = 1
0018 1F4F sbci R17,255
001A L9:
001A .dbline 449
001A 0637 cpi R16,118
001C E4E0 ldi R30,4
001E 1E07 cpc R17,R30
0020 D0F3 brlo L6
0022 .dbline -2
0022 L5:
0022 .dbline 0 ; func end
0022 0895 ret
0024 .dbsym r i1 16 i
0024 .dbend
0024 .dbfunc e delay _delay fV
0024 ; i2 -> R20,R21
0024 ; n -> R22,R23
.even
0024 _delay::
0024 0E940000 xcall push_gset2
0028 B801 movw R22,R16
002A .dbline -1
002A .dbline 454
002A ;
002A ;
002A ;
002A ;
002A ;
002A .dbline 455
002A ;
002A 4427 clr R20
002C 5527 clr R21
002E 04C0 xjmp L12
0030 L11:
0030 .dbline 457
0030 .dbline 457
0030 EFDF xcall _delay_1ms
0032 .dbline 458
0032 4F5F subi R20,255 ; offset = 1
0034 5F4F sbci R21,255
0036 .dbline 458
0036 A895 wdr
0038 .dbline 459
0038 L12:
0038 .dbline 456
0038 ;
0038 4617 cp R20,R22
003A 5707 cpc R21,R23
003C C8F3 brlo L11
003E .dbline -2
003E L10:
003E 0E940000 xcall pop_gset2
0042 .dbline 0 ; func end
0042 0895 ret
0044 .dbsym r i2 20 i
0044 .dbsym r n 22 i
0044 .dbend
0044 .dbfile D:\ele\AVR\ICC\LCD\lcd-M8/lcd.h
0044 .dbfunc e writelcd _writelcd fV
0044 ; dat -> R20
.even
0044 _writelcd::
0044 0E940000 xcall push_gset1
0048 402F mov R20,R16
004A .dbline -1
004A .dbline 31
004A .dbline 32
004A AA98 cbi 0x15,2
004C .dbline 33
004C A998 cbi 0x15,1
004E .dbline 34
004E AA9A sbi 0x15,2
0050 .dbline 35
0050 4BBB out 0x1b,R20
0052 .dbline 35
0052 01E0 ldi R16,1
0054 10E0 ldi R17,0
0056 D4DF xcall _del
0058 .dbline 36
0058 AA98 cbi 0x15,2
005A .dbline -2
005A L14:
005A 0E940000 xcall pop_gset1
005E .dbline 0 ; func end
005E 0895 ret
0060 .dbsym r dat 20 c
0060 .dbend
0060 .dbfunc e writelcdcon _writelcdcon fV
0060 ; dat -> R20
.even
0060 _writelcdcon::
0060 0E940000 xcall push_gset1
0064 402F mov R20,R16
0066 .dbline -1
0066 .dbline 40
0066 .dbline 41
0066 A898 cbi 0x15,0
0068 .dbline 42
0068 AB9A sbi 0x15,3
006A .dbline 42
006A AC9A sbi 0x15,4
006C .dbline 43
006C 042F mov R16,R20
006E EADF xcall _writelcd
0070 .dbline -2
0070 L15:
0070 0E940000 xcall pop_gset1
0074 .dbline 0 ; func end
0074 0895 ret
0076 .dbsym r dat 20 c
0076 .dbend
0076 .dbfunc e writelcddat _writelcddat fV
0076 ; dat -> R20
.even
0076 _writelcddat::
0076 0E940000 xcall push_gset1
007A 402F mov R20,R16
007C .dbline -1
007C .dbline 47
007C .dbline 48
007C A89A sbi 0x15,0
007E .dbline 49
007E 042F mov R16,R20
0080 E1DF xcall _writelcd
0082 .dbline -2
0082 L16:
0082 0E940000 xcall pop_gset1
0086 .dbline 0 ; func end
0086 0895 ret
0088 .dbsym r dat 20 c
0088 .dbend
0088 .dbfunc e restlcd _restlcd fV
.even
0088 _restlcd::
0088 .dbline -1
0088 .dbline 53
0088 .dbline 54
0088 AD9A sbi 0x15,5
008A .dbline 55
008A 01E0 ldi R16,1
008C 10E0 ldi R17,0
008E CADF xcall _delay
0090 .dbline 56
0090 AD98 cbi 0x15,5
0092 .dbline 57
0092 0AE0 ldi R16,10
0094 10E0 ldi R17,0
0096 C6DF xcall _delay
0098 .dbline 58
0098 AD9A sbi 0x15,5
009A .dbline -2
009A L17:
009A .dbline 0 ; func end
009A 0895 ret
009C .dbend
009C .dbfunc e lcdon _lcdon fV
.even
009C _lcdon::
009C .dbline -1
009C .dbline 62
009C .dbline 63
009C A898 cbi 0x15,0
009E .dbline 64
009E AB9A sbi 0x15,3
00A0 .dbline 64
00A0 AC9A sbi 0x15,4
00A2 .dbline 65
00A2 0FE3 ldi R16,63
00A4 CFDF xcall _writelcd
00A6 .dbline -2
00A6 L18:
00A6 .dbline 0 ; func end
00A6 0895 ret
00A8 .dbend
00A8 .dbfunc e lcdoff _lcdoff fV
.even
00A8 _lcdoff::
00A8 .dbline -1
00A8 .dbline 69
00A8 .dbline 70
00A8 A898 cbi 0x15,0
00AA .dbline 71
00AA AB9A sbi 0x15,3
00AC .dbline 71
00AC AC9A sbi 0x15,4
00AE .dbline 72
00AE 0EE3 ldi R16,62
00B0 C9DF xcall _writelcd
00B2 .dbline -2
00B2 L19:
00B2 .dbline 0 ; func end
00B2 0895 ret
00B4 .dbend
00B4 .dbfunc e fromx _fromx fV
00B4 ; dat -> R20
.even
00B4 _fromx::
00B4 0E940000 xcall push_gset1
00B8 402F mov R20,R16
00BA .dbline -1
00BA .dbline 76
00BA .dbline 77
00BA A898 cbi 0x15,0
00BC .dbline 78
00BC AB9A sbi 0x15,3
00BE .dbline 78
00BE AC9A sbi 0x15,4
00C0 .dbline 79
00C0 042F mov R16,R20
00C2 006C ori R16,192
00C4 BFDF xcall _writelcd
00C6 .dbline -2
00C6 L20:
00C6 0E940000 xcall pop_gset1
00CA .dbline 0 ; func end
00CA 0895 ret
00CC .dbsym r dat 20 c
00CC .dbend
00CC .dbfunc e sety _sety fV
00CC ; dat -> R20
.even
00CC _sety::
00CC 0E940000 xcall push_gset1
00D0 402F mov R20,R16
00D2 .dbline -1
00D2 .dbline 83
00D2 .dbline 84
00D2 A898 cbi 0x15,0
00D4 .dbline 85
00D4 042F mov R16,R20
00D6 086B ori R16,184
00D8 B5DF xcall _writelcd
00DA .dbline -2
00DA L21:
00DA 0E940000 xcall pop_gset1
00DE .dbline 0 ; func end
00DE 0895 ret
00E0 .dbsym r dat 20 c
00E0 .dbend
00E0 .dbfunc e setx _setx fV
00E0 ; dat -> R20
.even
00E0 _setx::
00E0 0E940000 xcall push_gset1
00E4 402F mov R20,R16
00E6 .dbline -1
00E6 .dbline 89
00E6 .dbline 90
00E6 4034 cpi R20,64
00E8 18F4 brsh L23
00EA .dbline 91
00EA .dbline 91
00EA AB9A sbi 0x15,3
00EC .dbline 91
00EC AC98 cbi 0x15,4
00EE .dbline 91
00EE 03C0 xjmp L24
00F0 L23:
00F0 .dbline 93
00F0 .dbline 93
00F0 AB98 cbi 0x15,3
00F2 .dbline 93
00F2 AC9A sbi 0x15,4
00F4 .dbline 93
00F4 4054 subi R20,64
00F6 .dbline 93
00F6 L24:
00F6 .dbline 94
00F6 A898 cbi 0x15,0
00F8 .dbline 95
00F8 042F mov R16,R20
00FA 0064 ori R16,64
00FC A3DF xcall _writelcd
00FE .dbline -2
00FE L22:
00FE 0E940000 xcall pop_gset1
0102 .dbline 0 ; func end
0102 0895 ret
0104 .dbsym r dat 20 c
0104 .dbend
0104 .dbfunc e w8 _w8 fV
0104 ; dat -> y+4
0104 ; y -> R20
0104 ; x -> R22
.even
0104 _w8::
0104 0E940000 xcall push_gset2
0108 422F mov R20,R18
010A 602F mov R22,R16
010C .dbline -1
010C .dbline 99
010C .dbline 100
010C 062F mov R16,R22
010E E8DF xcall _setx
0110 .dbline 101
0110 042F mov R16,R20
0112 DCDF xcall _sety
0114 .dbline 102
0114 0C81 ldd R16,y+4
0116 0095 com R16
0118 AEDF xcall _writelcddat
011A .dbline 103
011A A895 wdr
011C .dbline -2
011C L25:
011C 0E940000 xcall pop_gset2
0120 .dbline 0 ; func end
0120 0895 ret
0122 .dbsym l dat 4 c
0122 .dbsym r y 20 c
0122 .dbsym r x 22 c
0122 .dbend
0122 .dbfunc e clrlcd _clrlcd fV
0122 ; j -> R20
0122 ; i -> R22
.even
0122 _clrlcd::
0122 0E940000 xcall push_gset2
0126 2197 sbiw R28,1
0128 .dbline -1
0128 .dbline 107
0128 .dbline 109
0128 4427 clr R20
012A 0BC0 xjmp L30
012C L27:
012C .dbline 110
012C 6627 clr R22
012E 06C0 xjmp L34
0130 L31:
0130 .dbline 111
0130 .dbline 112
0130 2224 clr R2
0132 2882 std y+0,R2
0134 242F mov R18,R20
0136 062F mov R16,R22
0138 E5DF xcall _w8
013A .dbline 113
013A L32:
013A .dbline 110
013A 6395 inc R22
013C L34:
013C .dbline 110
013C 6038 cpi R22,128
013E C0F3 brlo L31
0140 L28:
0140 .dbline 109
0140 4395 inc R20
0142 L30:
0142 .dbline 109
0142 4830 cpi R20,8
0144 98F3 brlo L27
0146 .dbline -2
0146 L26:
0146 2196 adiw R28,1
0148 0E940000 xcall pop_gset2
014C .dbl
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -