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

📄 uart.lst

📁 AVRMEG32编写的一个项目代码,里面包含一般应用的模块.
💻 LST
📖 第 1 页 / 共 2 页
字号:
 307 012a 8FEF      		ldi r24,lo8(255)
 308 012c 90E0      		ldi r25,hi8(255)
 309 012e 0895      		ret
 310               	.L21:
 311               	.LM38:
 312 0130 80E0      		ldi r24,lo8(0)
 313 0132 90E0      		ldi r25,hi8(0)
 314               	.LM39:
 315 0134 0895      		ret
 316               	/* epilogue: frame size=0 */
 317               	/* epilogue: noreturn */
 318               	/* epilogue end (size=0) */
 319               	/* function uartReceiveBufferIsEmpty size 12 (12) */
 320               	.LFE12:
 322               	.global	uartAddToTxBuffer
 324               	uartAddToTxBuffer:
 325               	.LFB13:
 326               	.LM40:
 327               	/* prologue: frame size=0 */
 328               	/* prologue end (size=0) */
 329               	.LM41:
 330 0136 682F      		mov r22,r24
 331 0138 80E0      		ldi r24,lo8(uartTxBuffer)
 332 013a 90E0      		ldi r25,hi8(uartTxBuffer)
 333 013c 0E94 0000 		call bufferAddToEnd
 334               	.LM42:
 335 0140 9927      		clr r25
 336               	/* epilogue: frame size=0 */
 337 0142 0895      		ret
 338               	/* epilogue end (size=1) */
 339               	/* function uartAddToTxBuffer size 7 (6) */
 340               	.LFE13:
 342               	.global	uartSendTxBuffer
 344               	uartSendTxBuffer:
 345               	.LFB14:
 346               	.LM43:
 347               	/* prologue: frame size=0 */
 348               	/* prologue end (size=0) */
 349               	.LM44:
 350 0144 8FEF      		ldi r24,lo8(-1)
 351 0146 8093 0000 		sts uartBufferedTx,r24
 352               	.LM45:
 353 014a 80E0      		ldi r24,lo8(uartTxBuffer)
 354 014c 90E0      		ldi r25,hi8(uartTxBuffer)
 355 014e 0E94 0000 		call bufferGetFromFront
 356 0152 0E94 0000 		call uartSendByte
 357               	/* epilogue: frame size=0 */
 358 0156 0895      		ret
 359               	/* epilogue end (size=1) */
 360               	/* function uartSendTxBuffer size 10 (9) */
 361               	.LFE14:
 363               	.global	uartSendBuffer
 365               	uartSendBuffer:
 366               	.LFB15:
 367               	.LM46:
 368               	/* prologue: frame size=0 */
 369 0158 DF92      		push r13
 370 015a EF92      		push r14
 371 015c FF92      		push r15
 372 015e 0F93      		push r16
 373 0160 1F93      		push r17
 374 0162 CF93      		push r28
 375 0164 DF93      		push r29
 376               	/* prologue end (size=7) */
 377 0166 EC01      		movw r28,r24
 378               	.LM47:
 379 0168 8091 0000 		lds r24,uartTxBuffer+4
 380 016c 9091 0000 		lds r25,(uartTxBuffer+4)+1
 381 0170 860F      		add r24,r22
 382 0172 971F      		adc r25,r23
 383 0174 2091 0000 		lds r18,uartTxBuffer+2
 384 0178 3091 0000 		lds r19,(uartTxBuffer+2)+1
 385 017c 8217      		cp r24,r18
 386 017e 9307      		cpc r25,r19
 387 0180 F8F4      		brsh .L26
 388               	.LM48:
 389 0182 6115      		cp r22,__zero_reg__
 390 0184 7105      		cpc r23,__zero_reg__
 391 0186 E1F0      		breq .L26
 392               	.LM49:
 393 0188 D990      		ld r13,Y+
 394               	.LM50:
 395 018a 00E0      		ldi r16,lo8(0)
 396 018c 10E0      		ldi r17,hi8(0)
 397 018e 7B01      		movw r14,r22
 398 0190 0894      		sec
 399 0192 E108      		sbc r14,__zero_reg__
 400 0194 F108      		sbc r15,__zero_reg__
 401               	.L34:
 402 0196 0E15      		cp r16,r14
 403 0198 1F05      		cpc r17,r15
 404 019a 48F4      		brsh .L33
 405               	.LM51:
 406 019c 8991      		ld r24,Y+
 407 019e 682F      		mov r22,r24
 408 01a0 80E0      		ldi r24,lo8(uartTxBuffer)
 409 01a2 90E0      		ldi r25,hi8(uartTxBuffer)
 410 01a4 0E94 0000 		call bufferAddToEnd
 411               	.LM52:
 412 01a8 0F5F      		subi r16,lo8(-(1))
 413 01aa 1F4F      		sbci r17,hi8(-(1))
 414 01ac F4CF      		rjmp .L34
 415               	.L33:
 416               	.LM53:
 417 01ae 8FEF      		ldi r24,lo8(-1)
 418 01b0 8093 0000 		sts uartBufferedTx,r24
 419               	.LM54:
 420 01b4 8D2D      		mov r24,r13
 421 01b6 0E94 0000 		call uartSendByte
 422               	.LM55:
 423 01ba 8FEF      		ldi r24,lo8(255)
 424 01bc 90E0      		ldi r25,hi8(255)
 425 01be 02C0      		rjmp .L25
 426               	.L26:
 427               	.LM56:
 428 01c0 80E0      		ldi r24,lo8(0)
 429 01c2 90E0      		ldi r25,hi8(0)
 430               	.L25:
 431               	/* epilogue: frame size=0 */
 432 01c4 DF91      		pop r29
 433 01c6 CF91      		pop r28
 434 01c8 1F91      		pop r17
 435 01ca 0F91      		pop r16
 436 01cc FF90      		pop r15
 437 01ce EF90      		pop r14
 438 01d0 DF90      		pop r13
 439 01d2 0895      		ret
 440               	/* epilogue end (size=8) */
 441               	/* function uartSendBuffer size 62 (47) */
 442               	.LFE15:
 444               	.global	__vector_15
 446               	__vector_15:
 447               	.LFB16:
 448               	.LM57:
 449               	/* prologue: frame size=0 */
 450 01d4 1F92      		push __zero_reg__
 451 01d6 0F92      		push __tmp_reg__
 452 01d8 0FB6      		in __tmp_reg__,__SREG__
 453 01da 0F92      		push __tmp_reg__
 454 01dc 1124      		clr __zero_reg__
 455 01de 8F93      		push r24
 456               	/* prologue end (size=6) */
 457               	.LM58:
 458 01e0 8FEF      		ldi r24,lo8(-1)
 459 01e2 8093 0000 		sts uartReadyTx,r24
 460               	/* epilogue: frame size=0 */
 461 01e6 8F91      		pop r24
 462 01e8 0F90      		pop __tmp_reg__
 463 01ea 0FBE      		out __SREG__,__tmp_reg__
 464 01ec 0F90      		pop __tmp_reg__
 465 01ee 1F90      		pop __zero_reg__
 466 01f0 1895      		reti
 467               	/* epilogue end (size=6) */
 468               	/* function __vector_15 size 15 (3) */
 469               	.LFE16:
 471               	.global	__vector_13
 473               	__vector_13:
 474               	.LFB17:
 475               	.LM59:
 476               	/* prologue: frame size=0 */
 477 01f2 1F92      		push __zero_reg__
 478 01f4 0F92      		push __tmp_reg__
 479 01f6 0FB6      		in __tmp_reg__,__SREG__
 480 01f8 0F92      		push __tmp_reg__
 481 01fa 1124      		clr __zero_reg__
 482 01fc 2F93      		push r18
 483 01fe 3F93      		push r19
 484 0200 4F93      		push r20
 485 0202 5F93      		push r21
 486 0204 6F93      		push r22
 487 0206 7F93      		push r23
 488 0208 8F93      		push r24
 489 020a 9F93      		push r25
 490 020c AF93      		push r26
 491 020e BF93      		push r27
 492 0210 CF93      		push r28
 493 0212 EF93      		push r30
 494 0214 FF93      		push r31
 495               	/* prologue end (size=18) */
 496               	.LM60:
 497 0216 CCB1      		in r28,44-0x20
 498               	.LM61:
 499 0218 6C2F      		mov r22,r28
 500 021a 80E0      		ldi r24,lo8(uartRxBuffer)
 501 021c 90E0      		ldi r25,hi8(uartRxBuffer)
 502 021e 0E94 0000 		call bufferAddToEnd
 503 0222 8823      		tst r24
 504 0224 49F4      		brne .L37
 505               	.LM62:
 506 0226 8091 0000 		lds r24,uartRxOverflow
 507 022a 9091 0000 		lds r25,(uartRxOverflow)+1
 508 022e 0196      		adiw r24,1
 509 0230 9093 0000 		sts (uartRxOverflow)+1,r25
 510 0234 8093 0000 		sts uartRxOverflow,r24
 511               	.L37:
 512               	.LM63:
 513 0238 8091 0000 		lds r24,UartRxFunc
 514 023c 9091 0000 		lds r25,(UartRxFunc)+1
 515 0240 892B      		or r24,r25
 516 0242 31F0      		breq .L36
 517               	.LM64:
 518 0244 E091 0000 		lds r30,UartRxFunc
 519 0248 F091 0000 		lds r31,(UartRxFunc)+1
 520 024c 8C2F      		mov r24,r28
 521 024e 0995      		icall
 522               	.L36:
 523               	/* epilogue: frame size=0 */
 524 0250 FF91      		pop r31
 525 0252 EF91      		pop r30
 526 0254 CF91      		pop r28
 527 0256 BF91      		pop r27
 528 0258 AF91      		pop r26
 529 025a 9F91      		pop r25
 530 025c 8F91      		pop r24
 531 025e 7F91      		pop r23
 532 0260 6F91      		pop r22
 533 0262 5F91      		pop r21
 534 0264 4F91      		pop r20
 535 0266 3F91      		pop r19
 536 0268 2F91      		pop r18
 537 026a 0F90      		pop __tmp_reg__
 538 026c 0FBE      		out __SREG__,__tmp_reg__
 539 026e 0F90      		pop __tmp_reg__
 540 0270 1F90      		pop __zero_reg__
 541 0272 1895      		reti
 542               	/* epilogue end (size=18) */
 543               	/* function __vector_13 size 65 (29) */
 544               	.LFE17:
 546               		.comm uartReadyTx,1,1
 547               		.comm uartBufferedTx,1,1
 548               		.comm uartRxBuffer,8,1
 549               		.comm uartTxBuffer,8,1
 550               		.comm uartRxOverflow,2,1
 551               		.lcomm uartRxData,160
 552               		.lcomm uartTxData,16
 553               		.lcomm UartRxFunc,2
 554               	.Letext0:
DEFINED SYMBOLS
                            *ABS*:00000000 uart.c
  f:\temp/ccEXaaaa.s:3      *ABS*:0000003f __SREG__
  f:\temp/ccEXaaaa.s:4      *ABS*:0000003e __SP_H__
  f:\temp/ccEXaaaa.s:5      *ABS*:0000003d __SP_L__
  f:\temp/ccEXaaaa.s:6      *ABS*:00000000 __tmp_reg__
  f:\temp/ccEXaaaa.s:7      *ABS*:00000001 __zero_reg__
  f:\temp/ccEXaaaa.s:20     .text:00000000 uartSetBaudRate
  f:\temp/ccEXaaaa.s:65     .text:0000003e uartInit
                            *COM*:00000001 uartReadyTx
  f:\temp/ccEXaaaa.s:97     .text:0000005c uartInitBuffers
                             .bss:00000000 uartRxData
                            *COM*:00000008 uartRxBuffer
  f:\temp/ccEXaaaa.s:551    .bss:000000a0 uartTxData
                            *COM*:00000008 uartTxBuffer
  f:\temp/ccEXaaaa.s:126    .text:0000007e uartSetRxHandler
  f:\temp/ccEXaaaa.s:552    .bss:000000b0 UartRxFunc
  f:\temp/ccEXaaaa.s:142    .text:00000088 uartGetRxBuffer
  f:\temp/ccEXaaaa.s:158    .text:0000008e uartGetTxBuffer
  f:\temp/ccEXaaaa.s:174    .text:00000094 uartSendByte
  f:\temp/ccEXaaaa.s:197    .text:000000a6 uartReceiveByte
  f:\temp/ccEXaaaa.s:234    .text:000000d8 uartGetByte
  f:\temp/ccEXaaaa.s:280    .text:00000114 uartFlushReceiveBuffer
  f:\temp/ccEXaaaa.s:296    .text:0000011e uartReceiveBufferIsEmpty
  f:\temp/ccEXaaaa.s:324    .text:00000136 uartAddToTxBuffer
  f:\temp/ccEXaaaa.s:344    .text:00000144 uartSendTxBuffer
                            *COM*:00000001 uartBufferedTx
  f:\temp/ccEXaaaa.s:365    .text:00000158 uartSendBuffer
  f:\temp/ccEXaaaa.s:446    .text:000001d4 __vector_15
  f:\temp/ccEXaaaa.s:473    .text:000001f2 __vector_13
                            *COM*:00000002 uartRxOverflow

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__udivmodsi4
bufferInit
bufferGetFromFront
bufferAddToEnd

⌨️ 快捷键说明

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