📄 uartdebug.lst
字号:
242 .LM29:
243 00d8 1092 0000 sts appendByte,__zero_reg__
244 .L2:
245 /* epilogue: frame size=0 */
246 00dc DF91 pop r29
247 00de CF91 pop r28
248 00e0 0895 ret
249 /* epilogue end (size=3) */
250 /* function uartDebug_txPacket size 97 (92) */
254 .global __vector_20
256 __vector_20:
75:uartDebug.c **** }
76:uartDebug.c **** }
77:uartDebug.c ****
78:uartDebug.c **** /***************************************************************************
79:uartDebug.c **** __vector_20(void)
80:uartDebug.c **** *功能描述:UART发送完成中断
81:uartDebug.c **** *参数说明:无
82:uartDebug.c **** *返回值: 无
83:uartDebug.c **** **************************************************************************/
84:uartDebug.c ****
85:uartDebug.c **** void __attribute((signal)) __vector_20(void)
86:uartDebug.c **** {
258 .LM30:
259 /* prologue: frame size=0 */
260 00e2 1F92 push __zero_reg__
261 00e4 0F92 push __tmp_reg__
262 00e6 0FB6 in __tmp_reg__,__SREG__
263 00e8 0F92 push __tmp_reg__
264 00ea 1124 clr __zero_reg__
265 00ec 8F93 push r24
266 00ee 9F93 push r25
267 00f0 EF93 push r30
268 00f2 FF93 push r31
269 /* prologue end (size=9) */
87:uartDebug.c **** char byte;
88:uartDebug.c **** if(dbgBufCount > 0 && dbgBufCount < dbgTail) {
271 .LM31:
272 00f4 9091 0000 lds r25,dbgBufCount
273 00f8 9923 tst r25
274 00fa 29F1 breq .L11
276 .LM32:
277 00fc 8091 0000 lds r24,dbgTail
278 0100 9817 cp r25,r24
279 0102 08F5 brsh .L11
89:uartDebug.c **** if (appendByte == 0) // 不是发送附加字节
281 .LM33:
282 0104 8091 0000 lds r24,appendByte
283 0108 8823 tst r24
284 010a C1F4 brne .L12
90:uartDebug.c **** {
91:uartDebug.c **** byte = dbgBuf[dbgBufCount++];
286 .LM34:
287 010c E92F mov r30,r25
288 010e FF27 clr r31
289 0110 E050 subi r30,lo8(-(dbgBuf))
290 0112 F040 sbci r31,hi8(-(dbgBuf))
291 0114 9F5F subi r25,lo8(-(1))
292 0116 9093 0000 sts dbgBufCount,r25
293 011a E081 ld r30,Z
92:uartDebug.c **** if (byte == 0x7E)
295 .LM35:
296 011c EE37 cpi r30,lo8(126)
297 011e 31F4 brne .L13
93:uartDebug.c **** {
94:uartDebug.c **** appendByte = 0x5E;
299 .LM36:
300 0120 8EE5 ldi r24,lo8(94)
301 0122 8093 0000 sts appendByte,r24
95:uartDebug.c **** * (volatile unsigned char *)(0x0C + 0x20) = 0x7D; // 将data写入数据寄存器UDR0
303 .LM37:
304 0126 8DE7 ldi r24,lo8(125)
305 0128 8CB9 out 44-0x20,r24
306 012a 06C0 rjmp .L19
307 .L13:
96:uartDebug.c **** * (volatile unsigned char *)(0x0B + 0x20) |= 1 << 6; // 向TXC位写逻辑1,从而清零该
97:uartDebug.c **** return;
98:uartDebug.c **** }
99:uartDebug.c **** if (byte == 0x7D)
309 .LM38:
310 012c ED37 cpi r30,lo8(125)
311 012e 19F4 brne .L14
100:uartDebug.c **** {
101:uartDebug.c **** appendByte = 0x5D;
313 .LM39:
314 0130 8DE5 ldi r24,lo8(93)
315 0132 8093 0000 sts appendByte,r24
316 .L14:
102:uartDebug.c **** * (volatile unsigned char *)(0x0C + 0x20) = 0x7D; // 将data写入数据寄存器UDR0
103:uartDebug.c **** * (volatile unsigned char *)(0x0B + 0x20) |= 1 << 6; // 向TXC位写逻辑1,从而清零该
104:uartDebug.c **** return;
105:uartDebug.c **** }
106:uartDebug.c **** * (volatile unsigned char *)(0x0C + 0x20) = byte; // 将data写入数据寄存器UDR0
318 .LM40:
319 0136 ECB9 out 44-0x20,r30
320 .L19:
107:uartDebug.c **** * (volatile unsigned char *)(0x0B + 0x20) |= 1 << 6; // 向TXC位写逻辑1,从而清零该位
322 .LM41:
323 0138 5E9A sbi 43-0x20,6
324 013a 15C0 rjmp .L10
325 .L12:
108:uartDebug.c **** }
109:uartDebug.c **** else // 发送附加字节
110:uartDebug.c **** {
111:uartDebug.c **** * (volatile unsigned char *)(0x0C + 0x20) = appendByte; // 将data写入数据寄存器UDR0
327 .LM42:
328 013c 8CB9 out 44-0x20,r24
112:uartDebug.c **** * (volatile unsigned char *)(0x0B + 0x20) |= 1 << 6; // 向TXC位写逻辑1,从而清零该位
330 .LM43:
331 013e 5E9A sbi 43-0x20,6
113:uartDebug.c **** appendByte = 0;
333 .LM44:
334 0140 1092 0000 sts appendByte,__zero_reg__
335 0144 10C0 rjmp .L10
336 .L11:
114:uartDebug.c **** }
115:uartDebug.c **** } else if (dbgBufCount == dbgTail){
338 .LM45:
339 0146 8091 0000 lds r24,dbgTail
340 014a 9817 cp r25,r24
341 014c 51F4 brne .L17
116:uartDebug.c **** * (volatile unsigned char *)(0x0C + 0x20) = dbgBuf[dbgTail]; // 将data写入数据寄存器UDR0
343 .LM46:
344 014e E92F mov r30,r25
345 0150 FF27 clr r31
346 0152 E050 subi r30,lo8(-(dbgBuf))
347 0154 F040 sbci r31,hi8(-(dbgBuf))
348 0156 8081 ld r24,Z
349 0158 8CB9 out 44-0x20,r24
117:uartDebug.c **** * (volatile unsigned char *)(0x0B + 0x20) |= 1 << 6; // 向TXC位写逻辑1,从而清零该位
351 .LM47:
352 015a 5E9A sbi 43-0x20,6
118:uartDebug.c **** dbgBufCount = 0;
354 .LM48:
355 015c 1092 0000 sts dbgBufCount,__zero_reg__
356 0160 02C0 rjmp .L10
357 .L17:
119:uartDebug.c **** }
120:uartDebug.c **** else{
121:uartDebug.c **** UARTState = UART_IDLE;
359 .LM49:
360 0162 1092 0000 sts UARTState,__zero_reg__
361 .L10:
362 /* epilogue: frame size=0 */
363 0166 FF91 pop r31
364 0168 EF91 pop r30
365 016a 9F91 pop r25
366 016c 8F91 pop r24
367 016e 0F90 pop __tmp_reg__
368 0170 0FBE out __SREG__,__tmp_reg__
369 0172 0F90 pop __tmp_reg__
370 0174 1F90 pop __zero_reg__
371 0176 1895 reti
372 /* epilogue end (size=9) */
373 /* function __vector_20 size 75 (57) */
377 .global __vector_18
379 __vector_18:
122:uartDebug.c **** }
123:uartDebug.c **** }
124:uartDebug.c ****
125:uartDebug.c **** /***************************************************************************
126:uartDebug.c **** __vector_18(void)
127:uartDebug.c ****
128:uartDebug.c **** *功能描述:UART接收完成中断
129:uartDebug.c **** *参数说明:无
130:uartDebug.c **** *返回值: 无
131:uartDebug.c **** **************************************************************************/
132:uartDebug.c ****
133:uartDebug.c **** void __attribute((signal)) __vector_18(void)
134:uartDebug.c **** {
381 .LM50:
382 /* prologue: frame size=0 */
383 0178 1F92 push __zero_reg__
384 017a 0F92 push __tmp_reg__
385 017c 0FB6 in __tmp_reg__,__SREG__
386 017e 0F92 push __tmp_reg__
387 0180 1124 clr __zero_reg__
388 /* prologue end (size=5) */
389 /* epilogue: frame size=0 */
390 0182 0F90 pop __tmp_reg__
391 0184 0FBE out __SREG__,__tmp_reg__
392 0186 0F90 pop __tmp_reg__
393 0188 1F90 pop __zero_reg__
394 018a 1895 reti
395 /* epilogue end (size=5) */
396 /* function __vector_18 size 10 (0) */
398 .comm UARTState,1,1
399 .comm dbgBuf,60,1
400 .comm dbgHead,1,1
401 .comm dbgTail,1,1
402 .comm dbgBufCount,1,1
403 .comm appendByte,1,1
410 .text
412 Letext:
413 /* File "uartDebug.c": code 198 = 0x00c6 ( 164), prologues 16, epilogues 18 */
DEFINED SYMBOLS
*ABS*:00000000 uartDebug.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccu6aaaa.s:77 .text:00000000 uartDebug_init
*COM*:00000001 UARTState
*COM*:00000001 dbgBufCount
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccu6aaaa.s:116 .text:00000020 uartDebug_txPacket
*COM*:0000003c dbgBuf
*COM*:00000001 dbgTail
*COM*:00000001 appendByte
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccu6aaaa.s:256 .text:000000e2 __vector_20
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccu6aaaa.s:379 .text:00000178 __vector_18
*COM*:00000001 dbgHead
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccu6aaaa.s:412 .text:0000018c Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -