📄 addc_icc.lst
字号:
252 D00B RCALL _LCD_Cursor
253 C004 RJMP 0x0258
254 01F5 MOVW R30,R10
255 9101 LD R16,Z+
256 015F MOVW R10,R30
257 DFD6 RCALL _LCD_DisplayCharacter
258 01F5 MOVW R30,R10
259 8020 LDD R2,Z+0
25A 2022 TST R2
25B F7C1 BNE 0x0254
25C 940C 03F4 JMP pop_xgset00FC
_LCD_Cursor:
column --> R20
row --> R10
25E 940E 0410 CALL push_xgsetF00C
260 2F42 MOV R20,R18
261 2EA0 MOV R10,R16
262 2D6A MOV R22,R10
263 2777 CLR R23
264 3061 CPI R22,1
265 E0E0 LDI R30,0
266 077E CPC R23,R30
267 F069 BEQ 0x0275
268 3062 CPI R22,2
269 E0E0 LDI R30,0
26A 077E CPC R23,R30
26B F071 BEQ 0x027A
26C 3063 CPI R22,3
26D E0E0 LDI R30,0
26E 077E CPC R23,R30
26F F079 BEQ 0x027F
270 3064 CPI R22,4
271 E0E0 LDI R30,0
272 077E CPC R23,R30
273 F081 BEQ 0x0284
274 C013 RJMP 0x0288
275 2F04 MOV R16,R20
276 5800 SUBI R16,0x80
277 5001 SUBI R16,1
278 DF61 RCALL _LCD_WriteControl
279 C00E RJMP 0x0288
27A 2F04 MOV R16,R20
27B 5400 SUBI R16,0x40
27C 5001 SUBI R16,1
27D DF5C RCALL _LCD_WriteControl
27E C009 RJMP 0x0288
27F 2F04 MOV R16,R20
280 560C SUBI R16,0x6C
281 5001 SUBI R16,1
282 DF57 RCALL _LCD_WriteControl
283 C004 RJMP 0x0288
284 2F04 MOV R16,R20
285 520C SUBI R16,0x2C
286 5001 SUBI R16,1
287 DF52 RCALL _LCD_WriteControl
288 940C 0417 JMP pop_xgsetF00C
_LCD_Cursor_On:
28A E00D LDI R16,0xD
28B DF4E RCALL _LCD_WriteControl
28C 9508 RET
_LCD_Cursor_Off:
28D E00C LDI R16,0xC
28E DF4B RCALL _LCD_WriteControl
28F 9508 RET
_LCD_Display_Off:
290 E008 LDI R16,0x8
291 DF48 RCALL _LCD_WriteControl
292 9508 RET
_LCD_Display_On:
293 E00C LDI R16,0xC
294 DF45 RCALL _LCD_WriteControl
295 9508 RET
_main:
test --> R10
RS --> R22
j --> Y,+2
value --> R20
count --> R10
296 9726 SBIW R28,6
297 E886 LDI R24,0x86
298 E090 LDI R25,0
299 015C MOVW R10,R24
29A E74E LDI R20,0x7E
29B E050 LDI R21,0
29C E96E LDI R22,0x9E
29D E070 LDI R23,0
29E 2422 CLR R2
29F 9220 009D STS RS_flag,R2
2A1 E001 LDI R16,1
2A2 E010 LDI R17,0
2A3 940E 00A2 CALL _delay_nms
2A5 EA8B LDI R24,0xAB
2A6 BF81 OUT 0x31,R24
2A7 940E 0075 CALL _init_adc
2A9 940E 03B1 CALL _InitSerial
2AB 940E 021A CALL _Init_LCD
2AD 82B9 STD Y+1,R11
2AE 82A8 STD Y+0,R10
2AF E021 LDI R18,1
2B0 E001 LDI R16,1
2B1 940E 024A CALL _LCD_DisplayString
2B3 8359 STD Y+1,R21
2B4 8348 STD Y+0,R20
2B5 E021 LDI R18,1
2B6 E002 LDI R16,2
2B7 940E 024A CALL _LCD_DisplayString
2B9 018A MOVW R16,R20
2BA 940E 03A2 CALL _put_string
2BC E00D LDI R16,0xD
2BD E010 LDI R17,0
2BE 940E 039E CALL _put_char
2C0 E00A LDI R16,0xA
2C1 E010 LDI R17,0
2C2 940E 039E CALL _put_char
2C4 C085 RJMP 0x034A
2C5 E608 LDI R16,0x68
2C6 E010 LDI R17,0
2C7 940E 0435 CALL lpm32
2C9 0118 MOVW R2,R16
2CA 0129 MOVW R4,R18
2CB B104 IN R16,0x04
2CC B115 IN R17,0x05
2CD 7013 ANDI R17,3
2CE 940E 0475 CALL uint2fp
2D0 933A ST R19,-Y
2D1 932A ST R18,-Y
2D2 931A ST R17,-Y
2D3 930A ST R16,-Y
2D4 0181 MOVW R16,R2
2D5 0192 MOVW R18,R4
2D6 940E 0627 CALL fpmule2
2D8 0118 MOVW R2,R16
2D9 0129 MOVW R4,R18
2DA E604 LDI R16,0x64
2DB E010 LDI R17,0
2DC 940E 0435 CALL lpm32
2DE 933A ST R19,-Y
2DF 932A ST R18,-Y
2E0 931A ST R17,-Y
2E1 930A ST R16,-Y
2E2 0181 MOVW R16,R2
2E3 0192 MOVW R18,R4
2E4 940E 049E CALL fpdiv2
2E6 830A STD Y+2,R16
2E7 831B STD Y+3,R17
2E8 832C STD Y+4,R18
2E9 833D STD Y+5,R19
2EA E600 LDI R16,0x60
2EB E010 LDI R17,0
2EC 940E 0435 CALL lpm32
2EE 01CE MOVW R24,R28
2EF 9602 ADIW R24,2
2F0 939A ST R25,-Y
2F1 938A ST R24,-Y
2F2 940E 061D CALL fpmule1
2F4 940E 0449 CALL fpint
2F6 0158 MOVW R10,R16
2F7 EE28 LDI R18,0xE8
2F8 E033 LDI R19,3
2F9 940E 03BE CALL div16s
2FB 01C8 MOVW R24,R16
2FC 96C0 ADIW R24,0x30
2FD 01FA MOVW R30,R20
2FE 8380 STD Z+0,R24
2FF EE28 LDI R18,0xE8
300 E033 LDI R19,3
301 0185 MOVW R16,R10
302 940E 03BA CALL mod16s
304 0158 MOVW R10,R16
305 E624 LDI R18,0x64
306 E030 LDI R19,0
307 940E 03BE CALL div16s
309 01C8 MOVW R24,R16
30A 96C0 ADIW R24,0x30
30B 01FA MOVW R30,R20
30C 8382 STD Z+2,R24
30D E624 LDI R18,0x64
30E E030 LDI R19,0
30F 0185 MOVW R16,R10
310 940E 03BA CALL mod16s
312 0158 MOVW R10,R16
313 E02A LDI R18,0xA
314 E030 LDI R19,0
315 940E 03BE CALL div16s
317 01C8 MOVW R24,R16
318 96C0 ADIW R24,0x30
319 01FA MOVW R30,R20
31A 8383 STD Z+3,R24
31B E02A LDI R18,0xA
31C E030 LDI R19,0
31D 0185 MOVW R16,R10
31E 940E 03BA CALL mod16s
320 01C8 MOVW R24,R16
321 96C0 ADIW R24,0x30
322 01FA MOVW R30,R20
323 8384 STD Z+4,R24
324 E021 LDI R18,1
325 2700 CLR R16
326 940E 025E CALL _LCD_Cursor
328 8359 STD Y+1,R21
329 8348 STD Y+0,R20
32A E021 LDI R18,1
32B E002 LDI R16,2
32C 940E 024A CALL _LCD_DisplayString
32E 018A MOVW R16,R20
32F 940E 03A2 CALL _put_string
331 E00D LDI R16,0xD
332 E010 LDI R17,0
333 940E 039E CALL _put_char
335 E00A LDI R16,0xA
336 E010 LDI R17,0
337 940E 039E CALL _put_char
339 EE08 LDI R16,0xE8
33A E013 LDI R17,3
33B 940E 00A2 CALL _delay_nms
33D 9020 009D LDS R2,RS_flag
33F 2022 TST R2
340 F049 BEQ 0x034A
341 8379 STD Y+1,R23
342 8368 STD Y+0,R22
343 E02A LDI R18,0xA
344 E002 LDI R16,2
345 940E 024A CALL _LCD_DisplayString
347 2422 CLR R2
348 9220 009D STS RS_flag,R2
34A CF7A RJMP 0x02C5
34B 9626 ADIW R28,6
34C 9508 RET
_uart_rx_isr:
34D 920A ST R0,-Y
34E 921A ST R1,-Y
34F 922A ST R2,-Y
350 923A ST R3,-Y
351 924A ST R4,-Y
352 925A ST R5,-Y
353 926A ST R6,-Y
354 927A ST R7,-Y
355 928A ST R8,-Y
356 929A ST R9,-Y
357 930A ST R16,-Y
358 931A ST R17,-Y
359 932A ST R18,-Y
35A 933A ST R19,-Y
35B 938A ST R24,-Y
35C 939A ST R25,-Y
35D 93AA ST R26,-Y
35E 93BA ST R27,-Y
35F 93EA ST R30,-Y
360 93FA ST R31,-Y
361 B60F IN R0,0x3F
362 920A ST R0,-Y
363 2422 CLR R2
364 BE2F OUT 0x3F,R2
365 E081 LDI R24,1
366 9380 009D STS RS_flag,R24
368 9180 00A8 LDS R24,RSend
36A 5F8F SUBI R24,0xFF
36B 9380 00A8 STS RSend,R24
36D E98E LDI R24,0x9E
36E E090 LDI R25,0
36F 91E0 00A8 LDS R30,RSend
371 27FF CLR R31
372 0FE8 ADD R30,R24
373 1FF9 ADC R31,R25
374 B02C IN R2,0x0C
375 8220 STD Z+0,R2
376 91E0 00A8 LDS R30,RSend
378 27FF CLR R31
379 0FE8 ADD R30,R24
37A 1FF9 ADC R31,R25
37B 8100 LDD R16,Z+0
37C 2711 CLR R17
37D 940E 039E CALL _put_char
37F 9180 00A8 LDS R24,RSend
381 308A CPI R24,0xA
382 F018 BCS 0x0386
383 2422 CLR R2
384 9220 00A8 STS RSend,R2
386 9478 BSET 7
387 9009 LD R0,Y+
388 BE0F OUT 0x3F,R0
389 91F9 LD R31,Y+
38A 91E9 LD R30,Y+
38B 91B9 LD R27,Y+
38C 91A9 LD R26,Y+
38D 9199 LD R25,Y+
38E 9189 LD R24,Y+
38F 9139 LD R19,Y+
390 9129 LD R18,Y+
391 9119 LD R17,Y+
392 9109 LD R16,Y+
393 9099 LD R9,Y+
394 9089 LD R8,Y+
395 9079 LD R7,Y+
396 9069 LD R6,Y+
397 9059 LD R5,Y+
398 9049 LD R4,Y+
399 9039 LD R3,Y+
39A 9029 LD R2,Y+
39B 9019 LD R1,Y+
39C 9009 LD R0,Y+
39D 9518 RETI
_put_char:
ch --> R16
39E 9B5D SBIS 0x0B,5
39F CFFE RJMP _put_char
3A0 B90C OUT 0x0C,R16
3A1 9508 RET
_put_string:
string --> R10
3A2 92AA ST R10,-Y
3A3 92BA ST R11,-Y
3A4 0158 MOVW R10,R16
3A5 C004 RJMP 0x03AA
3A6 01F5 MOVW R30,R10
3A7 9101 LD R16,Z+
3A8 015F MOVW R10,R30
3A9 DFF4 RCALL _put_char
3AA 01F5 MOVW R30,R10
3AB 8020 LDD R2,Z+0
3AC 2022 TST R2
3AD F7C1 BNE 0x03A6
3AE 90B9 LD R11,Y+
3AF 90A9 LD R10,Y+
3B0 9508 RET
_InitSerial:
3B1 E988 LDI R24,0x98
3B2 B98A OUT 0x0A,R24
3B3 E886 LDI R24,0x86
3B4 BD80 OUT 0x20,R24
3B5 2422 CLR R2
3B6 BC20 OUT 0x20,R2
3B7 E189 LDI R24,0x19
3B8 B989 OUT 0x09,R24
3B9 9508 RET
mod16s:
3BA 9468 BSET 6
3BB 92DA ST R13,-Y
3BC 2ED1 MOV R13,R17
3BD C004 RJMP 0x03C2
div16s:
3BE 94E8 BCLR 6
3BF 92DA ST R13,-Y
3C0 2ED1 MOV R13,R17
3C1 26D3 EOR R13,R19
3C2 FF17 SBRS R17,7
3C3 C004 RJMP 0x03C8
3C4 9510 COM R17
3C5 9500 COM R16
3C6 5F0F SUBI R16,0xFF
3C7 4F1F SBCI R17,0xFF
3C8 FF37 SBRS R19,7
3C9 C004 RJMP 0x03CE
3CA 9530 COM R19
3CB 9520 COM R18
3CC 5F2F SUBI R18,0xFF
3CD 4F3F SBCI R19,0xFF
3CE 940E 03DB CALL xdiv16u
3D0 FED7 SBRS R13,7
3D1 C004 RJMP 0x03D6
3D2 9510 COM R17
3D3 9500 COM R16
3D4 5F0F SUBI R16,0xFF
3D5 4F1F SBCI R17,0xFF
3D6 90D9 LD R13,Y+
3D7 9508 RET
mod16u:
3D8 9468 BSET 6
3D9 C001 RJMP xdiv16u
div16u:
3DA 94E8 BCLR 6
xdiv16u:
3DB 92EA ST R14,-Y
3DC 92FA ST R15,-Y
3DD 938A ST R24,-Y
3DE 24EE CLR R14
3DF 24FF CLR R15
3E0 E180 LDI R24,0x10
3E1 0F00 LSL R16
3E2 1F11 ROL R17
3E3 1CEE ROL R14
3E4 1CFF ROL R15
3E5 16E2 CP R14,R18
3E6 06F3 CPC R15,R19
3E7 F018 BCS 0x03EB
3E8 1AE2 SUB R14,R18
3E9 0AF3 SBC R15,R19
3EA 9503 INC R16
3EB 958A DEC R24
3EC F7A1 BNE 0x03E1
3ED F416 BRTC 0x03F0
3EE 2D0E MOV R16,R14
3EF 2D1F MOV R17,R15
3F0 9189 LD R24,Y+
3F1 90F9 LD R15,Y+
3F2 90E9 LD R14,Y+
3F3 9508 RET
pop_xgset00FC:
3F4 90A9 LD R10,Y+
3F5 90B9 LD R11,Y+
3F6 90C9 LD R12,Y+
3F7 90D9 LD R13,Y+
3F8 90E9 LD R14,Y+
3F9 90F9 LD R15,Y+
3FA 9508 RET
push_xgsetF0FC:
3FB 937A ST R23,-Y
3FC 936A ST R22,-Y
push_xgset30FC:
3FD 935A ST R21,-Y
3FE 934A ST R20,-Y
push_xgset00FC:
3FF 92FA ST R15,-Y
400 92EA ST R14,-Y
push_xgset003C:
401 92DA ST R13,-Y
402 92CA ST R12,-Y
403 92BA ST R11,-Y
404 92AA ST R10,-Y
405 9508 RET
push_xgset300C:
406 935A ST R21,-Y
407 934A ST R20,-Y
408 92BA ST R11,-Y
409 92AA ST R10,-Y
40A 9508 RET
pop_xgset300C:
40B 90A9 LD R10,Y+
40C 90B9 LD R11,Y+
40D 9149 LD R20,Y+
40E 9159 LD R21,Y+
40F 9508 RET
push_xgsetF00C:
410 937A ST R23,-Y
411 936A ST R22,-Y
412 935A ST R21,-Y
413 934A ST R20,-Y
414 92BA ST R11,-Y
415 92AA ST R10,-Y
416 9508 RET
pop_xgsetF00C:
417 90A9 LD R10,Y+
418 90B9 LD R11,Y+
419 9149 LD R20,Y+
41A 9159 LD R21,Y+
41B 9169 LD R22,Y+
41C 9179 LD R23,Y+
41D 9508 RET
push_xgset303C:
41E 935A ST R21,-Y
41F 934A ST R20,-Y
420 92DA ST R13,-Y
421 92CA ST R12,-Y
422 92BA ST R11,-Y
423 92AA ST R10,-Y
424 9508 RET
pop_xgset303C:
425 90A9 LD R10,Y+
426 90B9 LD R11,Y+
427 90C9 LD R12,Y+
428 90D9 LD R13,Y+
429 9149 LD R20,Y+
42A 9159 LD R21,Y+
42B 9508 RET
neg32:
42C 9500 COM R16
42D 9510 COM R17
42E 9520 COM R18
42F 9530 COM R19
430 5F0F SUBI R16,0xFF
431 4F1F SBCI R17,0xFF
432 4F2F SBCI R18,0xFF
433 4F3F SBCI R19,0xFF
434 9508 RET
lpm32:
435 93EA ST R30,-Y
436 93FA ST R31,-Y
437 920A ST R0,-Y
438 2FE0 MOV R30,R16
439 2FF1 MOV R31,R17
43A 95C8 LPM
43B 2D00 MOV R16,R0
43C 9631 ADIW R30,1
43D 95C8 LPM
43E 2D10 MOV R17,R0
43F 9631 ADIW R30,1
440 95C8 LPM
441 2D20 MOV R18,R0
442 9631 ADIW R30,1
443 95C8 LPM
444 2D30 MOV R19,R0
445 9009 LD R0,Y+
446 91F9 LD R31,Y+
447 91E9 LD R30,Y+
448 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -