📄 3.lst
字号:
FILE: <library>
__text_start:
__start:
00E2 E5CF LDI R28,0x5F
00E3 E0D4 LDI R29,4
00E4 BFCD OUT 0x3D,R28
00E5 BFDE OUT 0x3E,R29
00E6 51C0 SUBI R28,0x10
00E7 40D0 SBCI R29,0
00E8 EA0A LDI R16,0xAA
00E9 8308 STD Y+0,R16
00EA 2400 CLR R0
00EB E7E0 LDI R30,0x70
00EC E0F0 LDI R31,0
00ED E010 LDI R17,0
00EE 37E0 CPI R30,0x70
00EF 07F1 CPC R31,R17
00F0 F011 BEQ 0x00F3
00F1 9201 ST R0,Z+
00F2 CFFB RJMP 0x00EE
00F3 8300 STD Z+0,R16
00F4 EBE4 LDI R30,0xB4
00F5 E0F1 LDI R31,1
00F6 E6A0 LDI R26,0x60
00F7 E0B0 LDI R27,0
00F8 E011 LDI R17,1
00F9 3CE4 CPI R30,0xC4
00FA 07F1 CPC R31,R17
00FB F021 BEQ 0x0100
00FC 95C8 LPM
00FD 9631 ADIW R30,1
00FE 920D ST R0,X+
00FF CFF9 RJMP 0x00F9
0100 940E02A1 CALL _main
_exit:
0102 CFFF RJMP _exit
_port_init:
0103 EF8F LDI R24,0xFF
0104 BB8B OUT 0x1B,R24
0105 BB8A OUT 0x1A,R24
0106 BB88 OUT 0x18,R24
0107 BB87 OUT 0x17,R24
0108 BB85 OUT 0x15,R24
0109 BB84 OUT 0x14,R24
010A BB82 OUT 0x12,R24
010B BB81 OUT 0x11,R24
010C 9508 RET
_init_devices:
010D 94F8 BCLR 7
010E DFF4 RCALL _port_init
010F 2422 CLR R2
0110 BE25 OUT 0x35,R2
0111 BE2B OUT 0x3B,R2
0112 BE29 OUT 0x39,R2
0113 9478 BSET 7
0114 9508 RET
_CheckState:
dat --> Y+1
0115 98C0 CBI 0x18,0
0116 9AC1 SBI 0x18,1
0117 2422 CLR R2
0118 BA2A OUT 0x1A,R2
0119 9AC2 SBI 0x18,2
011A 98C2 CBI 0x18,2
011B 99CF SBIC 0x19,7
011C CFFC RJMP 0x0119
011D 9508 RET
_WriteByte:
dat --> R20
011E 940E02BA CALL push_gset1
0120 2F40 MOV R20,R16
0121 DFF3 RCALL _CheckState
0122 9AC0 SBI 0x18,0
0123 98C1 CBI 0x18,1
0124 EF8F LDI R24,0xFF
0125 BB8A OUT 0x1A,R24
0126 BB4B OUT 0x1B,R20
0127 9AC2 SBI 0x18,2
0128 98C2 CBI 0x18,2
0129 940E02BD CALL pop_gset1
012B 9508 RET
_SendCommandToLCD:
command --> R20
012C 940E02BA CALL push_gset1
012E 2F40 MOV R20,R16
012F DFE5 RCALL _CheckState
0130 B388 IN R24,0x18
0131 7F8C ANDI R24,0xFC
0132 BB88 OUT 0x18,R24
0133 EF8F LDI R24,0xFF
0134 BB8A OUT 0x1A,R24
0135 BB4B OUT 0x1B,R20
0136 9AC2 SBI 0x18,2
0137 98C2 CBI 0x18,2
0138 940E02BD CALL pop_gset1
013A 9508 RET
_SetLine:
line --> R20
013B 940E02BA CALL push_gset1
013D 2F40 MOV R20,R16
013E 7047 ANDI R20,7
013F 6B48 ORI R20,0xB8
0140 2F04 MOV R16,R20
0141 DFEA RCALL _SendCommandToLCD
0142 940E02BD CALL pop_gset1
0144 9508 RET
_SetColumn:
column --> R20
0145 940E02BA CALL push_gset1
0147 2F40 MOV R20,R16
0148 734F ANDI R20,0x3F
0149 6440 ORI R20,0x40
014A 2F04 MOV R16,R20
014B DFE0 RCALL _SendCommandToLCD
014C 940E02BD CALL pop_gset1
014E 9508 RET
_SetStartLine:
startline --> R20
014F 940E02BA CALL push_gset1
0151 2F40 MOV R20,R16
0152 7047 ANDI R20,7
0153 6C40 ORI R20,0xC0
0154 2F04 MOV R16,R20
0155 DFD6 RCALL _SendCommandToLCD
0156 940E02BD CALL pop_gset1
0158 9508 RET
_SetOnOff:
onoff --> R20
0159 940E02BA CALL push_gset1
015B 2F40 MOV R20,R16
015C 634E ORI R20,0x3E
015D 2F04 MOV R16,R20
015E DFCD RCALL _SendCommandToLCD
015F 940E02BD CALL pop_gset1
0161 9508 RET
_Clr_Scr:
k --> R20
j --> R22
0162 940E02B8 CALL push_gset2
0164 B388 IN R24,0x18
0165 6188 ORI R24,0x18
0166 BB88 OUT 0x18,R24
0167 2700 CLR R16
0168 DFD2 RCALL _SetLine
0169 2700 CLR R16
016A DFDA RCALL _SetColumn
016B 2744 CLR R20
016C C00A RJMP 0x0177
016D 2F04 MOV R16,R20
016E DFCC RCALL _SetLine
016F 2766 CLR R22
0170 C003 RJMP 0x0174
0171 2700 CLR R16
0172 DFAB RCALL _WriteByte
0173 9563 INC R22
0174 3460 CPI R22,0x40
0175 F3D8 BCS 0x0171
0176 9543 INC R20
0177 3048 CPI R20,0x8
0178 F3A0 BCS 0x016D
0179 940E02AC CALL pop_gset2
017B 9508 RET
_init_lcd:
017C 98C5 CBI 0x18,5
017D 9AC5 SBI 0x18,5
017E B388 IN R24,0x18
017F 6188 ORI R24,0x18
0180 BB88 OUT 0x18,R24
0181 E30E LDI R16,0x3E
0182 DFD6 RCALL _SetOnOff
0183 2700 CLR R16
0184 DFB6 RCALL _SetLine
0185 2700 CLR R16
0186 DFC8 RCALL _SetStartLine
0187 2700 CLR R16
0188 DFBC RCALL _SetColumn
0189 E30F LDI R16,0x3F
018A DFCE RCALL _SetOnOff
018B 9508 RET
_word_disp:
k --> R20
j --> R22
i --> R10
hzk --> R12
row --> R14
pag --> Y+10
018C 940E02A7 CALL push_arg4
018E 940E02B2 CALL push_gset5
0190 2EE2 MOV R14,R18
0191 84CE LDD R12,Y+14
0192 84DF LDD R13,Y+15
0193 2766 CLR R22
0194 24AA CLR R10
0195 2744 CLR R20
0196 C024 RJMP 0x01BB
0197 2D8E MOV R24,R14
0198 3084 CPI R24,4
0199 F420 BCC 0x019E
019A 2F48 MOV R20,R24
019B 9AC3 SBI 0x18,3
019C 98C4 CBI 0x18,4
019D C004 RJMP 0x01A2
019E 2D4E MOV R20,R14
019F 5044 SUBI R20,4
01A0 98C3 CBI 0x18,3
01A1 9AC4 SBI 0x18,4
01A2 850A LDD R16,Y+10
01A3 0F06 ADD R16,R22
01A4 DF96 RCALL _SetLine
01A5 E180 LDI R24,0x10
01A6 9F84 MUL R24,R20
01A7 2D00 MOV R16,R0
01A8 DF9C RCALL _SetColumn
01A9 24AA CLR R10
01AA C00C RJMP 0x01B7
01AB E180 LDI R24,0x10
01AC 9F86 MUL R24,R22
01AD 01F0 MOVW R30,R0
01AE 2C2A MOV R2,R10
01AF 2433 CLR R3
01B0 0DE2 ADD R30,R2
01B1 1DF3 ADC R31,R3
01B2 0DEC ADD R30,R12
01B3 1DFD ADC R31,R13
01B4 9104 LPM R16,0(Z)
01B5 DF68 RCALL _WriteByte
01B6 94A3 INC R10
01B7 2D8A MOV R24,R10
01B8 3180 CPI R24,0x10
01B9 F388 BCS 0x01AB
01BA 9563 INC R22
01BB 3062 CPI R22,2
01BC F2D0 BCS 0x0197
01BD 940E02AF CALL pop_gset5
01BF 9624 ADIW R28,4
01C0 9508 RET
_byte_disp:
k --> R20
j --> R22
i --> R10
bytek --> R12
row --> R14
pag --> Y+10
01C1 940E02A7 CALL push_arg4
01C3 940E02B2 CALL push_gset5
01C5 2EE2 MOV R14,R18
01C6 84CE LDD R12,Y+14
01C7 84DF LDD R13,Y+15
01C8 2766 CLR R22
01C9 24AA CLR R10
01CA 2744 CLR R20
01CB C024 RJMP 0x01F0
01CC 2D8E MOV R24,R14
01CD 3088 CPI R24,0x8
01CE F420 BCC 0x01D3
01CF 2F48 MOV R20,R24
01D0 9AC3 SBI 0x18,3
01D1 98C4 CBI 0x18,4
01D2 C004 RJMP 0x01D7
01D3 2D4E MOV R20,R14
01D4 5048 SUBI R20,0x8
01D5 98C3 CBI 0x18,3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -