?? 1602.lst
字號:
FILE: <library>
__start:
__text_start:
001D E5CF LDI R28,0x5F
001E E0D4 LDI R29,4
001F BFCD OUT 0x3D,R28
0020 BFDE OUT 0x3E,R29
0021 51C0 SUBI R28,0x10
0022 40D0 SBCI R29,0
0023 EA0A LDI R16,0xAA
0024 8308 STD Y+0,R16
0025 2400 CLR R0
0026 E7E3 LDI R30,0x73
0027 E0F0 LDI R31,0
0028 E010 LDI R17,0
0029 37E3 CPI R30,0x73
002A 07F1 CPC R31,R17
002B F011 BEQ 0x002E
002C 9201 ST R0,Z+
002D CFFB RJMP 0x0029
002E 8300 STD Z+0,R16
002F E2E6 LDI R30,0x26
0030 E0F0 LDI R31,0
0031 E6A0 LDI R26,0x60
0032 E0B0 LDI R27,0
0033 E010 LDI R17,0
0034 33E9 CPI R30,0x39
0035 07F1 CPC R31,R17
0036 F021 BEQ 0x003B
0037 95C8 LPM
0038 9631 ADIW R30,1
0039 920D ST R0,X+
003A CFF9 RJMP 0x0034
003B D0AA RCALL _main
_exit:
003C CFFF RJMP _exit
_delay_1us:
003D 0000 NOP
003E 9508 RET
_delay_nus:
i --> R20
n --> R22
003F D0CE RCALL push_gset2
0040 01B8 MOVW R22,R16
0041 2744 CLR R20
0042 2755 CLR R21
0043 C003 RJMP 0x0047
0044 DFF8 RCALL _delay_1us
0045 5F4F SUBI R20,0xFF
0046 4F5F SBCI R21,0xFF
0047 1746 CP R20,R22
0048 0757 CPC R21,R23
0049 F3D0 BCS 0x0044
004A D0B9 RCALL pop_gset2
004B 9508 RET
_delay_1ms:
i --> R16
004C 2700 CLR R16
004D 2711 CLR R17
004E C002 RJMP 0x0051
004F 5F0F SUBI R16,0xFF
0050 4F1F SBCI R17,0xFF
0051 3704 CPI R16,0x74
0052 E0E4 LDI R30,4
0053 071E CPC R17,R30
0054 F3D0 BCS 0x004F
0055 9508 RET
_delay_nms:
i --> R20
n --> R22
0056 D0B7 RCALL push_gset2
0057 01B8 MOVW R22,R16
0058 2744 CLR R20
0059 2755 CLR R21
005A C003 RJMP 0x005E
005B DFF0 RCALL _delay_1ms
005C 5F4F SUBI R20,0xFF
005D 4F5F SBCI R21,0xFF
005E 1746 CP R20,R22
005F 0757 CPC R21,R23
0060 F3D0 BCS 0x005B
0061 D0A2 RCALL pop_gset2
0062 9508 RET
_LCD_init:
0063 B381 IN R24,0x11
0064 6F80 ORI R24,0xF0
0065 BB81 OUT 0x11,R24
0066 9A8A SBI 0x11,2
0067 9A88 SBI 0x11,0
0068 E208 LDI R16,0x28
0069 D014 RCALL _LCD_write_command
006A D00D RCALL _LCD_en_write
006B E208 LDI R16,0x28
006C E010 LDI R17,0
006D DFD1 RCALL _delay_nus
006E E208 LDI R16,0x28
006F D00E RCALL _LCD_write_command
0070 E00C LDI R16,0xC
0071 D00C RCALL _LCD_write_command
0072 E001 LDI R16,1
0073 D00A RCALL _LCD_write_command
0074 E002 LDI R16,2
0075 E010 LDI R17,0
0076 DFDF RCALL _delay_nms
0077 9508 RET
_LCD_en_write:
0078 9A92 SBI 0x12,2
0079 E001 LDI R16,1
007A E010 LDI R17,0
007B DFC3 RCALL _delay_nus
007C 9892 CBI 0x12,2
007D 9508 RET
_LCD_write_command:
command --> R20
007E D091 RCALL push_gset1
007F 2F40 MOV R20,R16
0080 E100 LDI R16,0x10
0081 E010 LDI R17,0
0082 DFBC RCALL _delay_nus
0083 9890 CBI 0x12,0
0084 B382 IN R24,0x12
0085 708F ANDI R24,0xF
0086 BB82 OUT 0x12,R24
0087 2F84 MOV R24,R20
0088 7F80 ANDI R24,0xF0
0089 B222 IN R2,0x12
008A 2A28 OR R2,R24
008B BA22 OUT 0x12,R2
008C DFEB RCALL _LCD_en_write
008D 2F84 MOV R24,R20
008E 708F ANDI R24,0xF
008F 9582 SWAP R24
0090 2F48 MOV R20,R24
0091 B382 IN R24,0x12
0092 708F ANDI R24,0xF
0093 BB82 OUT 0x12,R24
0094 2F84 MOV R24,R20
0095 7F80 ANDI R24,0xF0
0096 B222 IN R2,0x12
0097 2A28 OR R2,R24
0098 BA22 OUT 0x12,R2
0099 DFDE RCALL _LCD_en_write
009A D078 RCALL pop_gset1
009B 9508 RET
_LCD_write_data:
data --> R20
009C D073 RCALL push_gset1
009D 2F40 MOV R20,R16
009E E100 LDI R16,0x10
009F E010 LDI R17,0
00A0 DF9E RCALL _delay_nus
00A1 9A90 SBI 0x12,0
00A2 B382 IN R24,0x12
00A3 708F ANDI R24,0xF
00A4 BB82 OUT 0x12,R24
00A5 2F84 MOV R24,R20
00A6 7F80 ANDI R24,0xF0
00A7 B222 IN R2,0x12
00A8 2A28 OR R2,R24
00A9 BA22 OUT 0x12,R2
00AA DFCD RCALL _LCD_en_write
00AB 2F84 MOV R24,R20
00AC 708F ANDI R24,0xF
00AD 9582 SWAP R24
00AE 2F48 MOV R20,R24
00AF B382 IN R24,0x12
00B0 708F ANDI R24,0xF
00B1 BB82 OUT 0x12,R24
00B2 2F84 MOV R24,R20
00B3 7F80 ANDI R24,0xF0
00B4 B222 IN R2,0x12
00B5 2A28 OR R2,R24
00B6 BA22 OUT 0x12,R2
00B7 DFC0 RCALL _LCD_en_write
00B8 D05A RCALL pop_gset1
00B9 9508 RET
_LCD_set_xy:
address --> R20
y --> R20
x --> R22
00BA D053 RCALL push_gset2
00BB 2F42 MOV R20,R18
00BC 2F60 MOV R22,R16
00BD 2344 TST R20
00BE F419 BNE 0x00C2
00BF 2F46 MOV R20,R22
00C0 5840 SUBI R20,0x80
00C1 C002 RJMP 0x00C4
00C2 2F46 MOV R20,R22
00C3 5440 SUBI R20,0x40
00C4 2F04 MOV R16,R20
00C5 DFB8 RCALL _LCD_write_command
00C6 D03D RCALL pop_gset2
00C7 9508 RET
_LCD_write_string:
s --> R20
Y --> R10
X --> R22
00C8 D043 RCALL push_gset3
00C9 2EA2 MOV R10,R18
00CA 2F60 MOV R22,R16
00CB 814E LDD R20,Y+6
00CC 815F LDD R21,Y+7
00CD 2D2A MOV R18,R10
00CE 2F06 MOV R16,R22
00CF DFEA RCALL _LCD_set_xy
00D0 C005 RJMP 0x00D6
00D1 01FA MOVW R30,R20
00D2 8100 LDD R16,Z+0
00D3 DFC8 RCALL _LCD_write_data
00D4 5F4F SUBI R20,0xFF
00D5 4F5F SBCI R21,0xFF
00D6 01FA MOVW R30,R20
00D7 8020 LDD R2,Z+0
00D8 2022 TST R2
00D9 F7B9 BNE 0x00D1
00DA D02B RCALL pop_gset3
00DB 9508 RET
_LCD_write_char:
data --> Y+4
Y --> R22
X --> R20
00DC D031 RCALL push_gset2
00DD 2F62 MOV R22,R18
00DE 2F40 MOV R20,R16
00DF 2F26 MOV R18,R22
00E0 2F04 MOV R16,R20
00E1 DFD8 RCALL _LCD_set_xy
00E2 810C LDD R16,Y+4
00E3 DFB8 RCALL _LCD_write_data
00E4 D01F RCALL pop_gset2
00E5 9508 RET
_main:
00E6 9722 SBIW R28,2
00E7 DF7B RCALL _LCD_init
00E8 E68B LDI R24,0x6B
00E9 E090 LDI R25,0
00EA 8399 STD Y+1,R25
00EB 8388 STD Y+0,R24
00EC 2722 CLR R18
00ED E002 LDI R16,2
00EE DFD9 RCALL _LCD_write_string
00EF C011 RJMP 0x0101
00F0 E680 LDI R24,0x60
00F1 E090 LDI R25,0
00F2 8399 STD Y+1,R25
00F3 8388 STD Y+0,R24
00F4 E021 LDI R18,1
00F5 E002 LDI R16,2
00F6 DFD1 RCALL _LCD_write_string
00F7 E388 LDI R24,0x38
00F8 8388 STD Y+0,R24
00F9 2722 CLR R18
00FA E00C LDI R16,0xC
00FB DFE0 RCALL _LCD_write_char
00FC E388 LDI R24,0x38
00FD 8388 STD Y+0,R24
00FE 2722 CLR R18
00FF E00D LDI R16,0xD
0100 DFDB RCALL _LCD_write_char
0101 CFEE RJMP 0x00F0
0102 9622 ADIW R28,2
0103 9508 RET
pop_gset2:
0104 E0E2 LDI R30,2
0105 C00E RJMP pop
pop_gset3:
0106 E0E4 LDI R30,4
0107 C00C RJMP pop
push_gset5:
0108 92FA ST R15,-Y
0109 92EA ST R14,-Y
push_gset4:
010A 92DA ST R13,-Y
010B 92CA ST R12,-Y
push_gset3:
010C 92BA ST R11,-Y
010D 92AA ST R10,-Y
push_gset2:
010E 937A ST R23,-Y
010F 936A ST R22,-Y
push_gset1:
0110 935A ST R21,-Y
0111 934A ST R20,-Y
0112 9508 RET
pop_gset1:
0113 E0E1 LDI R30,1
pop:
0114 9149 LD R20,Y+
0115 9159 LD R21,Y+
0116 FDE0 SBRC R30,0
0117 9508 RET
0118 9169 LD R22,Y+
0119 9179 LD R23,Y+
011A FDE1 SBRC R30,1
011B 9508 RET
011C 90A9 LD R10,Y+
011D 90B9 LD R11,Y+
011E FDE2 SBRC R30,2
011F 9508 RET
0120 90C9 LD R12,Y+
0121 90D9 LD R13,Y+
0122 FDE3 SBRC R30,3
0123 9508 RET
0124 90E9 LD R14,Y+
0125 90F9 LD R15,Y+
0126 9508 RET
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -