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

📄 uartpacket.lst

📁 adhoc汇聚节点程序源代码(点对多点)——for atmega128
💻 LST
📖 第 1 页 / 共 2 页
字号:
 250 00d6 8881      		ld r24,Y
 251 00d8 8E5F      		subi r24,lo8(-(2))
 252 00da 8093 0000 		sts dbgTail,r24
  73:uartPacket.c  **** 		appendByte = 0;
 254               	.LM30:
 255 00de 1092 0000 		sts appendByte,__zero_reg__
 256               	.L3:
 257               	/* epilogue: frame size=0 */
 258 00e2 DF91      		pop r29
 259 00e4 CF91      		pop r28
 260 00e6 0895      		ret
 261               	/* epilogue end (size=3) */
 262               	/* function uartDebug_txPacket size 93 (88) */
 266               	.global	__vector_20
 268               	__vector_20:
  74:uartPacket.c  **** 	}
  75:uartPacket.c  **** }
  76:uartPacket.c  **** 
  77:uartPacket.c  **** /***************************************************************************
  78:uartPacket.c  ****                       __vector_20(void)
  79:uartPacket.c  **** *功能描述:UART发送完成中断
  80:uartPacket.c  **** *参数说明:无
  81:uartPacket.c  **** *返回值:  无
  82:uartPacket.c  **** **************************************************************************/
  83:uartPacket.c  **** 
  84:uartPacket.c  **** void __attribute((interrupt))   __vector_20(void)
  85:uartPacket.c  **** {
 270               	.LM31:
 271               	/* prologue: frame size=0 */
 272 00e8 7894      		sei
 273 00ea 1F92      		push __zero_reg__
 274 00ec 0F92      		push __tmp_reg__
 275 00ee 0FB6      		in __tmp_reg__,__SREG__
 276 00f0 0F92      		push __tmp_reg__
 277 00f2 1124      		clr __zero_reg__
 278 00f4 8F93      		push r24
 279 00f6 9F93      		push r25
 280 00f8 EF93      		push r30
 281 00fa FF93      		push r31
 282               	/* prologue end (size=10) */
  86:uartPacket.c  **** 	char byte;
  87:uartPacket.c  ****     if(dbgBufCount > 0 && dbgBufCount < dbgTail) {
 284               	.LM32:
 285 00fc 9091 0000 		lds r25,dbgBufCount
 286 0100 9923      		tst r25
 287 0102 29F1      		breq .L12
 289               	.LM33:
 290 0104 8091 0000 		lds r24,dbgTail
 291 0108 9817      		cp r25,r24
 292 010a 08F5      		brsh .L12
  88:uartPacket.c  **** 		if (appendByte == 0) // 不是发送附加字节
 294               	.LM34:
 295 010c 8091 0000 		lds r24,appendByte
 296 0110 8823      		tst r24
 297 0112 C1F4      		brne .L13
  89:uartPacket.c  **** 		{
  90:uartPacket.c  **** 			byte = dbgBuf[dbgBufCount++];
 299               	.LM35:
 300 0114 E92F      		mov r30,r25
 301 0116 FF27      		clr r31
 302 0118 E050      		subi r30,lo8(-(dbgBuf))
 303 011a F040      		sbci r31,hi8(-(dbgBuf))
 304 011c 9F5F      		subi r25,lo8(-(1))
 305 011e 9093 0000 		sts dbgBufCount,r25
 306 0122 E081      		ld r30,Z
  91:uartPacket.c  **** 			if (byte == 0x7E)
 308               	.LM36:
 309 0124 EE37      		cpi r30,lo8(126)
 310 0126 31F4      		brne .L14
  92:uartPacket.c  **** 			{
  93:uartPacket.c  **** 				appendByte = 0x5E;
 312               	.LM37:
 313 0128 8EE5      		ldi r24,lo8(94)
 314 012a 8093 0000 		sts appendByte,r24
  94:uartPacket.c  **** 				* (volatile unsigned char *)(0x0C + 0x20) = 0x7D;		// 将data写入数据寄存器UDR0 
 316               	.LM38:
 317 012e 8DE7      		ldi r24,lo8(125)
 318 0130 8CB9      		out 44-0x20,r24
 319 0132 06C0      		rjmp .L20
 320               	.L14:
  95:uartPacket.c  **** 				* (volatile unsigned char *)(0x0B + 0x20) |= 1 << 6;	// 向TXC位写逻辑1,从而清零该
  96:uartPacket.c  **** 				return;
  97:uartPacket.c  **** 			}
  98:uartPacket.c  **** 			if (byte == 0x7D)
 322               	.LM39:
 323 0134 ED37      		cpi r30,lo8(125)
 324 0136 19F4      		brne .L15
  99:uartPacket.c  **** 			{
 100:uartPacket.c  **** 				appendByte = 0x5D;
 326               	.LM40:
 327 0138 8DE5      		ldi r24,lo8(93)
 328 013a 8093 0000 		sts appendByte,r24
 329               	.L15:
 101:uartPacket.c  **** 				* (volatile unsigned char *)(0x0C + 0x20) = 0x7D;		// 将data写入数据寄存器UDR0 
 102:uartPacket.c  **** 				* (volatile unsigned char *)(0x0B + 0x20) |= 1 << 6;	// 向TXC位写逻辑1,从而清零该
 103:uartPacket.c  **** 				return;
 104:uartPacket.c  **** 			}
 105:uartPacket.c  **** 			* (volatile unsigned char *)(0x0C + 0x20) = byte;			// 将data写入数据寄存器UDR0 
 331               	.LM41:
 332 013e ECB9      		out 44-0x20,r30
 333               	.L20:
 106:uartPacket.c  **** 			* (volatile unsigned char *)(0x0B + 0x20) |= 1 << 6;		// 向TXC位写逻辑1,从而清零该位 
 335               	.LM42:
 336 0140 5E9A      		sbi 43-0x20,6
 337 0142 15C0      		rjmp .L11
 338               	.L13:
 107:uartPacket.c  **** 		}
 108:uartPacket.c  **** 		else				// 发送附加字节
 109:uartPacket.c  **** 		{
 110:uartPacket.c  **** 			* (volatile unsigned char *)(0x0C + 0x20) = appendByte;		// 将data写入数据寄存器UDR0 
 340               	.LM43:
 341 0144 8CB9      		out 44-0x20,r24
 111:uartPacket.c  **** 			* (volatile unsigned char *)(0x0B + 0x20) |= 1 << 6;		// 向TXC位写逻辑1,从而清零该位 
 343               	.LM44:
 344 0146 5E9A      		sbi 43-0x20,6
 112:uartPacket.c  **** 			appendByte = 0;
 346               	.LM45:
 347 0148 1092 0000 		sts appendByte,__zero_reg__
 348 014c 10C0      		rjmp .L11
 349               	.L12:
 113:uartPacket.c  **** 		}
 114:uartPacket.c  **** 	 } else if (dbgBufCount == dbgTail){
 351               	.LM46:
 352 014e 8091 0000 		lds r24,dbgTail
 353 0152 9817      		cp r25,r24
 354 0154 51F4      		brne .L18
 115:uartPacket.c  **** 		* (volatile unsigned char *)(0x0C + 0x20) = dbgBuf[dbgTail];	// 将data写入数据寄存器UDR0 
 356               	.LM47:
 357 0156 E92F      		mov r30,r25
 358 0158 FF27      		clr r31
 359 015a E050      		subi r30,lo8(-(dbgBuf))
 360 015c F040      		sbci r31,hi8(-(dbgBuf))
 361 015e 8081      		ld r24,Z
 362 0160 8CB9      		out 44-0x20,r24
 116:uartPacket.c  **** 		* (volatile unsigned char *)(0x0B + 0x20) |= 1 << 6;			// 向TXC位写逻辑1,从而清零该位 
 364               	.LM48:
 365 0162 5E9A      		sbi 43-0x20,6
 117:uartPacket.c  **** 		dbgBufCount = 0;
 367               	.LM49:
 368 0164 1092 0000 		sts dbgBufCount,__zero_reg__
 369 0168 02C0      		rjmp .L11
 370               	.L18:
 118:uartPacket.c  **** 	 }
 119:uartPacket.c  **** 	 else{
 120:uartPacket.c  ****       UARTState = UART_IDLE;
 372               	.LM50:
 373 016a 1092 0000 		sts UARTState,__zero_reg__
 374               	.L11:
 375               	/* epilogue: frame size=0 */
 376 016e FF91      		pop r31
 377 0170 EF91      		pop r30
 378 0172 9F91      		pop r25
 379 0174 8F91      		pop r24
 380 0176 0F90      		pop __tmp_reg__
 381 0178 0FBE      		out __SREG__,__tmp_reg__
 382 017a 0F90      		pop __tmp_reg__
 383 017c 1F90      		pop __zero_reg__
 384 017e 1895      		reti
 385               	/* epilogue end (size=9) */
 386               	/* function __vector_20 size 76 (57) */
 390               	.global	__vector_18
 392               	__vector_18:
 121:uartPacket.c  ****      }
 122:uartPacket.c  **** }
 123:uartPacket.c  **** 
 124:uartPacket.c  **** /***************************************************************************
 125:uartPacket.c  ****                       __vector_18(void)
 126:uartPacket.c  **** 
 127:uartPacket.c  **** *功能描述:UART接收完成中断
 128:uartPacket.c  **** *参数说明:无
 129:uartPacket.c  **** *返回值:  无
 130:uartPacket.c  **** **************************************************************************/
 131:uartPacket.c  **** 
 132:uartPacket.c  **** void __attribute((signal))   __vector_18(void)
 133:uartPacket.c  **** {
 394               	.LM51:
 395               	/* prologue: frame size=0 */
 396 0180 1F92      		push __zero_reg__
 397 0182 0F92      		push __tmp_reg__
 398 0184 0FB6      		in __tmp_reg__,__SREG__
 399 0186 0F92      		push __tmp_reg__
 400 0188 1124      		clr __zero_reg__
 401               	/* prologue end (size=5) */
 402               	/* epilogue: frame size=0 */
 403 018a 0F90      		pop __tmp_reg__
 404 018c 0FBE      		out __SREG__,__tmp_reg__
 405 018e 0F90      		pop __tmp_reg__
 406 0190 1F90      		pop __zero_reg__
 407 0192 1895      		reti
 408               	/* epilogue end (size=5) */
 409               	/* function __vector_18 size 10 (0) */
 411               		.comm UARTState,1,1
 412               		.comm dbgBuf,104,1
 413               		.comm dbgHead,1,1
 414               		.comm dbgTail,1,1
 415               		.comm dbgBufCount,1,1
 416               		.comm appendByte,1,1
 423               		.text
 425               	Letext:
 426               	/* File "uartPacket.c": code  202 = 0x00ca ( 166), prologues  17, epilogues  19 */
DEFINED SYMBOLS
                            *ABS*:00000000 uartPacket.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc4obaaa.s:73     .text:00000000 uartDebug_init
                            *COM*:00000001 UARTState
                            *COM*:00000001 dbgBufCount
                            *COM*:00000068 dbgBuf
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc4obaaa.s:120    .text:0000002c uartDebug_txByte
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc4obaaa.s:134    .text:0000002e uartDebug_txPacket
                            *COM*:00000001 dbgTail
                            *COM*:00000001 appendByte
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc4obaaa.s:268    .text:000000e8 __vector_20
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc4obaaa.s:392    .text:00000180 __vector_18
                            *COM*:00000001 dbgHead
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/cc4obaaa.s:425    .text:00000194 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -