📄 test.lst
字号:
(0138) {
(0139) //unsigned char fuhao;
(0140) unsigned char data[4];
(0141) unsigned char i;
(0142)
(0143) /*if(dat<0)
(0144) {
(0145) fuhao='-';
(0146) dat=0-dat;
(0147) }
(0148) else
(0149) fuhao=' ';
(0150) data[0]=fuhao;*/
(0151) data[0]=dat/1000+0x30; dat%=1000;
27E EE28 LDI R18,0xE8
27F E033 LDI R19,3
280 0187 MOVW R16,R14
281 D075 RCALL div16s
282 01C8 MOVW R24,R16
283 96C0 ADIW R24,0x30
284 8388 STD Y+0,R24
285 EE28 LDI R18,0xE8
286 E033 LDI R19,3
287 0187 MOVW R16,R14
288 D06A RCALL mod16s
289 0178 MOVW R14,R16
(0152) data[1]=dat/100+0x30; dat%=100;
28A E624 LDI R18,0x64
28B E030 LDI R19,0
28C D06A RCALL div16s
28D 01C8 MOVW R24,R16
28E 96C0 ADIW R24,0x30
28F 8389 STD Y+1,R24
290 E624 LDI R18,0x64
291 E030 LDI R19,0
292 0187 MOVW R16,R14
293 D05F RCALL mod16s
294 0178 MOVW R14,R16
(0153) data[2]=dat/10+0x30;
295 E02A LDI R18,0xA
296 E030 LDI R19,0
297 D05F RCALL div16s
298 01C8 MOVW R24,R16
299 96C0 ADIW R24,0x30
29A 838A STD Y+2,R24
(0154) data[3]=dat%10+0x30;
29B E02A LDI R18,0xA
29C E030 LDI R19,0
29D 0187 MOVW R16,R14
29E D054 RCALL mod16s
29F 01C8 MOVW R24,R16
2A0 96C0 ADIW R24,0x30
2A1 838B STD Y+3,R24
(0155)
(0156) LCD_set_xy(X,Y);
2A2 2D2C MOV R18,R12
2A3 2D0A MOV R16,R10
2A4 DF59 RCALL _LCD_set_xy
(0157) for(i=0;i<4;i++)
2A5 2744 CLR R20
2A6 C007 RJMP 0x02AE
(0158) LCD_write_char(0,data[i]);
2A7 01CE MOVW R24,R28
2A8 940E 03F4 CALL 0x03F4
2AA 940E 0403 CALL 0x0403
2AC DF67 RCALL _LCD_write_char
2AD 9543 INC R20
2AE 3044 CPI R20,4
2AF F3B8 BCS 0x02A7
2B0 9624 ADIW R28,4
2B1 C086 RJMP pop_xgset30FC
_main:
temp1 --> Y,+24
temp2 --> Y,+5
i --> R20
2B2 97AB SBIW R28,0x2B
FILE: D:\mega16_32实验板资料\ICCAVR源程序\twi\24c64\连续读写\24cxx_test.c
(0001) //ICC-AVR application builder : 2008-11-10 11:10:06
(0002) // Target : M16
(0003) // Crystal: 8.0000Mhz
(0004)
(0005) #include <iom16v.h>
(0006) #include <macros.h>
(0007)
(0008)
(0009) #include "delay.h"
(0010) #include "24cxx.h"
(0011) #include "lcd1602.h"
(0012)
(0013) //
(0014) void main(void)
(0015) {
(0016) unsigned char temp1[19]={18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
2B3 E584 LDI R24,0x54
2B4 E090 LDI R25,0
2B5 01FE MOVW R30,R28
2B6 9678 ADIW R30,0x18
2B7 940E 03D8 CALL 0x03D8
2B9 D0CA RCALL asgncblk
(0017) unsigned char temp2[19]={0};
2BA E687 LDI R24,0x67
2BB E090 LDI R25,0
2BC 01FE MOVW R30,R28
2BD 9635 ADIW R30,5
2BE 940E 03D8 CALL 0x03D8
2C0 D0C3 RCALL asgncblk
(0018) unsigned char i;
(0019) LCD_init();
2C1 DF1D RCALL _LCD_init
(0020) //insert your functional code here...
(0021) LCD_write_string(0,0," AT24C64 TEST ");
2C2 E680 LDI R24,0x60
2C3 E090 LDI R25,0
2C4 8399 STD Y+1,R25
2C5 8388 STD Y+0,R24
2C6 2722 CLR R18
2C7 2700 CLR R16
2C8 DF9B RCALL _LCD_write_string
(0022) AT24CxxWrite(64,0,1000,temp1,19);
2C9 E183 LDI R24,0x13
2CA 838C STD Y+4,R24
2CB 01CE MOVW R24,R28
2CC 9648 ADIW R24,0x18
2CD 940E 03A5 CALL 0x03A5
2CF DDE7 RCALL _AT24CxxWrite
(0023) AT24CxxRead(64,0,1000,temp2,19);
2D0 E183 LDI R24,0x13
2D1 838C STD Y+4,R24
2D2 01CE MOVW R24,R28
2D3 9605 ADIW R24,5
2D4 940E 03A5 CALL 0x03A5
2D6 DEC3 RCALL _AT24CxxRead
2D7 C013 RJMP 0x02EB
(0024) while(1)
(0025) {
(0026) for(i=0;i<19;i++)
2D8 2744 CLR R20
2D9 C00F RJMP 0x02E9
(0027) {
(0028) LCD_write_data(5,1,temp2[i]);
2DA 01CE MOVW R24,R28
2DB 9605 ADIW R24,5
2DC 940E 03F4 CALL 0x03F4
2DE 8020 LDD R2,Z+0
2DF 2433 CLR R3
2E0 8239 STD Y+1,R3
2E1 8228 STD Y+0,R2
2E2 E021 LDI R18,1
2E3 E005 LDI R16,5
2E4 DF93 RCALL _LCD_write_data
(0029) delay_ms(1000);
FILE: <library>
2E5 EE08 LDI R16,0xE8
2E6 E013 LDI R17,3
2E7 DD9B RCALL _delay_ms
2E8 9543 INC R20
2E9 3143 CPI R20,0x13
2EA F378 BCS 0x02DA
2EB CFEC RJMP 0x02D8
2EC 96AB ADIW R28,0x2B
2ED 9508 RET
push_arg4:
2EE 933A ST R19,-Y
2EF 932A ST R18,-Y
push_arg2:
2F0 931A ST R17,-Y
2F1 930A ST R16,-Y
2F2 9508 RET
mod16s:
2F3 9468 BSET 6
2F4 92DA ST R13,-Y
2F5 2ED1 MOV R13,R17
2F6 C004 RJMP 0x02FB
div16s:
2F7 94E8 BCLR 6
2F8 92DA ST R13,-Y
2F9 2ED1 MOV R13,R17
2FA 26D3 EOR R13,R19
2FB FF17 SBRS R17,7
2FC C002 RJMP 0x02FF
2FD 940E 03F9 CALL 0x03F9
2FF FF37 SBRS R19,7
300 C004 RJMP 0x0305
301 9530 COM R19
302 9520 COM R18
303 5F2F SUBI R18,0xFF
304 4F3F SBCI R19,0xFF
305 D009 RCALL xdiv16u
306 FED7 SBRS R13,7
307 C002 RJMP 0x030A
308 940E 03F9 CALL 0x03F9
30A 90D9 LD R13,Y+
30B 9508 RET
mod16u:
30C 9468 BSET 6
30D C001 RJMP xdiv16u
div16u:
30E 94E8 BCLR 6
xdiv16u:
30F 92EA ST R14,-Y
310 92FA ST R15,-Y
311 938A ST R24,-Y
312 24EE CLR R14
313 24FF CLR R15
314 E180 LDI R24,0x10
315 0F00 LSL R16
316 1F11 ROL R17
317 1CEE ROL R14
318 1CFF ROL R15
319 16E2 CP R14,R18
31A 06F3 CPC R15,R19
31B F018 BCS 0x031F
31C 1AE2 SUB R14,R18
31D 0AF3 SBC R15,R19
31E 9503 INC R16
31F 958A DEC R24
320 F7A1 BNE 0x0315
321 F416 BRTC 0x0324
322 2D0E MOV R16,R14
323 2D1F MOV R17,R15
324 9189 LD R24,Y+
325 90F9 LD R15,Y+
326 90E9 LD R14,Y+
327 9508 RET
empy16s:
328 920A ST R0,-Y
329 921A ST R1,-Y
32A 938A ST R24,-Y
32B 939A ST R25,-Y
32C 9F02 MUL R16,R18
32D 01C0 MOVW R24,R0
32E 9F12 MUL R17,R18
32F 0D90 ADD R25,R0
330 9F03 MUL R16,R19
331 0D90 ADD R25,R0
332 018C MOVW R16,R24
333 9199 LD R25,Y+
334 9189 LD R24,Y+
335 9019 LD R1,Y+
336 9009 LD R0,Y+
337 9508 RET
pop_xgset30FC:
338 940E 03BF CALL 0x03BF
33A 9508 RET
pop_xgsetF0FC:
33B 940E 03BF CALL 0x03BF
33D 9169 LD R22,Y+
33E 9179 LD R23,Y+
33F 9508 RET
push_xgsetF0FC:
340 937A ST R23,-Y
341 936A ST R22,-Y
push_xgset30FC:
342 935A ST R21,-Y
343 934A ST R20,-Y
push_xgset00FC:
344 92FA ST R15,-Y
345 92EA ST R14,-Y
push_xgset003C:
346 92DA ST R13,-Y
347 92CA ST R12,-Y
348 92BA ST R11,-Y
349 92AA ST R10,-Y
34A 9508 RET
push_xgsetF00C:
34B 940E 03E4 CALL 0x03E4
34D 92BA ST R11,-Y
34E 92AA ST R10,-Y
34F 9508 RET
pop_xgsetF00C:
350 90A9 LD R10,Y+
351 90B9 LD R11,Y+
352 9149 LD R20,Y+
353 9159 LD R21,Y+
354 9169 LD R22,Y+
355 9179 LD R23,Y+
356 9508 RET
push_xgset303C:
357 935A ST R21,-Y
358 934A ST R20,-Y
359 92DA ST R13,-Y
35A 92CA ST R12,-Y
35B 92BA ST R11,-Y
35C 92AA ST R10,-Y
35D 9508 RET
pop_xgset303C:
35E 940E 03CD CALL 0x03CD
360 9149 LD R20,Y+
361 9159 LD R21,Y+
362 9508 RET
push_xgsetF03C:
363 940E 03E4 CALL 0x03E4
365 92DA ST R13,-Y
366 92CA ST R12,-Y
367 92BA ST R11,-Y
368 92AA ST R10,-Y
369 9508 RET
pop_xgsetF03C:
36A 940E 03CD CALL 0x03CD
36C 9149 LD R20,Y+
36D 9159 LD R21,Y+
36E 9169 LD R22,Y+
36F 9179 LD R23,Y+
370 9508 RET
lsl32:
371 920F PUSH R0
372 9009 LD R0,Y+
373 2000 TST R0
374 F031 BEQ 0x037B
375 0F00 LSL R16
376 1F11 ROL R17
377 1F22 ROL R18
378 1F33 ROL R19
379 940A DEC R0
37A CFF8 RJMP 0x0373
37B 900F POP R0
37C 9508 RET
lsr16:
37D 2322 TST R18
37E F021 BEQ 0x0383
37F 9516 LSR R17
380 9507 ROR R16
381 952A DEC R18
382 CFFA RJMP lsr16
383 9508 RET
asgncblk:
384 93AA ST R26,-Y
385 93BA ST R27,-Y
386 93EA ST R30,-Y
387 93FA ST R31,-Y
388 920A ST R0,-Y
389 81AF LDD R26,Y+7
38A 85B8 LDD R27,Y+8
38B 81ED LDD R30,Y+5
38C 81FE LDD R31,Y+6
38D 3000 CPI R16,0
38E 0701 CPC R16,R17
38F F031 BEQ 0x0396
390 95C8 LPM
391 920D ST R0,X+
392 9631 ADIW R30,1
393 5001 SUBI R16,1
394 4010 SBCI R17,0
395 CFF7 RJMP 0x038D
396 9009 LD R0,Y+
397 91F9 LD R31,Y+
398 91E9 LD R30,Y+
399 91B9 LD R27,Y+
39A 91A9 LD R26,Y+
39B 9624 ADIW R28,4
39C 9508 RET
<created procedures>:
39D 7F80 ANDI R24,0xF0
39E 7090 ANDI R25,0
39F B225 IN R2,0x15
3A0 2433 CLR R3
3A1 2A28 OR R2,R24
3A2 2A39 OR R3,R25
3A3 BA25 OUT 0x15,R2
3A4 9508 RET
3A5 839B STD Y+3,R25
3A6 838A STD Y+2,R24
3A7 EE88 LDI R24,0xE8
3A8 E093 LDI R25,3
3A9 8399 STD Y+1,R25
3AA 8388 STD Y+0,R24
3AB 2722 CLR R18
3AC E400 LDI R16,0x40
3AD E010 LDI R17,0
3AE 9508 RET
3AF 2444 CLR R4
3B0 2455 CLR R5
3B1 8068 LDD R6,Y+0
3B2 8079 LDD R7,Y+1
3B3 808A LDD R8,Y+2
3B4 809B LDD R9,Y+3
3B5 9508 RET
3B6 0C62 ADD R6,R2
3B7 1C73 ADC R7,R3
3B8 1C84 ADC R8,R4
3B9 1C95 ADC R9,R5
3BA 8268 STD Y+0,R6
3BB 8279 STD Y+1,R7
3BC 828A STD Y+2,R8
3BD 829B STD Y+3,R9
3BE 9508 RET
3BF 90A9 LD R10,Y+
3C0 90B9 LD R11,Y+
3C1 90C9 LD R12,Y+
3C2 90D9 LD R13,Y+
3C3 90E9 LD R14,Y+
3C4 90F9 LD R15,Y+
3C5 9149 LD R20,Y+
3C6 9159 LD R21,Y+
3C7 9508 RET
3C8 802C LDD R2,Y+4
3C9 2433 CLR R3
3CA 2444 CLR R4
3CB 2455 CLR R5
3CC 9508 RET
3CD 90A9 LD R10,Y+
3CE 90B9 LD R11,Y+
3CF 90C9 LD R12,Y+
3D0 90D9 LD R13,Y+
3D1 9508 RET
3D2 B626 IN R2,0x36
3D3 FE27 SBRS R2,7
3D4 CFFD RJMP 0x03D2
3D5 E604 LDI R16,0x64
3D6 E010 LDI R17,0
3D7 9508 RET
3D8 E103 LDI R16,0x13
3D9 E010 LDI R17,0
3DA 93FA ST R31,-Y
3DB 93EA ST R30,-Y
3DC 939A ST R25,-Y
3DD 938A ST R24,-Y
3DE 9508 RET
3DF 0F44 LSL R20
3E0 1F55 ROL R21
3E1 0F44 LSL R20
3E2 1F55 ROL R21
3E3 9508 RET
3E4 937A ST R23,-Y
3E5 936A ST R22,-Y
3E6 935A ST R21,-Y
3E7 934A ST R20,-Y
3E8 9508 RET
3E9 E090 LDI R25,0
3EA 8808 LDD R0,Y+16
3EB 8819 LDD R1,Y+17
3EC 1580 CP R24,R0
3ED 0591 CPC R25,R1
3EE 9508 RET
3EF 8028 LDD R2,Y+0
3F0 8039 LDD R3,Y+1
3F1 804A LDD R4,Y+2
3F2 805B LDD R5,Y+3
3F3 9508 RET
3F4 2FE4 MOV R30,R20
3F5 27FF CLR R31
3F6 0FE8 ADD R30,R24
3F7 1FF9 ADC R31,R25
3F8 9508 RET
3F9 9510 COM R17
3FA 9500 COM R16
3FB 5F0F SUBI R16,0xFF
3FC 4F1F SBCI R17,0xFF
3FD 9508 RET
3FE E220 LDI R18,0x20
3FF E030 LDI R19,0
400 2700 CLR R16
401 2711 CLR R17
402 9508 RET
403 8120 LDD R18,Z+0
404 2733 CLR R19
405 2700 CLR R16
406 2711 CLR R17
407 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -