📄 level4.lst
字号:
154 0046 8091 0000 lds r24,rx_number
155 004a 9927 clr r25
156 004c 8330 cpi r24,3
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccyKbaaa.s page 6
157 004e 9105 cpc r25,__zero_reg__
158 0050 09F1 breq .L16
159 0052 8430 cpi r24,4
160 0054 9105 cpc r25,__zero_reg__
161 0056 4CF4 brge .L28
162 0058 8130 cpi r24,1
163 005a 9105 cpc r25,__zero_reg__
164 005c 99F0 breq .L9
165 005e 8230 cpi r24,2
166 0060 9105 cpc r25,__zero_reg__
167 0062 A4F4 brge .L12
168 0064 892B or r24,r25
169 0066 51F0 breq .L6
170 0068 2EC0 rjmp .L26
171 .L28:
172 006a 8530 cpi r24,5
173 006c 9105 cpc r25,__zero_reg__
174 006e D1F0 breq .L21
175 0070 8530 cpi r24,5
176 0072 9105 cpc r25,__zero_reg__
177 0074 9CF0 brlt .L19
178 0076 0697 sbiw r24,6
179 0078 F1F0 breq .L24
180 007a 25C0 rjmp .L26
181 .L6:
130:level4.c **** {
131:level4.c **** case 0 :
132:level4.c **** if ( temp == 0x55 )
182 .stabn 68,0,132,.LM17-__vector_11
183 .LM17:
184 007c 2535 cpi r18,lo8(85)
185 007e C1F4 brne .L22
133:level4.c **** rx_number = 1 ;
186 .stabn 68,0,133,.LM18-__vector_11
187 .LM18:
188 0080 81E0 ldi r24,lo8(1)
189 0082 13C0 rjmp .L29
190 .L9:
134:level4.c **** else
135:level4.c **** rx_number = 0 ;
136:level4.c **** break;
137:level4.c ****
138:level4.c **** case 1 :
139:level4.c **** if ( temp == 0xAA )
191 .stabn 68,0,139,.LM19-__vector_11
192 .LM19:
193 0084 2A3A cpi r18,lo8(-86)
194 0086 A1F4 brne .L22
140:level4.c **** rx_number = 2 ;
195 .stabn 68,0,140,.LM20-__vector_11
196 .LM20:
197 0088 82E0 ldi r24,lo8(2)
198 008a 0FC0 rjmp .L29
199 .L12:
141:level4.c **** else
142:level4.c **** rx_number = 0 ;
143:level4.c **** break;
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccyKbaaa.s page 7
144:level4.c ****
145:level4.c **** case 2 :
146:level4.c **** if ( temp == 0x01 )
200 .stabn 68,0,146,.LM21-__vector_11
201 .LM21:
202 008c 2130 cpi r18,lo8(1)
203 008e 81F4 brne .L22
147:level4.c **** rx_number = 3 ;
204 .stabn 68,0,147,.LM22-__vector_11
205 .LM22:
206 0090 83E0 ldi r24,lo8(3)
207 0092 0BC0 rjmp .L29
208 .L16:
148:level4.c **** else
149:level4.c **** rx_number = 0 ;
150:level4.c **** break;
151:level4.c ****
152:level4.c **** case 3 :
153:level4.c **** if ( error != 0 )
154:level4.c **** rx_number = 0 ;
155:level4.c **** else
156:level4.c **** {
157:level4.c **** uart_in_command = temp;
209 .stabn 68,0,157,.LM23-__vector_11
210 .LM23:
211 0094 2093 0000 sts uart_in_command,r18
158:level4.c **** //uart_in_buffer[ uart_in_write++ ] = temp;
159:level4.c **** rx_number = 4 ;
212 .stabn 68,0,159,.LM24-__vector_11
213 .LM24:
214 0098 84E0 ldi r24,lo8(4)
215 009a 07C0 rjmp .L29
216 .L19:
160:level4.c **** }
161:level4.c **** break;
162:level4.c ****
163:level4.c **** case 4 :
164:level4.c **** if ( error != 0 )
165:level4.c **** rx_number = 0 ;
166:level4.c **** else
167:level4.c **** {
168:level4.c **** uart_in_param = temp;
217 .stabn 68,0,168,.LM25-__vector_11
218 .LM25:
219 009c 2093 0000 sts uart_in_param,r18
169:level4.c **** //uart_in_buffer[ uart_in_write++ ] = temp;
170:level4.c **** rx_number = 5 ;
220 .stabn 68,0,170,.LM26-__vector_11
221 .LM26:
222 00a0 85E0 ldi r24,lo8(5)
223 00a2 03C0 rjmp .L29
224 .L21:
171:level4.c **** }
172:level4.c **** break;
173:level4.c ****
174:level4.c **** case 5 :
175:level4.c **** if ( temp == 0x55 )
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccyKbaaa.s page 8
225 .stabn 68,0,175,.LM27-__vector_11
226 .LM27:
227 00a4 2535 cpi r18,lo8(85)
228 00a6 21F4 brne .L22
176:level4.c **** rx_number = 6 ;
229 .stabn 68,0,176,.LM28-__vector_11
230 .LM28:
231 00a8 86E0 ldi r24,lo8(6)
232 .L29:
233 00aa 8093 0000 sts rx_number,r24
234 00ae 0DC0 rjmp .L5
235 .L22:
177:level4.c **** else
178:level4.c **** {
179:level4.c **** rx_number = 0 ;
236 .stabn 68,0,179,.LM29-__vector_11
237 .LM29:
238 00b0 3093 0000 sts rx_number,r19
180:level4.c **** //uart_in_write -= 2 ;
181:level4.c **** }
182:level4.c **** break;
239 .stabn 68,0,182,.LM30-__vector_11
240 .LM30:
241 00b4 0AC0 rjmp .L5
242 .L24:
183:level4.c ****
184:level4.c **** case 6 :
185:level4.c **** rx_number = 0 ;
243 .stabn 68,0,185,.LM31-__vector_11
244 .LM31:
245 00b6 3093 0000 sts rx_number,r19
186:level4.c **** if ( temp == 0xAA )
246 .stabn 68,0,186,.LM32-__vector_11
247 .LM32:
248 00ba 2A3A cpi r18,lo8(-86)
249 00bc 31F4 brne .L5
187:level4.c **** {
188:level4.c **** valid_data_flag = 0x55;
250 .stabn 68,0,188,.LM33-__vector_11
251 .LM33:
252 00be 85E5 ldi r24,lo8(85)
253 00c0 8093 0000 sts valid_data_flag,r24
189:level4.c **** }
190:level4.c **** break;
254 .stabn 68,0,190,.LM34-__vector_11
255 .LM34:
256 00c4 02C0 rjmp .L5
257 .L26:
191:level4.c **** default :
192:level4.c **** rx_number = 0 ;
258 .stabn 68,0,192,.LM35-__vector_11
259 .LM35:
260 00c6 1092 0000 sts rx_number,__zero_reg__
261 .L5:
193:level4.c **** break;
194:level4.c **** }
195:level4.c **** cbi( PORTC , TEN_485 );
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccyKbaaa.s page 9
262 .stabn 68,0,195,.LM36-__vector_11
263 .LM36:
264 00ca AD98 cbi 53-0x20,5
196:level4.c **** }
265 .stabn 68,0,196,.LM37-__vector_11
266 .LM37:
267 .L2:
268 .LBE2:
269 /* epilogue: frame size=0 */
270 00cc 9F91 pop r25
271 00ce 8F91 pop r24
272 00d0 3F91 pop r19
273 00d2 2F91 pop r18
274 00d4 0F90 pop __tmp_reg__
275 00d6 0FBE out __SREG__,__tmp_reg__
276 00d8 0F90 pop __tmp_reg__
277 00da 1F90 pop __zero_reg__
278 00dc 1895 reti
279 /* epilogue end (size=9) */
280 /* function __vector_11 size 99 (81) */
281 .size __vector_11, .-__vector_11
282 .stabs "temp:r(4,2)",64,0,117,18
283 .stabn 192,0,0,.LBB2-__vector_11
284 .stabn 224,0,0,.LBE2-__vector_11
285 .Lscope1:
286 .stabs "",36,0,0,.Lscope1-__vector_11
287 .stabs "Copy:F(0,20)",36,0,202,Copy
288 .stabs "dst:P(1,1)=*(4,2)",64,0,201,26
289 .stabs "src:P(1,1)",64,0,201,30
290 .stabs "len:P(4,2)",64,0,201,20
291 .global Copy
292 .type Copy, @function
293 Copy:
197:level4.c ****
198:level4.c **** // ==================================================================
199:level4.c **** // copy
200:level4.c ****
201:level4.c **** void Copy( uint8_t *dst , uint8_t *src , uint8_t len )
202:level4.c **** {
294 .stabn 68,0,202,.LM38-Copy
295 .LM38:
296 /* prologue: frame size=0 */
297 /* prologue end (size=0) */
298 00de DC01 movw r26,r24
299 00e0 FB01 movw r30,r22
203:level4.c ****
204:level4.c **** while (len-- > 0)
300 .stabn 68,0,204,.LM39-Copy
301 .LM39:
302 00e2 842F mov r24,r20
303 00e4 4150 subi r20,lo8(-(-1))
304 00e6 8823 tst r24
305 00e8 31F0 breq .L36
306 .L34:
205:level4.c **** *dst++ = *src++;
307 .stabn 68,0,205,.LM40-Copy
308 .LM40:
GAS LISTING C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccyKbaaa.s page 10
309 00ea 8191 ld r24,Z+
310 00ec 8D93 st X+,r24
311 00ee 842F mov r24,r20
312 00f0 4150 subi r20,lo8(-(-1))
313 00f2 8823 tst r24
314 00f4 D1F7 brne .L34
315 .L36:
206:level4.c **** }
316 .stabn 68,0,206,.LM41-Copy
317 .LM41:
318 00f6 0895 ret
319 /* epilogue: frame size=0 */
320 /* epilogue: noreturn */
321 /* epilogue end (size=0) */
322 /* function Copy size 13 (13) */
323 .size Copy, .-Copy
324 .Lscope2:
325 .stabs "",36,0,0,.Lscope2-Copy
326 .stabs "SendByte:F(0,20)",36,0,214,SendByte
327 .stabs "byte:P(4,2)",64,0,213,24
328 .global SendByte
329 .type SendByte, @function
330 SendByte:
207:level4.c ****
208:level4.c ****
209:level4.c ****
210:level4.c **** //==================================================================
211:level4.c **** //Send one raw byte
212:level4.c **** //
213:level4.c **** void SendByte( uint8_t byte )
214:level4.c **** {
331 .stabn 68,0,214,.LM42-SendByte
332 .LM42:
333 /* prologue: frame size=0 */
334 /* prologue end (size=0) */
215:level4.c **** sbi( PORTC , TEN_485 );
335 .stabn 68,0,215,.LM43-SendByte
336 .LM43:
337 00f8 AD9A sbi 53-0x20,5
216:level4.c **** UDR = byte;
338 .stabn 68,0,216,.LM44-SendByte
339 .LM44:
340 00fa 8CB9 out 44-0x20,r24
217:level4.c **** while ( !( UCSRA & ( 1 << UDRE ) ) )
341 .stabn 68,0,217,.LM45-SendByte
342 .LM45:
343 .L38:
344 00fc 5D9B sbis 43-0x20,5
345 00fe FECF rjmp .L38
218:level4.c **** { }
219:level4.c **** Delayus( 1000 );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -