📄 main.lst
字号:
1 .file "main.c"
2 .arch atmega162
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
11 .text
12 .Ltext0:
58 .data
59 .LC0:
60 0000 4461 7465 .string "Date: %d-%02d-%02d Week: %d Time: %02d:%02d:%02d\r\n"
60 3A20 2564
60 2D25 3032
60 642D 2530
60 3264 2057
61 .text
63 .global main
65 main:
1:main.c **** #include <stdio.h>
2:main.c **** #include <avr/io.h>
3:main.c **** #include <avr/interrupt.h>
4:main.c **** #include <avr/signal.h>
5:main.c **** #include <avr/delay.h>
6:main.c ****
7:main.c **** #include "uart.h"
8:main.c **** #include "ds1302.h"
9:main.c ****
10:main.c **** int main(void)
11:main.c **** {
67 .LM1:
68 /* prologue: frame size=7 */
69 0000 C0E0 ldi r28,lo8(__stack - 7)
70 0002 D0E0 ldi r29,hi8(__stack - 7)
71 0004 DEBF out __SP_H__,r29
72 0006 CDBF out __SP_L__,r28
73 /* prologue end (size=4) */
12:main.c **** unsigned int i;
13:main.c **** unsigned char year, month, day, week;
14:main.c **** unsigned char hour, min, sec;
15:main.c ****
16:main.c **** InitIO();
75 .LM2:
76 0008 0E94 0000 call InitIO
17:main.c **** DS1302_Init();
78 .LM3:
79 000c 0E94 0000 call DS1302_Init
18:main.c ****
19:main.c **** sei();
81 .LM4:
82 /* #APP */
83 0010 7894 sei
84 /* #NOAPP */
85 .L2:
20:main.c ****
21:main.c **** while(1)
22:main.c **** {
23:main.c **** //DS1302_Set_Date(5, 1, 6, 4);
24:main.c **** DS1302_Get_Date(&year, &month, &day, &week);
87 .LM5:
88 0012 9E01 movw r18,r28
89 0014 2F5F subi r18,lo8(-(1))
90 0016 3F4F sbci r19,hi8(-(1))
91 0018 AE01 movw r20,r28
92 001a 4E5F subi r20,lo8(-(2))
93 001c 5F4F sbci r21,hi8(-(2))
94 001e BE01 movw r22,r28
95 0020 6D5F subi r22,lo8(-(3))
96 0022 7F4F sbci r23,hi8(-(3))
97 0024 CE01 movw r24,r28
98 0026 0496 adiw r24,4
99 0028 0E94 0000 call DS1302_Get_Date
25:main.c **** DS1302_Get_Time(&hour, &min, &sec);
101 .LM6:
102 002c AE01 movw r20,r28
103 002e 4B5F subi r20,lo8(-(5))
104 0030 5F4F sbci r21,hi8(-(5))
105 0032 BE01 movw r22,r28
106 0034 6A5F subi r22,lo8(-(6))
107 0036 7F4F sbci r23,hi8(-(6))
108 0038 CE01 movw r24,r28
109 003a 0796 adiw r24,7
110 003c 0E94 0000 call DS1302_Get_Time
26:main.c **** printf("Date: %d-%02d-%02d Week: %d Time: %02d:%02d:%02d\r\n", 2000 + year, month, day, week, hou
112 .LM7:
113 0040 8D81 ldd r24,Y+5
114 0042 9927 clr r25
115 0044 9F93 push r25
116 0046 8F93 push r24
117 0048 8E81 ldd r24,Y+6
118 004a 9927 clr r25
119 004c 9F93 push r25
120 004e 8F93 push r24
121 0050 8F81 ldd r24,Y+7
122 0052 9927 clr r25
123 0054 9F93 push r25
124 0056 8F93 push r24
125 0058 8981 ldd r24,Y+1
126 005a 9927 clr r25
127 005c 9F93 push r25
128 005e 8F93 push r24
129 0060 8A81 ldd r24,Y+2
130 0062 9927 clr r25
131 0064 9F93 push r25
132 0066 8F93 push r24
133 0068 8B81 ldd r24,Y+3
134 006a 9927 clr r25
135 006c 9F93 push r25
136 006e 8F93 push r24
137 0070 8C81 ldd r24,Y+4
138 0072 9927 clr r25
139 0074 8053 subi r24,lo8(-(2000))
140 0076 984F sbci r25,hi8(-(2000))
141 0078 9F93 push r25
142 007a 8F93 push r24
143 007c 80E0 ldi r24,lo8(.LC0)
144 007e 90E0 ldi r25,hi8(.LC0)
145 0080 9F93 push r25
146 0082 8F93 push r24
147 0084 0E94 0000 call printf
27:main.c **** //printf("%d-%02d-%02d %d %02d:%02d:%02d\r\n", 2000 + year, month, day, week, hour, min, sec);
28:main.c ****
29:main.c ****
30:main.c **** for(i = 0; i < 5000; i++)
149 .LM8:
150 0088 8DB7 in r24,__SP_L__
151 008a 9EB7 in r25,__SP_H__
152 008c 4096 adiw r24,16
153 008e 0FB6 in __tmp_reg__,__SREG__
154 0090 F894 cli
155 0092 9EBF out __SP_H__,r25
156 0094 0FBE out __SREG__,__tmp_reg__
157 0096 8DBF out __SP_L__,r24
158 0098 27E8 ldi r18,lo8(4999)
159 009a 33E1 ldi r19,hi8(4999)
160 .L8:
161 .LBB2:
163 .Ltext1:
1:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** /* Copyright (c) 2002, Marek Michalkiewicz
2:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** All rights reserved.
3:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****
4:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** Redistribution and use in source and binary forms, with or without
5:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** modification, are permitted provided that the following conditions are met:
6:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****
7:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** * Redistributions of source code must retain the above copyright
8:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** notice, this list of conditions and the following disclaimer.
9:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** * Redistributions in binary form must reproduce the above copyright
10:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** notice, this list of conditions and the following disclaimer in
11:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** the documentation and/or other materials provided with the
12:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** distribution.
13:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****
14:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
18:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** POSSIBILITY OF SUCH DAMAGE. */
25:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****
26:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** /* $Id: delay.h,v 1.2.2.2 2004/02/13 21:43:37 joerg_wunsch Exp $ */
27:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****
28:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** /*
29:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** avr/delay.h - loops for small accurate delays
30:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** */
31:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****
32:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** #ifndef _AVR_DELAY_H_
33:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** #define _AVR_DELAY_H_ 1
34:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****
35:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** #include <inttypes.h>
36:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h ****
37:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** /* 8-bit count, 3 cycles/loop */
38:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** static __inline__ void
39:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** _delay_loop_1(uint8_t __count)
40:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** {
165 .LM9:
166 009c 8FEF ldi r24,lo8(-1)
167 .LBB3:
41:C:/WinAVR/bin/../lib/gcc/avr/3.4.1/../../../../avr/include/avr/delay.h **** asm volatile (
169 .LM10:
170 /* #APP */
171 009e 8A95 1: dec r24
172 00a0 F1F7 brne 1b
173 /* #NOAPP */
174 .LBE3:
175 .LBE2:
177 .Ltext2:
179 .LM11:
180 00a2 2150 subi r18,lo8(-(-1))
181 00a4 3040 sbci r19,hi8(-(-1))
182 00a6 37FF sbrs r19,7
183 00a8 F9CF rjmp .L8
184 00aa B3CF rjmp .L2
185 /* epilogue: frame size=7 */
186 /* epilogue: noreturn */
187 /* epilogue end (size=0) */
188 /* function main size 89 (85) */
201 .comm UART0,103,1
203 .text
205 Letext:
206 /* File "main.c": code 89 = 0x0059 ( 85), prologues 4, epilogues 0 */
DEFINED SYMBOLS
*ABS*:00000000 main.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
C:\DOCUME~1\ZHOUNA~1\LOCALS~1\Temp/ccuwaaaa.s:65 .text:00000000 main
*COM*:00000067 UART0
C:\DOCUME~1\ZHOUNA~1\LOCALS~1\Temp/ccuwaaaa.s:205 .text:000000ac Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack
InitIO
DS1302_Init
DS1302_Get_Date
DS1302_Get_Time
printf
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -