📄 ps2-icc.lst
字号:
FILE: <library>
__start:
__text_start:
00D6 E5CF LDI R28,0x5F
00D7 E0D2 LDI R29,2
00D8 BFCD OUT 0x3D,R28
00D9 BFDE OUT 0x3E,R29
00DA 51C0 SUBI R28,0x10
00DB 40D0 SBCI R29,0
00DC EA0A LDI R16,0xAA
00DD 8308 STD Y+0,R16
00DE 2400 CLR R0
00DF E6E3 LDI R30,0x63
00E0 E0F0 LDI R31,0
00E1 E010 LDI R17,0
00E2 36E7 CPI R30,0x67
00E3 07F1 CPC R31,R17
00E4 F011 BEQ 0x00E7
00E5 9201 ST R0,Z+
00E6 CFFB RJMP 0x00E2
00E7 8300 STD Z+0,R16
00E8 EAE8 LDI R30,0xA8
00E9 E0F1 LDI R31,1
00EA E6A0 LDI R26,0x60
00EB E0B0 LDI R27,0
00EC E011 LDI R17,1
00ED 3AEB CPI R30,0xAB
00EE 07F1 CPC R31,R17
00EF F021 BEQ 0x00F4
00F0 95C8 LPM
00F1 9631 ADIW R30,1
00F2 920D ST R0,X+
00F3 CFF9 RJMP 0x00ED
00F4 D2C8 RCALL _main
_exit:
00F5 CFFF RJMP _exit
_Set_DI:
i --> R16
00F6 3001 CPI R16,1
00F7 F411 BNE 0x00FA
00F8 9AC0 SBI 0x18,0
00F9 C003 RJMP 0x00FD
00FA B388 IN R24,0x18
00FB 7F8E ANDI R24,0xFE
00FC BB88 OUT 0x18,R24
00FD 9508 RET
_Set_RW:
i --> R16
00FE 3001 CPI R16,1
00FF F411 BNE 0x0102
0100 9AC1 SBI 0x18,1
0101 C003 RJMP 0x0105
0102 B388 IN R24,0x18
0103 7F8D ANDI R24,0xFD
0104 BB88 OUT 0x18,R24
0105 9508 RET
_Set_EN:
i --> R16
0106 3001 CPI R16,1
0107 F411 BNE 0x010A
0108 9AC2 SBI 0x18,2
0109 C003 RJMP 0x010D
010A B388 IN R24,0x18
010B 7F8B ANDI R24,0xFB
010C BB88 OUT 0x18,R24
010D 9508 RET
_Set_CS1:
i --> R16
010E 3001 CPI R16,1
010F F411 BNE 0x0112
0110 9AC3 SBI 0x18,3
0111 C003 RJMP 0x0115
0112 B388 IN R24,0x18
0113 7F87 ANDI R24,0xF7
0114 BB88 OUT 0x18,R24
0115 9508 RET
_Set_CS2:
i --> R16
0116 3001 CPI R16,1
0117 F411 BNE 0x011A
0118 9AAE SBI 0x15,6
0119 C003 RJMP 0x011D
011A B385 IN R24,0x15
011B 7B8F ANDI R24,0xBF
011C BB85 OUT 0x15,R24
011D 9508 RET
_Set_RST:
i --> R16
011E 3001 CPI R16,1
011F F411 BNE 0x0122
0120 9AAF SBI 0x15,7
0121 C003 RJMP 0x0125
0122 B385 IN R24,0x15
0123 778F ANDI R24,0x7F
0124 BB85 OUT 0x15,R24
0125 9508 RET
_Delay:
j --> R20
i --> R16
0126 D31C RCALL push_gset1
0127 C00A RJMP 0x0132
0128 E848 LDI R20,0x88
0129 E153 LDI R21,0x13
012A C002 RJMP 0x012D
012B 5041 SUBI R20,1
012C 4050 SBCI R21,0
012D 3040 CPI R20,0
012E 0745 CPC R20,R21
012F F7D9 BNE 0x012B
0130 5001 SUBI R16,1
0131 4010 SBCI R17,0
0132 3000 CPI R16,0
0133 0701 CPC R16,R17
0134 F799 BNE 0x0128
0135 D310 RCALL pop_gset1
0136 9508 RET
_nop:
i --> R16
0137 C002 RJMP 0x013A
0138 0000 NOP
0139 950A DEC R16
013A 2300 TST R16
013B F7E1 BNE 0x0138
013C 9508 RET
_DisplayOnOff:
j --> Y+1
i --> R20
013D D305 RCALL push_gset1
013E 2F40 MOV R20,R16
013F 2700 CLR R16
0140 DFBD RCALL _Set_RW
0141 2700 CLR R16
0142 DFB3 RCALL _Set_DI
0143 2700 CLR R16
0144 DFC1 RCALL _Set_EN
0145 2F84 MOV R24,R20
0146 5C82 SUBI R24,0xC2
0147 BB8B OUT 0x1B,R24
0148 E00A LDI R16,0xA
0149 DFED RCALL _nop
014A E001 LDI R16,1
014B DFBA RCALL _Set_EN
014C E00A LDI R16,0xA
014D DFE9 RCALL _nop
014E E00A LDI R16,0xA
014F DFE7 RCALL _nop
0150 2700 CLR R16
0151 DFB4 RCALL _Set_EN
0152 D2F3 RCALL pop_gset1
0153 9508 RET
_SetStartLine:
i --> R20
0154 D2EE RCALL push_gset1
0155 2F40 MOV R20,R16
0156 2700 CLR R16
0157 DFA6 RCALL _Set_RW
0158 2700 CLR R16
0159 DF9C RCALL _Set_DI
015A 2700 CLR R16
015B DFAA RCALL _Set_EN
015C 2F84 MOV R24,R20
015D 5480 SUBI R24,0x40
015E BB8B OUT 0x1B,R24
015F E00A LDI R16,0xA
0160 DFD6 RCALL _nop
0161 E001 LDI R16,1
0162 DFA3 RCALL _Set_EN
0163 E00A LDI R16,0xA
0164 DFD2 RCALL _nop
0165 E00A LDI R16,0xA
0166 DFD0 RCALL _nop
0167 2700 CLR R16
0168 DF9D RCALL _Set_EN
0169 D2DC RCALL pop_gset1
016A 9508 RET
_SetX:
i --> R20
016B D2D7 RCALL push_gset1
016C 2F40 MOV R20,R16
016D 2700 CLR R16
016E DF8F RCALL _Set_RW
016F 2700 CLR R16
0170 DF85 RCALL _Set_DI
0171 2700 CLR R16
0172 DF93 RCALL _Set_EN
0173 2F84 MOV R24,R20
0174 5488 SUBI R24,0x48
0175 BB8B OUT 0x1B,R24
0176 E00A LDI R16,0xA
0177 DFBF RCALL _nop
0178 E001 LDI R16,1
0179 DF8C RCALL _Set_EN
017A E604 LDI R16,0x64
017B DFBB RCALL _nop
017C E604 LDI R16,0x64
017D DFB9 RCALL _nop
017E 2700 CLR R16
017F DF86 RCALL _Set_EN
0180 D2C5 RCALL pop_gset1
0181 9508 RET
_SetY:
i --> R20
0182 D2C0 RCALL push_gset1
0183 2F40 MOV R20,R16
0184 2700 CLR R16
0185 DF78 RCALL _Set_RW
0186 2700 CLR R16
0187 DF6E RCALL _Set_DI
0188 2700 CLR R16
0189 DF7C RCALL _Set_EN
018A 2F84 MOV R24,R20
018B 5C80 SUBI R24,0xC0
018C BB8B OUT 0x1B,R24
018D E00A LDI R16,0xA
018E DFA8 RCALL _nop
018F E001 LDI R16,1
0190 DF75 RCALL _Set_EN
0191 E00A LDI R16,0xA
0192 DFA4 RCALL _nop
0193 E00A LDI R16,0xA
0194 DFA2 RCALL _nop
0195 2700 CLR R16
0196 DF6F RCALL _Set_EN
0197 D2AE RCALL pop_gset1
0198 9508 RET
_WriteByte:
i --> R20
0199 D2A9 RCALL push_gset1
019A 2F40 MOV R20,R16
019B 2700 CLR R16
019C DF61 RCALL _Set_RW
019D E001 LDI R16,1
019E DF57 RCALL _Set_DI
019F 2700 CLR R16
01A0 DF65 RCALL _Set_EN
01A1 BB4B OUT 0x1B,R20
01A2 E00A LDI R16,0xA
01A3 DF93 RCALL _nop
01A4 E001 LDI R16,1
01A5 DF60 RCALL _Set_EN
01A6 E00A LDI R16,0xA
01A7 DF8F RCALL _nop
01A8 E00A LDI R16,0xA
01A9 DF8D RCALL _nop
01AA 2700 CLR R16
01AB DF5A RCALL _Set_EN
01AC D299 RCALL pop_gset1
01AD 9508 RET
_Reset:
01AE 2700 CLR R16
01AF DF6E RCALL _Set_RST
01B0 E001 LDI R16,1
01B1 E010 LDI R17,0
01B2 DF73 RCALL _Delay
01B3 E001 LDI R16,1
01B4 CF69 RJMP _Set_RST
_ClearScreen:
i --> R20
j --> R22
k --> R22
01B5 D2A4 RCALL push_gset2
01B6 2F60 MOV R22,R16
01B7 E001 LDI R16,1
01B8 DF55 RCALL _Set_CS1
01B9 E001 LDI R16,1
01BA DF5B RCALL _Set_CS2
01BB 2F46 MOV R20,R22
01BC C00A RJMP 0x01C7
01BD 2F04 MOV R16,R20
01BE DFAC RCALL _SetX
01BF 2766 CLR R22
01C0 C003 RJMP 0x01C4
01C1 2700 CLR R16
01C2 DFD6 RCALL _WriteByte
01C3 9563 INC R22
01C4 3460 CPI R22,0x40
01C5 F3D8 BCS 0x01C1
01C6 9543 INC R20
01C7 3048 CPI R20,0x8
01C8 F3A0 BCS 0x01BD
01C9 D273 RCALL pop_gset2
01CA 9508 RET
_InitLCD:
01CB DFE2 RCALL _Reset
01CC 2700 CLR R16
01CD 2711 CLR R17
01CE DF57 RCALL _Delay
01CF 2700 CLR R16
01D0 DFE4 RCALL _ClearScreen
01D1 E001 LDI R16,1
01D2 DF6A RCALL _DisplayOnOff
01D3 2700 CLR R16
01D4 CF7F RJMP _SetStartLine
_WriteWord:
i --> R20
cs --> Y+10
y --> R10
x --> R12
disp --> R22
01D5 D28A RCALL push_gset4
01D6 2EC2 MOV R12,R18
01D7 2F60 MOV R22,R16
01D8 2F71 MOV R23,R17
01D9 84A8 LDD R10,Y+8
01DA 858A LDD R24,Y+10
01DB 3081 CPI R24,1
01DC F429 BNE 0x01E2
01DD E001 LDI R16,1
01DE DF2F RCALL _Set_CS1
01DF 2700 CLR R16
01E0 DF35 RCALL _Set_CS2
01E1 C004 RJMP 0x01E6
01E2 2700 CLR R16
01E3 DF2A RCALL _Set_CS1
01E4 E001 LDI R16,1
01E5 DF30 RCALL _Set_CS2
01E6 2D0C MOV R16,R12
01E7 DF83 RCALL _SetX
01E8 2D0A MOV R16,R10
01E9 DF98 RCALL _SetY
01EA 2744 CLR R20
01EB C008 RJMP 0x01F4
01EC 2FE6 MOV R30,R22
01ED 2FF7 MOV R31,R23
01EE 95C8 LPM
01EF 2D00 MOV R16,R0
01F0 DFA8 RCALL _WriteByte
01F1 5F6F SUBI R22,0xFF
01F2 4F7F SBCI R23,0xFF
01F3 9543 INC R20
01F4 3140 CPI R20,0x10
01F5 F3B0 BCS 0x01EC
01F6 2D0C MOV R16,R12
01F7 5F0F SUBI R16,0xFF
01F8 DF72 RCALL _SetX
01F9 2D0A MOV R16,R10
01FA DF87 RCALL _SetY
01FB 2744 CLR R20
01FC C008 RJMP 0x0205
01FD 2FE6 MOV R30,R22
01FE 2FF7 MOV R31,R23
01FF 95C8 LPM
0200 2D00 MOV R16,R0
0201 DF97 RCALL _WriteByte
0202 5F6F SUBI R22,0xFF
0203 4F7F SBCI R23,0xFF
0204 9543 INC R20
0205 3140 CPI R20,0x10
0206 F3B0 BCS 0x01FD
0207 D239 RCALL pop_gset4
0208 9508 RET
_WriteCharacter:
i --> R20
cs --> Y+10
y --> R10
x --> R12
disp --> R22
0209 D256 RCALL push_gset4
020A 2EC2 MOV R12,R18
020B 2F60 MOV R22,R16
020C 2F71 MOV R23,R17
020D 84A8 LDD R10,Y+8
020E 840A LDD R0,Y+10
020F 2000 TST R0
0210 F429 BNE 0x0216
0211 E001 LDI R16,1
0212 DEFB RCALL _Set_CS1
0213 2700 CLR R16
0214 DF01 RCALL _Set_CS2
0215 C004 RJMP 0x021A
0216 2700 CLR R16
0217 DEF6 RCALL _Set_CS1
0218 E001 LDI R16,1
0219 DEFC RCALL _Set_CS2
021A 2D0C MOV R16,R12
021B DF4F RCALL _SetX
021C 2D0A MOV R16,R10
021D DF64 RCALL _SetY
021E 2744 CLR R20
021F C008 RJMP 0x0228
0220 2FE6 MOV R30,R22
0221 2FF7 MOV R31,R23
0222 95C8 LPM
0223 2D00 MOV R16,R0
0224 DF74 RCALL _WriteByte
0225 5F6F SUBI R22,0xFF
0226 4F7F SBCI R23,0xFF
0227 9543 INC R20
0228 3048 CPI R20,0x8
0229 F3B0 BCS 0x0220
022A 2D0C MOV R16,R12
022B 5F0F SUBI R16,0xFF
022C DF3E RCALL _SetX
022D 2D0A MOV R16,R10
022E DF53 RCALL _SetY
022F 2744 CLR R20
0230 C008 RJMP 0x0239
0231 2FE6 MOV R30,R22
0232 2FF7 MOV R31,R23
0233 95C8 LPM
0234 2D00 MOV R16,R0
0235 DF63 RCALL _WriteByte
0236 5F6F SUBI R22,0xFF
0237 4F7F SBCI R23,0xFF
0238 9543 INC R20
0239 3048 CPI R20,0x8
023A F3B0 BCS 0x0231
023B D205 RCALL pop_gset4
023C 9508 RET
_Write_Character:
shift1 --> R22
p --> R20
i --> R20
023D D21F RCALL push_gset3
023E 2F40 MOV R20,R16
023F 9723 SBIW R28,3
0240 2755 CLR R21
0241 3040 CPI R20,0
0242 0745 CPC R20,R21
0243 F109 BEQ 0x0265
0244 3041 CPI R20,1
0245 E0E0 LDI R30,0
0246 075E CPC R21,R30
0247 F101 BEQ 0x0268
0248 3042 CPI R20,2
0249 E0E0 LDI R30,0
024A 075E CPC R21,R30
024B F0F9 BEQ 0x026B
024C 3043 CPI R20,3
024D E0E0 LDI R30,0
024E 075E CPC R21,R30
024F F0F1 BEQ 0x026E
0250 3044 CPI R20,4
0251 E0E0 LDI R30,0
0252 075E CPC R21,R30
0253 F0E9 BEQ 0x0271
0254 3045 CPI R20,5
0255 E0E0 LDI R30,0
0256 075E CPC R21,R30
0257 F0E1 BEQ 0x0274
0258 3046 CPI R20,6
0259 E0E0 LDI R30,0
025A 075E CPC R21,R30
025B F0D9 BEQ 0x0277
025C 3047 CPI R20,7
025D E0E0 LDI R30,0
025E 075E CPC R21,R30
025F F0D1 BEQ 0x027A
0260 3048 CPI R20,0x8
0261 E0E0 LDI R30,0
0262 075E CPC R21,R30
0263 F0C9 BEQ 0x027D
0264 C01B RJMP 0x0280
0265 E948 LDI R20,0x98
0266 E050 LDI R21,0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -