sht.lst

来自「AVRMEG32编写的一个项目代码,里面包含一般应用的模块.」· LST 代码 · 共 787 行 · 第 1/2 页

LST
787
字号
 427 01c4 869B      		sbis 48-0x20,6
 428 01c6 09C0      		rjmp .L36
 429               	.LM88:
 430 01c8 68EB      		ldi r22,lo8(116664)
 431 01ca 77EC      		ldi r23,hi8(116664)
 432 01cc 81E0      		ldi r24,hlo8(116664)
 433 01ce 90E0      		ldi r25,hhi8(116664)
 434 01d0 0E94 0000 		call Delay
 435               	.LM89:
 436 01d4 1F5F      		subi r17,lo8(-(1))
 437 01d6 1431      		cpi r17,lo8(20)
 438 01d8 A8F3      		brlo .L39
 439               	.L36:
 440               	.LM90:
 441 01da 8699      		sbic 48-0x20,6
 442 01dc 11C0      		rjmp .L40
 443               	.LM91:
 444 01de 0E94 0000 		call read_byte
 445 01e2 C82F      		mov r28,r24
 446 01e4 DD27      		clr r29
 447 01e6 C7FD      		sbrc r28,7
 448 01e8 D095      		com r29
 449               	.LM92:
 450 01ea DC2F      		mov r29,r28
 451 01ec CC27      		clr r28
 452               	.LM93:
 453 01ee 0E94 0000 		call read_byte
 454 01f2 9927      		clr r25
 455 01f4 87FD      		sbrc r24,7
 456 01f6 9095      		com r25
 457 01f8 C80F      		add r28,r24
 458 01fa D91F      		adc r29,r25
 459               	.LM94:
 460 01fc 0E94 0000 		call read_byte
 461               	.L40:
 462               	.LM95:
 463 0200 CE01      		movw r24,r28
 464               	/* epilogue: frame size=0 */
 465 0202 DF91      		pop r29
 466 0204 CF91      		pop r28
 467 0206 1F91      		pop r17
 468 0208 0895      		ret
 469               	/* epilogue end (size=4) */
 470               	/* function ShtMeasure size 41 (34) */
 471               	.LFE26:
 473               	.global	ShtCalculate
 475               	ShtCalculate:
 476               	.LFB27:
 477               	.LM96:
 478               	/* prologue: frame size=4 */
 479 020a 2F92      		push r2
 480 020c 3F92      		push r3
 481 020e 4F92      		push r4
 482 0210 5F92      		push r5
 483 0212 6F92      		push r6
 484 0214 7F92      		push r7
 485 0216 8F92      		push r8
 486 0218 9F92      		push r9
 487 021a AF92      		push r10
 488 021c BF92      		push r11
 489 021e CF92      		push r12
 490 0220 DF92      		push r13
 491 0222 EF92      		push r14
 492 0224 FF92      		push r15
 493 0226 0F93      		push r16
 494 0228 1F93      		push r17
 495 022a CF93      		push r28
 496 022c DF93      		push r29
 497 022e CDB7      		in r28,__SP_L__
 498 0230 DEB7      		in r29,__SP_H__
 499 0232 2497      		sbiw r28,4
 500 0234 0FB6      		in __tmp_reg__,__SREG__
 501 0236 F894      		cli
 502 0238 DEBF      		out __SP_H__,r29
 503 023a 0FBE      		out __SREG__,__tmp_reg__
 504 023c CDBF      		out __SP_L__,r28
 505               	/* prologue end (size=26) */
 506 023e 9C83      		std Y+4,r25
 507 0240 8B83      		std Y+3,r24
 508 0242 7A83      		std Y+2,r23
 509 0244 6983      		std Y+1,r22
 510               	.LM97:
 511 0246 DC01      		movw r26,r24
 512 0248 8D91      		ld r24,X+
 513 024a 9C91      		ld r25,X
 514 024c 3C01      		movw r6,r24
 515 024e 8824      		clr r8
 516 0250 77FC      		sbrc r7,7
 517 0252 8094      		com r8
 518 0254 982C      		mov r9,r8
 519               	.LM98:
 520 0256 FB01      		movw r30,r22
 521 0258 8081      		ld r24,Z
 522 025a 9181      		ldd r25,Z+1
 523 025c 7C01      		movw r14,r24
 524 025e 0027      		clr r16
 525 0260 F7FC      		sbrc r15,7
 526 0262 0095      		com r16
 527 0264 102F      		mov r17,r16
 528               	.LM99:
 529 0266 20E6      		ldi r18,lo8(-4000)
 530 0268 222E      		mov r2,r18
 531 026a 20EF      		ldi r18,hi8(-4000)
 532 026c 322E      		mov r3,r18
 533 026e 2FEF      		ldi r18,hlo8(-4000)
 534 0270 422E      		mov r4,r18
 535 0272 2FEF      		ldi r18,hhi8(-4000)
 536 0274 522E      		mov r5,r18
 537 0276 260C      		add r2,r6
 538 0278 371C      		adc r3,r7
 539 027a 481C      		adc r4,r8
 540 027c 591C      		adc r5,r9
 541               	.LM100:
 542 027e C801      		movw r24,r16
 543 0280 B701      		movw r22,r14
 544 0282 A801      		movw r20,r16
 545 0284 9701      		movw r18,r14
 546 0286 0E94 0000 		call __mulsi3
 547 028a DC01      		movw r26,r24
 548 028c CB01      		movw r24,r22
 549 028e BC01      		movw r22,r24
 550 0290 CD01      		movw r24,r26
 551 0292 24EE      		ldi r18,lo8(-28)
 552 0294 3FEF      		ldi r19,hi8(-28)
 553 0296 4FEF      		ldi r20,hlo8(-28)
 554 0298 5FEF      		ldi r21,hhi8(-28)
 555 029a 0E94 0000 		call __mulsi3
 556 029e DC01      		movw r26,r24
 557 02a0 CB01      		movw r24,r22
 558 02a2 BC01      		movw r22,r24
 559 02a4 CD01      		movw r24,r26
 560 02a6 20EA      		ldi r18,lo8(100000)
 561 02a8 36E8      		ldi r19,hi8(100000)
 562 02aa 41E0      		ldi r20,hlo8(100000)
 563 02ac 50E0      		ldi r21,hhi8(100000)
 564 02ae 0E94 0000 		call __divmodsi4
 565 02b2 5901      		movw r10,r18
 566 02b4 6A01      		movw r12,r20
 567 02b6 C801      		movw r24,r16
 568 02b8 B701      		movw r22,r14
 569 02ba 25E9      		ldi r18,lo8(405)
 570 02bc 31E0      		ldi r19,hi8(405)
 571 02be 40E0      		ldi r20,hlo8(405)
 572 02c0 50E0      		ldi r21,hhi8(405)
 573 02c2 0E94 0000 		call __mulsi3
 574 02c6 DC01      		movw r26,r24
 575 02c8 CB01      		movw r24,r22
 576 02ca BC01      		movw r22,r24
 577 02cc CD01      		movw r24,r26
 578 02ce 24E6      		ldi r18,lo8(100)
 579 02d0 30E0      		ldi r19,hi8(100)
 580 02d2 40E0      		ldi r20,hlo8(100)
 581 02d4 50E0      		ldi r21,hhi8(100)
 582 02d6 0E94 0000 		call __divmodsi4
 583 02da A20E      		add r10,r18
 584 02dc B31E      		adc r11,r19
 585 02de C41E      		adc r12,r20
 586 02e0 D51E      		adc r13,r21
 587 02e2 80E7      		ldi r24,lo8(-400)
 588 02e4 9EEF      		ldi r25,hi8(-400)
 589 02e6 AFEF      		ldi r26,hlo8(-400)
 590 02e8 BFEF      		ldi r27,hhi8(-400)
 591 02ea A80E      		add r10,r24
 592 02ec B91E      		adc r11,r25
 593 02ee CA1E      		adc r12,r26
 594 02f0 DB1E      		adc r13,r27
 595               	.LM101:
 596 02f2 8CE9      		ldi r24,lo8(-6500)
 597 02f4 96EE      		ldi r25,hi8(-6500)
 598 02f6 AFEF      		ldi r26,hlo8(-6500)
 599 02f8 BFEF      		ldi r27,hhi8(-6500)
 600 02fa 680E      		add r6,r24
 601 02fc 791E      		adc r7,r25
 602 02fe 8A1E      		adc r8,r26
 603 0300 9B1E      		adc r9,r27
 604 0302 93E0      		ldi r25,3
 605 0304 EE0C      	1:	lsl r14
 606 0306 FF1C      		rol r15
 607 0308 001F      		rol r16
 608 030a 111F      		rol r17
 609 030c 9A95      		dec r25
 610 030e D1F7      		brne 1b
 611 0310 88EE      		ldi r24,lo8(1000)
 612 0312 93E0      		ldi r25,hi8(1000)
 613 0314 A0E0      		ldi r26,hlo8(1000)
 614 0316 B0E0      		ldi r27,hhi8(1000)
 615 0318 E80E      		add r14,r24
 616 031a F91E      		adc r15,r25
 617 031c 0A1F      		adc r16,r26
 618 031e 1B1F      		adc r17,r27
 619 0320 C401      		movw r24,r8
 620 0322 B301      		movw r22,r6
 621 0324 A801      		movw r20,r16
 622 0326 9701      		movw r18,r14
 623 0328 0E94 0000 		call __mulsi3
 624 032c DC01      		movw r26,r24
 625 032e CB01      		movw r24,r22
 626 0330 BC01      		movw r22,r24
 627 0332 CD01      		movw r24,r26
 628 0334 20EA      		ldi r18,lo8(100000)
 629 0336 36E8      		ldi r19,hi8(100000)
 630 0338 41E0      		ldi r20,hlo8(100000)
 631 033a 50E0      		ldi r21,hhi8(100000)
 632 033c 0E94 0000 		call __divmodsi4
 633 0340 2A0D      		add r18,r10
 634 0342 3B1D      		adc r19,r11
 635 0344 4C1D      		adc r20,r12
 636 0346 5D1D      		adc r21,r13
 637               	.LM102:
 638 0348 2131      		cpi r18,lo8(10001)
 639 034a 97E2      		ldi r25,hi8(10001)
 640 034c 3907      		cpc r19,r25
 641 034e 90E0      		ldi r25,hlo8(10001)
 642 0350 4907      		cpc r20,r25
 643 0352 90E0      		ldi r25,hhi8(10001)
 644 0354 5907      		cpc r21,r25
 645 0356 24F0      		brlt .L43
 646               	.LM103:
 647 0358 20E1      		ldi r18,lo8(10000)
 648 035a 37E2      		ldi r19,hi8(10000)
 649 035c 40E0      		ldi r20,hlo8(10000)
 650 035e 50E0      		ldi r21,hhi8(10000)
 651               	.L43:
 652               	.LM104:
 653 0360 2A30      		cpi r18,lo8(10)
 654 0362 3105      		cpc r19,__zero_reg__
 655 0364 4105      		cpc r20,__zero_reg__
 656 0366 5105      		cpc r21,__zero_reg__
 657 0368 24F4      		brge .L44
 658 036a 2AE0      		ldi r18,lo8(10)
 659 036c 30E0      		ldi r19,hi8(10)
 660 036e 40E0      		ldi r20,hlo8(10)
 661 0370 50E0      		ldi r21,hhi8(10)
 662               	.L44:
 663               	.LM105:
 664 0372 AB81      		ldd r26,Y+3
 665 0374 BC81      		ldd r27,Y+4
 666 0376 2D92      		st X+,r2
 667 0378 3C92      		st X,r3
 668               	.LM106:
 669 037a E981      		ldd r30,Y+1
 670 037c FA81      		ldd r31,Y+2
 671 037e 3183      		std Z+1,r19
 672 0380 2083      		st Z,r18
 673               	/* epilogue: frame size=4 */
 674 0382 2496      		adiw r28,4
 675 0384 0FB6      		in __tmp_reg__,__SREG__
 676 0386 F894      		cli
 677 0388 DEBF      		out __SP_H__,r29
 678 038a 0FBE      		out __SREG__,__tmp_reg__
 679 038c CDBF      		out __SP_L__,r28
 680 038e DF91      		pop r29
 681 0390 CF91      		pop r28
 682 0392 1F91      		pop r17
 683 0394 0F91      		pop r16
 684 0396 FF90      		pop r15
 685 0398 EF90      		pop r14
 686 039a DF90      		pop r13
 687 039c CF90      		pop r12
 688 039e BF90      		pop r11
 689 03a0 AF90      		pop r10
 690 03a2 9F90      		pop r9
 691 03a4 8F90      		pop r8
 692 03a6 7F90      		pop r7
 693 03a8 6F90      		pop r6
 694 03aa 5F90      		pop r5
 695 03ac 4F90      		pop r4
 696 03ae 3F90      		pop r3
 697 03b0 2F90      		pop r2
 698 03b2 0895      		ret
 699               	/* epilogue end (size=25) */
 700               	/* function ShtCalculate size 213 (162) */
 701               	.LFE27:
 703               	.global	ShtReadStatus
 705               	ShtReadStatus:
 706               	.LFB28:
 707               	.LM107:
 708               	/* prologue: frame size=0 */
 709 03b4 FF92      		push r15
 710 03b6 0F93      		push r16
 711 03b8 1F93      		push r17
 712               	/* prologue end (size=3) */
 713 03ba 8C01      		movw r16,r24
 714               	.LM108:
 715 03bc 0E94 0000 		call transstart
 716               	.LM109:
 717 03c0 87E0      		ldi r24,lo8(7)
 718 03c2 0E94 0000 		call write_byte
 719 03c6 F82E      		mov r15,r24
 720               	.LM110:
 721 03c8 0E94 0000 		call read_byte
 722 03cc F801      		movw r30,r16
 723 03ce 8083      		st Z,r24
 724               	.LM111:
 725 03d0 0E94 0000 		call read_byte
 726               	.LM112:
 727 03d4 8F2D      		mov r24,r15
 728 03d6 9927      		clr r25
 729 03d8 87FD      		sbrc r24,7
 730 03da 9095      		com r25
 731               	/* epilogue: frame size=0 */
 732 03dc 1F91      		pop r17
 733 03de 0F91      		pop r16
 734 03e0 FF90      		pop r15
 735 03e2 0895      		ret
 736               	/* epilogue end (size=4) */
 737               	/* function ShtReadStatus size 24 (17) */
 738               	.LFE28:
 740               	.global	ShtWriteStatus
 742               	ShtWriteStatus:
 743               	.LFB29:
 744               	.LM113:
 745               	/* prologue: frame size=0 */
 746 03e4 0F93      		push r16
 747 03e6 1F93      		push r17
 748               	/* prologue end (size=2) */
 749 03e8 082F      		mov r16,r24
 750               	.LM114:
 751 03ea 0E94 0000 		call transstart
 752               	.LM115:
 753 03ee 86E0      		ldi r24,lo8(6)
 754 03f0 0E94 0000 		call write_byte
 755 03f4 182F      		mov r17,r24
 756               	.LM116:
 757 03f6 802F      		mov r24,r16
 758 03f8 0E94 0000 		call write_byte
 759 03fc 180F      		add r17,r24
 760               	.LM117:
 761 03fe 812F      		mov r24,r17
 762 0400 9927      		clr r25
 763 0402 87FD      		sbrc r24,7
 764 0404 9095      		com r25
 765               	/* epilogue: frame size=0 */
 766 0406 1F91      		pop r17
 767 0408 0F91      		pop r16
 768 040a 0895      		ret
 769               	/* epilogue end (size=3) */
 770               	/* function ShtWriteStatus size 20 (15) */
 771               	.LFE29:
 773               		.comm xRdorData,9,1
 774               		.comm xRDCACData,8,1
 775               		.comm xRAlrData,399,1
 776               		.comm xRwenshiData,12,1
 777               		.comm SECOND_BUFFER,1,1
 778               		.comm MINUTE_BUFFER,1,1
 779               		.comm HOUR_BUFFER,1,1
 780               		.comm WEEK_BUFFER,1,1
 781               		.comm DAY_BUFFER,1,1
 782               		.comm MONTH_BUFFER,1,1
 783               		.comm YEAR_BUFFER,1,1
 784               	.Letext0:
DEFINED SYMBOLS
                            *ABS*:00000000 Sht.c
  f:\temp/ccsjaaaa.s:3      *ABS*:0000003f __SREG__
  f:\temp/ccsjaaaa.s:4      *ABS*:0000003e __SP_H__
  f:\temp/ccsjaaaa.s:5      *ABS*:0000003d __SP_L__
  f:\temp/ccsjaaaa.s:6      *ABS*:00000000 __tmp_reg__
  f:\temp/ccsjaaaa.s:7      *ABS*:00000001 __zero_reg__
  f:\temp/ccsjaaaa.s:20     .text:00000000 enable_data
  f:\temp/ccsjaaaa.s:35     .text:00000004 disable_data
  f:\temp/ccsjaaaa.s:52     .text:0000000a data_high
  f:\temp/ccsjaaaa.s:67     .text:0000000e data_low
  f:\temp/ccsjaaaa.s:82     .text:00000012 clock_high
  f:\temp/ccsjaaaa.s:97     .text:00000016 clock_low
  f:\temp/ccsjaaaa.s:112    .text:0000001a ShtInit
  f:\temp/ccsjaaaa.s:131    .text:00000024 transstart
  f:\temp/ccsjaaaa.s:210    .text:000000aa ShtReset
  f:\temp/ccsjaaaa.s:255    .text:000000e8 read_byte
  f:\temp/ccsjaaaa.s:318    .text:0000013e write_byte
  f:\temp/ccsjaaaa.s:389    .text:000001a4 write_mode
  f:\temp/ccsjaaaa.s:412    .text:000001b8 ShtMeasure
  f:\temp/ccsjaaaa.s:475    .text:0000020a ShtCalculate
  f:\temp/ccsjaaaa.s:705    .text:000003b4 ShtReadStatus
  f:\temp/ccsjaaaa.s:742    .text:000003e4 ShtWriteStatus
                            *COM*:00000009 xRdorData
                            *COM*:00000008 xRDCACData
                            *COM*:0000018f xRAlrData
                            *COM*:0000000c xRwenshiData
                            *COM*:00000001 SECOND_BUFFER
                            *COM*:00000001 MINUTE_BUFFER
                            *COM*:00000001 HOUR_BUFFER
                            *COM*:00000001 WEEK_BUFFER
                            *COM*:00000001 DAY_BUFFER
                            *COM*:00000001 MONTH_BUFFER
                            *COM*:00000001 YEAR_BUFFER

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
Delay
__mulsi3
__divmodsi4

⌨️ 快捷键说明

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