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

📄 ucos_ii.lst

📁 这是一个UCOS的AVR移植程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 385               	.LFB27:
 386               	.LM18:
 387               	/* prologue: frame size=0 */
 388               	/* prologue end (size=0) */
 389 0054 FC01      		movw r30,r24
 390               	.LM19:
 391 0056 90E0      		ldi r25,lo8(0)
 392               	.L21:
 393               	.LM20:
 394 0058 8081      		ld r24,Z
 395 005a 8823      		tst r24
 396 005c 19F0      		breq .L20
 397               	.LM21:
 398 005e 3196      		adiw r30,1
 399               	.LM22:
 400 0060 9F5F      		subi r25,lo8(-(1))
 401 0062 FACF      		rjmp .L21
 402               	.L20:
 403               	.LM23:
 404 0064 892F      		mov r24,r25
 405 0066 9927      		clr r25
 406               	/* epilogue: frame size=0 */
 407 0068 0895      		ret
 408               	/* epilogue end (size=1) */
 409               	/* function OS_StrLen size 11 (10) */
 410               	.LFE27:
 412               	.global	OSEventNameSet
 414               	OSEventNameSet:
 415               	.LFB3:
 416               	.LM24:
 417               	/* prologue: frame size=0 */
 418 006a EF92      		push r14
 419 006c FF92      		push r15
 420 006e 0F93      		push r16
 421 0070 1F93      		push r17
 422 0072 CF93      		push r28
 423 0074 DF93      		push r29
 424               	/* prologue end (size=6) */
 425 0076 7C01      		movw r14,r24
 426 0078 8B01      		movw r16,r22
 427 007a EA01      		movw r28,r20
 428               	.LM25:
 429               	/* #APP */
 430 007c F894      		cli
 431               	.LM26:
 432               	/* #NOAPP */
 433 007e FC01      		movw r30,r24
 434 0080 8081      		ld r24,Z
 435 0082 9927      		clr r25
 436 0084 0197      		sbiw r24,1
 437 0086 0497      		sbiw r24,4
 438 0088 18F0      		brlo .L23
 439               	.LM27:
 440               	/* #APP */
 441 008a 7894      		sei
 442               	.LM28:
 443               	/* #NOAPP */
 444 008c 81E0      		ldi r24,lo8(1)
 445 008e 07C0      		rjmp .L30
 446               	.L23:
 447               	.LM29:
 448 0090 CB01      		movw r24,r22
 449 0092 0E94 0000 		call OS_StrLen
 450               	.LM30:
 451 0096 8032      		cpi r24,lo8(32)
 452 0098 20F0      		brlo .L29
 453               	.LM31:
 454               	/* #APP */
 455 009a 7894      		sei
 456               	.LM32:
 457               	/* #NOAPP */
 458 009c 8CE0      		ldi r24,lo8(12)
 459               	.L30:
 460 009e 8883      		st Y,r24
 461               	.LM33:
 462 00a0 07C0      		rjmp .L22
 463               	.L29:
 464               	.LM34:
 465 00a2 B801      		movw r22,r16
 466 00a4 C701      		movw r24,r14
 467 00a6 0896      		adiw r24,8
 468 00a8 0E94 0000 		call OS_StrCopy
 469               	.LM35:
 470               	/* #APP */
 471 00ac 7894      		sei
 472               	.LM36:
 473               	/* #NOAPP */
 474 00ae 1882      		st Y,__zero_reg__
 475               	.L22:
 476               	/* epilogue: frame size=0 */
 477 00b0 DF91      		pop r29
 478 00b2 CF91      		pop r28
 479 00b4 1F91      		pop r17
 480 00b6 0F91      		pop r16
 481 00b8 FF90      		pop r15
 482 00ba EF90      		pop r14
 483 00bc 0895      		ret
 484               	/* epilogue end (size=7) */
 485               	/* function OSEventNameSet size 47 (34) */
 486               	.LFE3:
 488               	.global	OSIntEnter
 490               	OSIntEnter:
 491               	.LFB5:
 492               	.LM37:
 493               	/* prologue: frame size=0 */
 494               	/* prologue end (size=0) */
 495               	.LM38:
 496 00be 8091 0000 		lds r24,OSRunning
 497 00c2 8130      		cpi r24,lo8(1)
 498 00c4 39F4      		brne .L31
 499               	.LM39:
 500 00c6 8091 0000 		lds r24,OSIntNesting
 501 00ca 8F3F      		cpi r24,lo8(-1)
 502 00cc 19F0      		breq .L31
 503               	.LM40:
 504 00ce 8F5F      		subi r24,lo8(-(1))
 505 00d0 8093 0000 		sts OSIntNesting,r24
 506               	.L31:
 507 00d4 0895      		ret
 508               	/* epilogue: frame size=0 */
 509 00d6 0895      		ret
 510               	/* epilogue end (size=1) */
 511               	/* function OSIntEnter size 13 (12) */
 512               	.LFE5:
 514               	.global	OSIntExit
 516               	OSIntExit:
 517               	.LFB6:
 518               	.LM41:
 519               	/* prologue: frame size=0 */
 520               	/* prologue end (size=0) */
 521               	.LM42:
 522 00d8 8091 0000 		lds r24,OSRunning
 523 00dc 8130      		cpi r24,lo8(1)
 524 00de 09F0      		breq .+2
 525 00e0 4FC0      		rjmp .L34
 526               	.LM43:
 527               	/* #APP */
 528 00e2 F894      		cli
 529               	.LM44:
 530               	/* #NOAPP */
 531 00e4 8091 0000 		lds r24,OSIntNesting
 532 00e8 8823      		tst r24
 533 00ea 19F0      		breq .L36
 534               	.LM45:
 535 00ec 8150      		subi r24,lo8(-(-1))
 536 00ee 8093 0000 		sts OSIntNesting,r24
 537               	.L36:
 538               	.LM46:
 539 00f2 8091 0000 		lds r24,OSIntNesting
 540 00f6 8823      		tst r24
 541 00f8 09F0      		breq .+2
 542 00fa 41C0      		rjmp .L37
 543               	.LM47:
 544 00fc 8091 0000 		lds r24,OSLockNesting
 545 0100 8823      		tst r24
 546 0102 E9F5      		brne .L37
 547               	.LM48:
 548 0104 8091 0000 		lds r24,OSRdyGrp
 549 0108 E82F      		mov r30,r24
 550 010a FF27      		clr r31
 551 010c E050      		subi r30,lo8(-(OSUnMapTbl))
 552 010e F040      		sbci r31,hi8(-(OSUnMapTbl))
 553 0110 8081      		ld r24,Z
 554               	.LM49:
 555 0112 9927      		clr r25
 556 0114 FC01      		movw r30,r24
 557 0116 E050      		subi r30,lo8(-(OSRdyTbl))
 558 0118 F040      		sbci r31,hi8(-(OSRdyTbl))
 559 011a 2081      		ld r18,Z
 560 011c E22F      		mov r30,r18
 561 011e FF27      		clr r31
 562 0120 E050      		subi r30,lo8(-(OSUnMapTbl))
 563 0122 F040      		sbci r31,hi8(-(OSUnMapTbl))
 564 0124 E081      		ld r30,Z
 565 0126 23E0      		ldi r18,3
 566 0128 880F      	1:	lsl r24
 567 012a 991F      		rol r25
 568 012c 2A95      		dec r18
 569 012e E1F7      		brne 1b
 570 0130 E80F      		add r30,r24
 571 0132 E093 0000 		sts OSPrioHighRdy,r30
 572               	.LM50:
 573 0136 8091 0000 		lds r24,OSPrioCur
 574 013a E817      		cp r30,r24
 575 013c 01F1      		breq .L37
 576               	.LM51:
 577 013e FF27      		clr r31
 578 0140 EE0F      		add r30,r30
 579 0142 FF1F      		adc r31,r31
 580 0144 E050      		subi r30,lo8(-(OSTCBPrioTbl))
 581 0146 F040      		sbci r31,hi8(-(OSTCBPrioTbl))
 582 0148 8081      		ld r24,Z
 583 014a 9181      		ldd r25,Z+1
 584 014c 9093 0000 		sts (OSTCBHighRdy)+1,r25
 585 0150 8093 0000 		sts OSTCBHighRdy,r24
 586               	.LM52:
 587 0154 8091 0000 		lds r24,OSCtxSwCtr
 588 0158 9091 0000 		lds r25,(OSCtxSwCtr)+1
 589 015c A091 0000 		lds r26,(OSCtxSwCtr)+2
 590 0160 B091 0000 		lds r27,(OSCtxSwCtr)+3
 591 0164 0196      		adiw r24,1
 592 0166 A11D      		adc r26,__zero_reg__
 593 0168 B11D      		adc r27,__zero_reg__
 594 016a 8093 0000 		sts OSCtxSwCtr,r24
 595 016e 9093 0000 		sts (OSCtxSwCtr)+1,r25
 596 0172 A093 0000 		sts (OSCtxSwCtr)+2,r26
 597 0176 B093 0000 		sts (OSCtxSwCtr)+3,r27
 598               	.LM53:
 599 017a 0E94 0000 		call OSIntCtxSw
 600               	.L37:
 601               	.LM54:
 602               	/* #APP */
 603 017e 7894      		sei
 604               	/* #NOAPP */
 605               	.L34:
 606 0180 0895      		ret
 607               	/* epilogue: frame size=0 */
 608 0182 0895      		ret
 609               	/* epilogue end (size=1) */
 610               	/* function OSIntExit size 88 (87) */
 611               	.LFE6:
 613               	.global	OSSchedLock
 615               	OSSchedLock:
 616               	.LFB7:
 617               	.LM55:
 618               	/* prologue: frame size=0 */
 619               	/* prologue end (size=0) */
 620               	.LM56:
 621 0184 8091 0000 		lds r24,OSRunning
 622 0188 8130      		cpi r24,lo8(1)
 623 018a 49F4      		brne .L40
 624               	.LM57:
 625               	/* #APP */
 626 018c F894      		cli
 627               	.LM58:
 628               	/* #NOAPP */
 629 018e 8091 0000 		lds r24,OSLockNesting
 630 0192 8F3F      		cpi r24,lo8(-1)
 631 0194 19F0      		breq .L42
 632               	.LM59:
 633 0196 8F5F      		subi r24,lo8(-(1))
 634 0198 8093 0000 		sts OSLockNesting,r24
 635               	.L42:
 636               	.LM60:
 637               	/* #APP */
 638 019c 7894      		sei
 639               	/* #NOAPP */
 640               	.L40:
 641 019e 0895      		ret
 642               	/* epilogue: frame size=0 */
 643 01a0 0895      		ret
 644               	/* epilogue end (size=1) */
 645               	/* function OSSchedLock size 17 (16) */
 646               	.LFE7:
 648               	.global	OSStart
 650               	OSStart:
 651               	.LFB9:
 652               	.LM61:
 653               	/* prologue: frame size=0 */
 654               	/* prologue end (size=0) */
 655               	.LM62:
 656 01a2 8091 0000 		lds r24,OSRunning
 657 01a6 8823      		tst r24
 658 01a8 69F5      		brne .L43
 659               	.LM63:
 660 01aa 8091 0000 		lds r24,OSRdyGrp
 661 01ae E82F      		mov r30,r24
 662 01b0 FF27      		clr r31
 663 01b2 E050      		subi r30,lo8(-(OSUnMapTbl))
 664 01b4 F040      		sbci r31,hi8(-(OSUnMapTbl))
 665 01b6 8081      		ld r24,Z
 666               	.LM64:
 667 01b8 9927      		clr r25
 668 01ba FC01      		movw r30,r24
 669 01bc E050      		subi r30,lo8(-(OSRdyTbl))
 670 01be F040      		sbci r31,hi8(-(OSRdyTbl))
 671 01c0 2081      		ld r18,Z
 672 01c2 E22F      		mov r30,r18
 673 01c4 FF27      		clr r31
 674 01c6 E050      		subi r30,lo8(-(OSUnMapTbl))
 675 01c8 F040      		sbci r31,hi8(-(OSUnMapTbl))
 676 01ca 2081      		ld r18,Z
 677               	.LM65:
 678 01cc 33E0      		ldi r19,3
 679 01ce 880F      	1:	lsl r24
 680 01d0 991F      		rol r25
 681 01d2 3A95      		dec r19
 682 01d4 E1F7      		brne 1b
 683 01d6 280F      		add r18,r24
 684 01d8 2093 0000 		sts OSPrioHighRdy,r18
 685               	.LM66:
 686 01dc 2093 0000 		sts OSPrioCur,r18
 687               	.LM67:
 688 01e0 E22F      		mov r30,r18
 689 01e2 FF27      		clr r31
 690 01e4 EE0F      		add r30,r30
 691 01e6 FF1F      		adc r31,r31
 692 01e8 E050      		subi r30,lo8(-(OSTCBPrioTbl))
 693 01ea F040      		sbci r31,hi8(-(OSTCBPrioTbl))
 694 01ec 8081      		ld r24,Z
 695 01ee 9181      		ldd r25,Z+1
 696 01f0 9093 0000 		sts (OSTCBHighRdy)+1,r25
 697 01f4 8093 0000 		sts OSTCBHighRdy,r24
 698               	.LM68:
 699 01f8 9093 0000 		sts (OSTCBCur)+1,r25
 700 01fc 8093 0000 		sts OSTCBCur,r24
 701               	.LM69:
 702 0200 0E94 0000 		call OSStartHighRdy
 703               	.L43:
 704 0204 0895      		ret
 705               	/* epilogue: frame size=0 */
 706 0206 0895      		ret
 707               	/* epilogue end (size=1) */
 708               	/* function OSStart size 51 (50) */
 709               	.LFE9:
 711               	.global	OSTimeTick
 713               	OSTimeTick:
 714               	.LFB11:
 715               	.LM70:
 716               	/* prologue: frame size=0 */
 717 0208 CF93      		push r28
 718 020a DF93      		push r29
 719               	/* prologue end (size=2) */
 720               	.LM71:
 721 020c 0E94 0000 		call OSTimeTickHook
 722               	.LM72:
 723 0210 9091 0000 		lds r25,OSRunning
 724 0214 9130      		cpi r25,lo8(1)
 725 0216 09F0      		breq .+2
 726 0218 49C0      		rjmp .L45
 727               	.LM73:
 728 021a A091 0000 		lds r26,OSTCBList
 729 021e B091 0000 		lds r27,(OSTCBList)+1
 730               	.LM74:
 731 0222 ED01      		movw r28,r26
 732 0224 8C85      		ldd r24,Y+12
 733 0226 8F30      		cpi r24,lo8(15)
 734 0228 09F4      		brne .+2
 735 022a 40C0      		rjmp .L45
 736 022c 392F      		mov r19,r25
 737 022e 41E0      		ldi r20,lo8(1)
 738 0230 50E0      		ldi r21,hi8(1)
 739               	.L54:
 740               	.LM75:
 741               	/* #APP */
 742 0232 F894      		cli
 743               	.LM76:
 744               	/* #NOAPP */
 745 0234 FD01      		movw r30,r26
 746 0236 8085      		ldd r24,Z+8
 747 0238 9185      		ldd r25,Z+9
 748 023a 0097      		sbiw r24,0
 749 023c 79F1      		breq .L49
 750               	.LM77:
 751 023e 0197      		sbiw r24,1
 752 0240 8087      		std Z+8,r24
 753 0242 9187      		std Z+9,r25
 754 0244 892B      		or r24,r25
 755 0246 51F5      		brne .L49
 756               	.LM78:
 757 0248 2285      		ldd r18,Z+10
 758 024a 822F      		mov r24,r18
 759 024c 9927      		clr r25
 760 024e 8773      		andi r24,lo8(55)
 761 0250 9070      		andi r25,hi8(55)
 762 0252 892B      		or r24,r25
 763 0254 21F0      		breq .L51
 764               	.LM79:

⌨️ 快捷键说明

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