📄 main.lst
字号:
NO DEBUG INFORMATION AVAILABLE!
__start:
__text_start:
0032 E5CF LDI R28,0x5F
0033 E0D4 LDI R29,4
0034 BFCD OUT 0x3D,R28
0035 BFDE OUT 0x3E,R29
0036 51C0 SUBI R28,0x10
0037 40D0 SBCI R29,0
0038 EA0A LDI R16,0xAA
0039 8308 STD Y+0,R16
003A 2400 CLR R0
003B E7E0 LDI R30,0x70
003C E0F0 LDI R31,0
003D E010 LDI R17,0
003E 37E0 CPI R30,0x70
003F 07F1 CPC R31,R17
0040 F011 BEQ 0x0043
0041 9201 ST R0,Z+
0042 CFFB RJMP 0x003E
0043 8300 STD Z+0,R16
0044 E5E4 LDI R30,0x54
0045 E0F0 LDI R31,0
0046 E6A0 LDI R26,0x60
0047 E0B0 LDI R27,0
0048 E010 LDI R17,0
0049 36E4 CPI R30,0x64
004A 07F1 CPC R31,R17
004B F021 BEQ 0x0050
004C 95C8 LPM
004D 9631 ADIW R30,1
004E 920D ST R0,X+
004F CFF9 RJMP 0x0049
0050 940E014C CALL _main
_exit:
0052 CFFF RJMP _exit
_delay_1us:
0053 0000 NOP
0054 9508 RET
_delay_nus:
0055 940E0198 CALL push_gset2
0057 01B8 MOVW R22,R16
0058 2744 CLR R20
0059 2755 CLR R21
005A C003 RJMP 0x005E
005B DFF7 RCALL _delay_1us
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 940E018C CALL pop_gset2
0063 9508 RET
_delay_1ms:
0064 2700 CLR R16
0065 2711 CLR R17
0066 C002 RJMP 0x0069
0067 5F0F SUBI R16,0xFF
0068 4F1F SBCI R17,0xFF
0069 3704 CPI R16,0x74
006A E0E4 LDI R30,4
006B 071E CPC R17,R30
006C F3D0 BCS 0x0067
006D 9508 RET
_delay_nms:
006E 940E0198 CALL push_gset2
0070 01B8 MOVW R22,R16
0071 2744 CLR R20
0072 2755 CLR R21
0073 C003 RJMP 0x0077
0074 DFEF RCALL _delay_1ms
0075 5F4F SUBI R20,0xFF
0076 4F5F SBCI R21,0xFF
0077 1746 CP R20,R22
0078 0757 CPC R21,R23
0079 F3D0 BCS 0x0074
007A 940E018C CALL pop_gset2
007C 9508 RET
_LCD_init:
007D B38A IN R24,0x1A
007E 6F80 ORI R24,0xF0
007F BB8A OUT 0x1A,R24
0080 9AA7 SBI 0x14,7
0081 9AA6 SBI 0x14,6
0082 E208 LDI R16,0x28
0083 D014 RCALL _LCD_write_command
0084 D00D RCALL _LCD_en_write
0085 E208 LDI R16,0x28
0086 E010 LDI R17,0
0087 DFCD RCALL _delay_nus
0088 E208 LDI R16,0x28
0089 D00E RCALL _LCD_write_command
008A E00C LDI R16,0xC
008B D00C RCALL _LCD_write_command
008C E001 LDI R16,1
008D D00A RCALL _LCD_write_command
008E E002 LDI R16,2
008F E010 LDI R17,0
0090 DFDD RCALL _delay_nms
0091 9508 RET
_LCD_en_write:
0092 9AAF SBI 0x15,7
0093 E001 LDI R16,1
0094 E010 LDI R17,0
0095 DFBF RCALL _delay_nus
0096 98AF CBI 0x15,7
0097 9508 RET
_LCD_write_command:
0098 940E019A CALL push_gset1
009A 2F40 MOV R20,R16
009B E100 LDI R16,0x10
009C E010 LDI R17,0
009D DFB7 RCALL _delay_nus
009E 98AE CBI 0x15,6
009F B38B IN R24,0x1B
00A0 708F ANDI R24,0xF
00A1 BB8B OUT 0x1B,R24
00A2 2F84 MOV R24,R20
00A3 7F80 ANDI R24,0xF0
00A4 B22B IN R2,0x1B
00A5 2A28 OR R2,R24
00A6 BA2B OUT 0x1B,R2
00A7 DFEA RCALL _LCD_en_write
00A8 2F84 MOV R24,R20
00A9 708F ANDI R24,0xF
00AA 9582 SWAP R24
00AB 2F48 MOV R20,R24
00AC B38B IN R24,0x1B
00AD 708F ANDI R24,0xF
00AE BB8B OUT 0x1B,R24
00AF 2F84 MOV R24,R20
00B0 7F80 ANDI R24,0xF0
00B1 B22B IN R2,0x1B
00B2 2A28 OR R2,R24
00B3 BA2B OUT 0x1B,R2
00B4 DFDD RCALL _LCD_en_write
00B5 940E019D CALL pop_gset1
00B7 9508 RET
_LCD_write_data:
00B8 940E019A CALL push_gset1
00BA 2F40 MOV R20,R16
00BB E100 LDI R16,0x10
00BC E010 LDI R17,0
00BD DF97 RCALL _delay_nus
00BE 9AAE SBI 0x15,6
00BF B38B IN R24,0x1B
00C0 708F ANDI R24,0xF
00C1 BB8B OUT 0x1B,R24
00C2 2F84 MOV R24,R20
00C3 7F80 ANDI R24,0xF0
00C4 B22B IN R2,0x1B
00C5 2A28 OR R2,R24
00C6 BA2B OUT 0x1B,R2
00C7 DFCA RCALL _LCD_en_write
00C8 2F84 MOV R24,R20
00C9 708F ANDI R24,0xF
00CA 9582 SWAP R24
00CB 2F48 MOV R20,R24
00CC B38B IN R24,0x1B
00CD 708F ANDI R24,0xF
00CE BB8B OUT 0x1B,R24
00CF 2F84 MOV R24,R20
00D0 7F80 ANDI R24,0xF0
00D1 B22B IN R2,0x1B
00D2 2A28 OR R2,R24
00D3 BA2B OUT 0x1B,R2
00D4 DFBD RCALL _LCD_en_write
00D5 940E019D CALL pop_gset1
00D7 9508 RET
_LCD_set_xy:
00D8 940E0198 CALL push_gset2
00DA 2F42 MOV R20,R18
00DB 2F60 MOV R22,R16
00DC 2344 TST R20
00DD F419 BNE 0x00E1
00DE 2F46 MOV R20,R22
00DF 5840 SUBI R20,0x80
00E0 C002 RJMP 0x00E3
00E1 2F46 MOV R20,R22
00E2 5440 SUBI R20,0x40
00E3 2F04 MOV R16,R20
00E4 DFB3 RCALL _LCD_write_command
00E5 940E018C CALL pop_gset2
00E7 9508 RET
_LCD_write_string:
00E8 940E0196 CALL push_gset3
00EA 2EA2 MOV R10,R18
00EB 2F60 MOV R22,R16
00EC 814E LDD R20,Y+6
00ED 815F LDD R21,Y+7
00EE 2D2A MOV R18,R10
00EF 2F06 MOV R16,R22
00F0 DFE7 RCALL _LCD_set_xy
00F1 C005 RJMP 0x00F7
00F2 01FA MOVW R30,R20
00F3 8100 LDD R16,Z+0
00F4 DFC3 RCALL _LCD_write_data
00F5 5F4F SUBI R20,0xFF
00F6 4F5F SBCI R21,0xFF
00F7 01FA MOVW R30,R20
00F8 8020 LDD R2,Z+0
00F9 2022 TST R2
00FA F7B9 BNE 0x00F2
00FB 940E018F CALL pop_gset3
00FD 9508 RET
_LCD_write_char:
00FE 940E0198 CALL push_gset2
0100 2F62 MOV R22,R18
0101 2F40 MOV R20,R16
0102 2F26 MOV R18,R22
0103 2F04 MOV R16,R20
0104 DFD3 RCALL _LCD_set_xy
0105 810C LDD R16,Y+4
0106 DFB1 RCALL _LCD_write_data
0107 940E018C CALL pop_gset2
0109 9508 RET
_change:
010A 940E0198 CALL push_gset2
010C 01A9 MOVW R20,R18
010D 01B8 MOVW R22,R16
010E E02A LDI R18,0xA
010F E030 LDI R19,0
0110 018B MOVW R16,R22
0111 940E0170 CALL mod16u
0113 01C8 MOVW R24,R16
0114 96C0 ADIW R24,0x30
0115 01FA MOVW R30,R20
0116 8383 STD Z+3,R24
0117 E02A LDI R18,0xA
0118 E030 LDI R19,0
0119 018B MOVW R16,R22
011A 940E0172 CALL div16u
011C E02A LDI R18,0xA
011D E030 LDI R19,0
011E 940E0170 CALL mod16u
0120 01C8 MOVW R24,R16
0121 96C0 ADIW R24,0x30
0122 01FA MOVW R30,R20
0123 8382 STD Z+2,R24
0124 E624 LDI R18,0x64
0125 E030 LDI R19,0
0126 018B MOVW R16,R22
0127 940E0172 CALL div16u
0129 E02A LDI R18,0xA
012A E030 LDI R19,0
012B 940E0170 CALL mod16u
012D 01C8 MOVW R24,R16
012E 96C0 ADIW R24,0x30
012F 01FA MOVW R30,R20
0130 8381 STD Z+1,R24
0131 EE28 LDI R18,0xE8
0132 E033 LDI R19,3
0133 018B MOVW R16,R22
0134 940E0172 CALL div16u
0136 E02A LDI R18,0xA
0137 E030 LDI R19,0
0138 940E0170 CALL mod16u
013A 01C8 MOVW R24,R16
013B 96C0 ADIW R24,0x30
013C 01FA MOVW R30,R20
013D 8380 STD Z+0,R24
013E 940E018C CALL pop_gset2
0140 9508 RET
_ADC_convert:
0141 B124 IN R18,0x04
0142 2733 CLR R19
0143 B105 IN R16,0x05
0144 2711 CLR R17
0145 0118 MOVW R2,R16
0146 2C32 MOV R3,R2
0147 2422 CLR R2
0148 0E22 ADD R2,R18
0149 1E33 ADC R3,R19
014A 0181 MOVW R16,R2
014B 9508 RET
_main:
014C 9722 SBIW R28,2
014D 2422 CLR R2
014E BA2A OUT 0x1A,R2
014F E081 LDI R24,1
0150 BB8B OUT 0x1B,R24
0151 DF2B RCALL _LCD_init
0152 EC80 LDI R24,0xC0
0153 B987 OUT 0x07,R24
0154 EE87 LDI R24,0xE7
0155 B986 OUT 0x06,R24
0156 E604 LDI R16,0x64
0157 E010 LDI R17,0
0158 DF15 RCALL _delay_nms
0159 C013 RJMP 0x016D
015A DFE6 RCALL _ADC_convert
015B 01A8 MOVW R20,R16
015C E620 LDI R18,0x60
015D E030 LDI R19,0
015E DFAB RCALL _change
015F E685 LDI R24,0x65
0160 E090 LDI R25,0
0161 8399 STD Y+1,R25
0162 8388 STD Y+0,R24
0163 2722 CLR R18
0164 E004 LDI R16,4
0165 DF82 RCALL _LCD_write_string
0166 E680 LDI R24,0x60
0167 E090 LDI R25,0
0168 8399 STD Y+1,R25
0169 8388 STD Y+0,R24
016A E021 LDI R18,1
016B E006 LDI R16,6
016C DF7B RCALL _LCD_write_string
016D CFEC RJMP 0x015A
016E 9622 ADIW R28,2
016F 9508 RET
mod16u:
0170 9468 BSET 6
0171 C001 RJMP xdiv16u
div16u:
0172 94E8 BCLR 6
xdiv16u:
0173 92EA ST R14,-Y
0174 92FA ST R15,-Y
0175 938A ST R24,-Y
0176 24EE CLR R14
0177 24FF CLR R15
0178 E180 LDI R24,0x10
0179 0F00 LSL R16
017A 1F11 ROL R17
017B 1CEE ROL R14
017C 1CFF ROL R15
017D 16E2 CP R14,R18
017E 06F3 CPC R15,R19
017F F018 BCS 0x0183
0180 1AE2 SUB R14,R18
0181 0AF3 SBC R15,R19
0182 9503 INC R16
0183 958A DEC R24
0184 F7A1 BNE 0x0179
0185 F416 BRTC 0x0188
0186 2D0E MOV R16,R14
0187 2D1F MOV R17,R15
0188 9189 LD R24,Y+
0189 90F9 LD R15,Y+
018A 90E9 LD R14,Y+
018B 9508 RET
pop_gset2:
018C E0E2 LDI R30,2
018D 940C019E JMP pop
pop_gset3:
018F E0E4 LDI R30,4
0190 940C019E JMP pop
push_gset5:
0192 92FA ST R15,-Y
0193 92EA ST R14,-Y
push_gset4:
0194 92DA ST R13,-Y
0195 92CA ST R12,-Y
push_gset3:
0196 92BA ST R11,-Y
0197 92AA ST R10,-Y
push_gset2:
0198 937A ST R23,-Y
0199 936A ST R22,-Y
push_gset1:
019A 935A ST R21,-Y
019B 934A ST R20,-Y
019C 9508 RET
pop_gset1:
019D E0E1 LDI R30,1
pop:
019E 9149 LD R20,Y+
019F 9159 LD R21,Y+
01A0 FDE0 SBRC R30,0
01A1 9508 RET
01A2 9169 LD R22,Y+
01A3 9179 LD R23,Y+
01A4 FDE1 SBRC R30,1
01A5 9508 RET
01A6 90A9 LD R10,Y+
01A7 90B9 LD R11,Y+
01A8 FDE2 SBRC R30,2
01A9 9508 RET
01AA 90C9 LD R12,Y+
01AB 90D9 LD R13,Y+
01AC FDE3 SBRC R30,3
01AD 9508 RET
01AE 90E9 LD R14,Y+
01AF 90F9 LD R15,Y+
01B0 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -