📄 main.lst
字号:
105:f:/WinAVR/avr/include/util/delay.h **** "1: dec %0" "\n\t"
106:f:/WinAVR/avr/include/util/delay.h **** "brne 1b"
107:f:/WinAVR/avr/include/util/delay.h **** : "=r" (__count)
108:f:/WinAVR/avr/include/util/delay.h **** : "0" (__count)
109:f:/WinAVR/avr/include/util/delay.h **** );
110:f:/WinAVR/avr/include/util/delay.h **** }
111:f:/WinAVR/avr/include/util/delay.h ****
112:f:/WinAVR/avr/include/util/delay.h **** /** \ingroup util_delay
113:f:/WinAVR/avr/include/util/delay.h ****
114:f:/WinAVR/avr/include/util/delay.h **** Delay loop using a 16-bit counter \c __count, so up to 65536
115:f:/WinAVR/avr/include/util/delay.h **** iterations are possible. (The value 65536 would have to be
116:f:/WinAVR/avr/include/util/delay.h **** passed as 0.) The loop executes four CPU cycles per iteration,
117:f:/WinAVR/avr/include/util/delay.h **** not including the overhead the compiler requires to setup the
118:f:/WinAVR/avr/include/util/delay.h **** counter register pair.
119:f:/WinAVR/avr/include/util/delay.h ****
120:f:/WinAVR/avr/include/util/delay.h **** Thus, at a CPU speed of 1 MHz, delays of up to about 262.1
121:f:/WinAVR/avr/include/util/delay.h **** milliseconds can be achieved.
122:f:/WinAVR/avr/include/util/delay.h **** */
123:f:/WinAVR/avr/include/util/delay.h **** void
124:f:/WinAVR/avr/include/util/delay.h **** _delay_loop_2(uint16_t __count)
125:f:/WinAVR/avr/include/util/delay.h **** {
126:f:/WinAVR/avr/include/util/delay.h **** __asm__ volatile (
94 .LM2:
95 0008 CF01 movw r24,r30
96 /* #APP */
97 000a 0197 1: sbiw r24,1
98 000c F1F7 brne 1b
99 /* #NOAPP */
100 .LBE6:
101 .LBE5:
102 .LBE4:
103 .LBE3:
105 .Ltext2:
19:main.c **** for(int i=0;i<50;i++)
107 .LM3:
108 000e 2150 subi r18,lo8(-(-1))
109 0010 3040 sbci r19,hi8(-(-1))
110 0012 37FF sbrs r19,7
111 0014 F9CF rjmp .L13
112 .LBE2:
113 /* epilogue: frame size=0 */
114 0016 0895 ret
115 /* epilogue end (size=1) */
116 /* function delay size 14 (13) */
127 .Lscope0:
128 .data
129 .LC0:
130 0000 6162 6364 .string "abcdefghijklmnopqrstuvwxyz"
130 6566 6768
130 696A 6B6C
130 6D6E 6F70
130 7172 7374
131 .text
133 .global main
135 main:
20:main.c **** _delay_ms(250);
21:main.c ****
22:main.c **** }
23:main.c **** //主程序
24:main.c **** void main(void)
25:main.c **** {
137 .LM4:
138 /* prologue: frame size=0 */
139 0018 C0E0 ldi r28,lo8(__stack - 0)
140 001a D0E0 ldi r29,hi8(__stack - 0)
141 001c DEBF out __SP_H__,r29
142 001e CDBF out __SP_L__,r28
143 /* prologue end (size=4) */
26:main.c **** int j,i;
27:main.c **** LCD501_Init(0x01); //初始化LCD端口以及LCD,在SPLC501User.c中定义
145 .LM5:
146 0020 81E0 ldi r24,lo8(1)
147 0022 90E0 ldi r25,hi8(1)
148 0024 0E94 0000 call LCD501_Init
28:main.c **** delay();
150 .LM6:
151 0028 0E94 0000 call delay
29:main.c **** LCD501_ClrScreen(0);
153 .LM7:
154 002c 80E0 ldi r24,lo8(0)
155 002e 90E0 ldi r25,hi8(0)
156 0030 0E94 0000 call LCD501_ClrScreen
30:main.c **** delay();
158 .LM8:
159 0034 0E94 0000 call delay
31:main.c **** LCD501_PutChar(50,16,(unsigned int)'0');
161 .LM9:
162 0038 40E3 ldi r20,lo8(48)
163 003a 50E0 ldi r21,hi8(48)
164 003c 60E1 ldi r22,lo8(16)
165 003e 70E0 ldi r23,hi8(16)
166 0040 82E3 ldi r24,lo8(50)
167 0042 90E0 ldi r25,hi8(50)
168 0044 0E94 0000 call LCD501_PutChar
32:main.c **** LCD501_PutChar(119,24,(unsigned int)'a');
170 .LM10:
171 0048 41E6 ldi r20,lo8(97)
172 004a 50E0 ldi r21,hi8(97)
173 004c 68E1 ldi r22,lo8(24)
174 004e 70E0 ldi r23,hi8(24)
175 0050 87E7 ldi r24,lo8(119)
176 0052 90E0 ldi r25,hi8(119)
177 0054 0E94 0000 call LCD501_PutChar
33:main.c **** LCD501_PutChar(125,32,(unsigned int)'A');
179 .LM11:
180 0058 41E4 ldi r20,lo8(65)
181 005a 50E0 ldi r21,hi8(65)
182 005c 60E2 ldi r22,lo8(32)
183 005e 70E0 ldi r23,hi8(32)
184 0060 8DE7 ldi r24,lo8(125)
185 0062 90E0 ldi r25,hi8(125)
186 0064 0E94 0000 call LCD501_PutChar
34:main.c **** LCD501_PutString(0,0,"abcdefghijklmnopqrstuvwxyz");
188 .LM12:
189 0068 40E0 ldi r20,lo8(.LC0)
190 006a 50E0 ldi r21,hi8(.LC0)
191 006c 60E0 ldi r22,lo8(0)
192 006e 70E0 ldi r23,hi8(0)
193 0070 CB01 movw r24,r22
194 0072 0E94 0000 call LCD501_PutString
195 /* epilogue: frame size=0 */
196 0076 0C94 0000 jmp exit
197 /* epilogue end (size=2) */
198 /* function main size 49 (43) */
200 .Lscope1:
201 .text
203 Letext:
204 /* File "main.c": code 63 = 0x003f ( 56), prologues 4, epilogues 3 */
DEFINED SYMBOLS
*ABS*:00000000 main.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccq8aaaa.s:3 *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccq8aaaa.s:4 *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccq8aaaa.s:5 *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccq8aaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccq8aaaa.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccq8aaaa.s:76 .text:00000000 delay
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccq8aaaa.s:135 .text:00000018 main
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccq8aaaa.s:203 .text:0000007a Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack
LCD501_Init
LCD501_ClrScreen
LCD501_PutChar
LCD501_PutString
exit
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -