⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uartdebug.lst

📁 一个WSN的树状路由,对于那些学WSN路由方面的朋友应该有说帮助.
💻 LST
📖 第 1 页 / 共 2 页
字号:
 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 + -