📄 ucos.lst
字号:
0654 C02E RJMP 0x0683
0655 930A ST R16,-Y
0656 B70F IN R16,0x3F
0657 94F8 BCLR 7
0658 930F PUSH R16
0659 9109 LD R16,Y+
065A E188 LDI R24,0x18
065B E092 LDI R25,2
065C 91E00214 LDS R30,_OSTCBCur
065E 91F00215 LDS R31,_OSTCBCur+1
0660 8423 LDD R2,Z+11
0661 2433 CLR R3
0662 0E28 ADD R2,R24
0663 1E39 ADC R3,R25
0664 8444 LDD R4,Z+12
0665 9440 COM R4
0666 01F1 MOVW R30,R2
0667 8050 LDD R5,Z+0
0668 2054 AND R5,R4
0669 2C45 MOV R4,R5
066A 8240 STD Z+0,R4
066B 2055 TST R5
066C F459 BNE 0x0678
066D 91E00214 LDS R30,_OSTCBCur
066F 91F00215 LDS R31,_OSTCBCur+1
0671 8425 LDD R2,Z+13
0672 9420 COM R2
0673 9030021A LDS R3,_OSRdyGrp
0675 2032 AND R3,R2
0676 9230021A STS _OSRdyGrp,R3
0678 91E00214 LDS R30,_OSTCBCur
067A 91F00215 LDS R31,_OSTCBCur+1
067C 82A6 STD Z+6,R10
067D 82B7 STD Z+7,R11
067E 930A ST R16,-Y
067F 910F POP R16
0680 BF0F OUT 0x3F,R16
0681 9109 LD R16,Y+
0682 DCA0 RCALL _OSSched
0683 D15D RCALL pop_gset3x
0684 9508 RET
_init164:
0685 9AB8 SBI 0x17,0
0686 B381 IN R24,0x11
0687 6C80 ORI R24,0xC0
0688 BB81 OUT 0x11,R24
0689 9508 RET
_write164:
ch --> R10
i --> R12
x --> R16
068A D169 RCALL push_gset4x
068B 2EA0 MOV R10,R16
068C 98C0 CBI 0x18,0
068D 9896 CBI 0x12,6
068E 24CC CLR R12
068F C00A RJMP 0x069A
0690 FEA7 SBRS R10,7
0691 C002 RJMP 0x0694
0692 9A97 SBI 0x12,7
0693 C001 RJMP 0x0695
0694 9897 CBI 0x12,7
0695 0CAA LSL R10
0696 9A96 SBI 0x12,6
0697 0000 NOP
0698 9896 CBI 0x12,6
0699 94C3 INC R12
069A 2D8C MOV R24,R12
069B 3088 CPI R24,0x8
069C F398 BCS 0x0690
069D 9AC0 SBI 0x18,0
069E D14E RCALL pop_gset4x
069F 9508 RET
_OSStartHighRdy:
06A0 91000217 LDS R16,_OSRunning
06A2 9503 INC R16
06A3 93000217 STS _OSRunning,R16
06A5 91E00210 LDS R30,_OSTCBHighRdy
06A7 91F00211 LDS R31,_OSTCBHighRdy+1
06A9 91C1 LD R28,Z+
06AA 91D1 LD R29,Z+
06AB 9109 LD R16,Y+
06AC BF0D OUT 0x3D,R16
06AD 9109 LD R16,Y+
06AE BF0E OUT 0x3E,R16
06AF 9109 LD R16,Y+
06B0 BF0F OUT 0x3F,R16
06B1 91F9 LD R31,Y+
06B2 91E9 LD R30,Y+
06B3 91B9 LD R27,Y+
06B4 91A9 LD R26,Y+
06B5 9199 LD R25,Y+
06B6 9189 LD R24,Y+
06B7 9179 LD R23,Y+
06B8 9169 LD R22,Y+
06B9 9159 LD R21,Y+
06BA 9149 LD R20,Y+
06BB 9139 LD R19,Y+
06BC 9129 LD R18,Y+
06BD 9119 LD R17,Y+
06BE 9109 LD R16,Y+
06BF 90F9 LD R15,Y+
06C0 90E9 LD R14,Y+
06C1 90D9 LD R13,Y+
06C2 90C9 LD R12,Y+
06C3 90B9 LD R11,Y+
06C4 90A9 LD R10,Y+
06C5 9099 LD R9,Y+
06C6 9089 LD R8,Y+
06C7 9079 LD R7,Y+
06C8 9069 LD R6,Y+
06C9 9059 LD R5,Y+
06CA 9049 LD R4,Y+
06CB 9039 LD R3,Y+
06CC 9029 LD R2,Y+
06CD 9019 LD R1,Y+
06CE 9009 LD R0,Y+
06CF 9508 RET
_OSCtxSw:
06D0 920A ST R0,-Y
06D1 921A ST R1,-Y
06D2 922A ST R2,-Y
06D3 923A ST R3,-Y
06D4 924A ST R4,-Y
06D5 925A ST R5,-Y
06D6 926A ST R6,-Y
06D7 927A ST R7,-Y
06D8 928A ST R8,-Y
06D9 929A ST R9,-Y
06DA 92AA ST R10,-Y
06DB 92BA ST R11,-Y
06DC 92CA ST R12,-Y
06DD 92DA ST R13,-Y
06DE 92EA ST R14,-Y
06DF 92FA ST R15,-Y
06E0 930A ST R16,-Y
06E1 931A ST R17,-Y
06E2 932A ST R18,-Y
06E3 933A ST R19,-Y
06E4 934A ST R20,-Y
06E5 935A ST R21,-Y
06E6 936A ST R22,-Y
06E7 937A ST R23,-Y
06E8 938A ST R24,-Y
06E9 939A ST R25,-Y
06EA 93AA ST R26,-Y
06EB 93BA ST R27,-Y
06EC 93EA ST R30,-Y
06ED 93FA ST R31,-Y
06EE B70F IN R16,0x3F
06EF 930A ST R16,-Y
06F0 B70E IN R16,0x3E
06F1 930A ST R16,-Y
06F2 B70D IN R16,0x3D
06F3 930A ST R16,-Y
06F4 91E00214 LDS R30,_OSTCBCur
06F6 91F00215 LDS R31,_OSTCBCur+1
06F8 93C1 ST R28,Z+
06F9 93D1 ST R29,Z+
06FA 9100021B LDS R16,_OSPrioHighRdy
06FC 9300021C STS _OSPrioCur,R16
06FE 91E00210 LDS R30,_OSTCBHighRdy
0700 91F00211 LDS R31,_OSTCBHighRdy+1
0702 93E00214 STS _OSTCBCur,R30
0704 93F00215 STS _OSTCBCur+1,R31
0706 91C1 LD R28,Z+
0707 91D1 LD R29,Z+
0708 9109 LD R16,Y+
0709 BF0D OUT 0x3D,R16
070A 9109 LD R16,Y+
070B BF0E OUT 0x3E,R16
070C 9109 LD R16,Y+
070D BF0F OUT 0x3F,R16
070E 91F9 LD R31,Y+
070F 91E9 LD R30,Y+
0710 91B9 LD R27,Y+
0711 91A9 LD R26,Y+
0712 9199 LD R25,Y+
0713 9189 LD R24,Y+
0714 9179 LD R23,Y+
0715 9169 LD R22,Y+
0716 9159 LD R21,Y+
0717 9149 LD R20,Y+
0718 9139 LD R19,Y+
0719 9129 LD R18,Y+
071A 9119 LD R17,Y+
071B 9109 LD R16,Y+
071C 90F9 LD R15,Y+
071D 90E9 LD R14,Y+
071E 90D9 LD R13,Y+
071F 90C9 LD R12,Y+
0720 90B9 LD R11,Y+
0721 90A9 LD R10,Y+
0722 9099 LD R9,Y+
0723 9089 LD R8,Y+
0724 9079 LD R7,Y+
0725 9069 LD R6,Y+
0726 9059 LD R5,Y+
0727 9049 LD R4,Y+
0728 9039 LD R3,Y+
0729 9029 LD R2,Y+
072A 9019 LD R1,Y+
072B 9009 LD R0,Y+
072C 9508 RET
_OSIntCtxSw:
072D B7ED IN R30,0x3D
072E B7FE IN R31,0x3E
072F 9635 ADIW R30,5
0730 93FA ST R31,-Y
0731 93EA ST R30,-Y
0732 91E00214 LDS R30,_OSTCBCur
0734 91F00215 LDS R31,_OSTCBCur+1
0736 93C1 ST R28,Z+
0737 93D1 ST R29,Z+
0738 9100021B LDS R16,_OSPrioHighRdy
073A 9300021C STS _OSPrioCur,R16
073C 91E00210 LDS R30,_OSTCBHighRdy
073E 91F00211 LDS R31,_OSTCBHighRdy+1
0740 93E00214 STS _OSTCBCur,R30
0742 93F00215 STS _OSTCBCur+1,R31
0744 91C1 LD R28,Z+
0745 91D1 LD R29,Z+
0746 9109 LD R16,Y+
0747 BF0D OUT 0x3D,R16
0748 9109 LD R16,Y+
0749 BF0E OUT 0x3E,R16
074A 9109 LD R16,Y+
074B BF0F OUT 0x3F,R16
074C 91F9 LD R31,Y+
074D 91E9 LD R30,Y+
074E 91B9 LD R27,Y+
074F 91A9 LD R26,Y+
0750 9199 LD R25,Y+
0751 9189 LD R24,Y+
0752 9179 LD R23,Y+
0753 9169 LD R22,Y+
0754 9159 LD R21,Y+
0755 9149 LD R20,Y+
0756 9139 LD R19,Y+
0757 9129 LD R18,Y+
0758 9119 LD R17,Y+
0759 9109 LD R16,Y+
075A 90F9 LD R15,Y+
075B 90E9 LD R14,Y+
075C 90D9 LD R13,Y+
075D 90C9 LD R12,Y+
075E 90B9 LD R11,Y+
075F 90A9 LD R10,Y+
0760 9099 LD R9,Y+
0761 9089 LD R8,Y+
0762 9079 LD R7,Y+
0763 9069 LD R6,Y+
0764 9059 LD R5,Y+
0765 9049 LD R4,Y+
0766 9039 LD R3,Y+
0767 9029 LD R2,Y+
0768 9019 LD R1,Y+
0769 9009 LD R0,Y+
076A 9508 RET
_OSTickISR:
076B 0000 NOP
076C 920A ST R0,-Y
076D 921A ST R1,-Y
076E 922A ST R2,-Y
076F 923A ST R3,-Y
0770 924A ST R4,-Y
0771 925A ST R5,-Y
0772 926A ST R6,-Y
0773 927A ST R7,-Y
0774 928A ST R8,-Y
0775 929A ST R9,-Y
0776 92AA ST R10,-Y
0777 92BA ST R11,-Y
0778 92CA ST R12,-Y
0779 92DA ST R13,-Y
077A 92EA ST R14,-Y
077B 92FA ST R15,-Y
077C 930A ST R16,-Y
077D 931A ST R17,-Y
077E 932A ST R18,-Y
077F 933A ST R19,-Y
0780 934A ST R20,-Y
0781 935A ST R21,-Y
0782 936A ST R22,-Y
0783 937A ST R23,-Y
0784 938A ST R24,-Y
0785 939A ST R25,-Y
0786 93AA ST R26,-Y
0787 93BA ST R27,-Y
0788 93EA ST R30,-Y
0789 93FA ST R31,-Y
078A B70F IN R16,0x3F
078B 6800 ORI R16,0x80
078C 930A ST R16,-Y
078D E006 LDI R16,6
078E BD04 OUT 0x24,R16
078F 9100021E LDS R16,_OSIntNesting
0791 9503 INC R16
0792 9300021E STS _OSIntNesting,R16
0794 940E046F CALL _OSTimeTick
0796 940E02BF CALL _OSIntExit
0798 9109 LD R16,Y+
0799 BF0F OUT 0x3F,R16
079A 91F9 LD R31,Y+
079B 91E9 LD R30,Y+
079C 91B9 LD R27,Y+
079D 91A9 LD R26,Y+
079E 9199 LD R25,Y+
079F 9189 LD R24,Y+
07A0 9179 LD R23,Y+
07A1 9169 LD R22,Y+
07A2 9159 LD R21,Y+
07A3 9149 LD R20,Y+
07A4 9139 LD R19,Y+
07A5 9129 LD R18,Y+
07A6 9119 LD R17,Y+
07A7 9109 LD R16,Y+
07A8 90F9 LD R15,Y+
07A9 90E9 LD R14,Y+
07AA 90D9 LD R13,Y+
07AB 90C9 LD R12,Y+
07AC 90B9 LD R11,Y+
07AD 90A9 LD R10,Y+
07AE 9099 LD R9,Y+
07AF 9089 LD R8,Y+
07B0 9079 LD R7,Y+
07B1 9069 LD R6,Y+
07B2 9059 LD R5,Y+
07B3 9049 LD R4,Y+
07B4 9039 LD R3,Y+
07B5 9029 LD R2,Y+
07B6 9019 LD R1,Y+
07B7 9009 LD R0,Y+
07B8 9508 RET
mod8u:
07B9 9468 BSET 6
07BA C001 RJMP xdiv8u
div8u:
07BB 94E8 BCLR 6
xdiv8u:
07BC 932A ST R18,-Y
07BD 92FA ST R15,-Y
07BE 92EA ST R14,-Y
07BF 24FF CLR R15
07C0 24EE CLR R14
07C1 E120 LDI R18,0x10
07C2 0F00 LSL R16
07C3 1CFF ROL R15
07C4 1CEE ROL R14
07C5 16E1 CP R14,R17
07C6 F010 BCS 0x07C9
07C7 1AE1 SUB R14,R17
07C8 9503 INC R16
07C9 952A DEC R18
07CA F7B9 BNE 0x07C2
07CB F40E BRTC 0x07CD
07CC 2D0E MOV R16,R14
07CD 90E9 LD R14,Y+
07CE 90F9 LD R15,Y+
07CF 9129 LD R18,Y+
07D0 9508 RET
empy16s:
07D1 920A ST R0,-Y
07D2 921A ST R1,-Y
07D3 938A ST R24,-Y
07D4 939A ST R25,-Y
07D5 9F02 MUL R16,R18
07D6 01C0 MOVW R24,R0
07D7 9F12 MUL R17,R18
07D8 0D90 ADD R25,R0
07D9 9F03 MUL R16,R19
07DA 0D90 ADD R25,R0
07DB 018C MOVW R16,R24
07DC 9199 LD R25,Y+
07DD 9189 LD R24,Y+
07DE 9019 LD R1,Y+
07DF 9009 LD R0,Y+
07E0 9508 RET
pop_gset3x:
07E1 E0E4 LDI R30,4
popx:
07E2 90A9 LD R10,Y+
07E3 90B9 LD R11,Y+
07E4 FDE2 SBRC R30,2
07E5 9508 RET
07E6 90C9 LD R12,Y+
07E7 90D9 LD R13,Y+
07E8 FDE3 SBRC R30,3
07E9 9508 RET
07EA 90E9 LD R14,Y+
07EB 90F9 LD R15,Y+
07EC 9508 RET
pop_gset4x:
07ED E0E8 LDI R30,0x8
07EE CFF3 RJMP popx
pop_gset5x:
07EF 27EE CLR R30
07F0 CFF1 RJMP popx
push_gset3x:
07F1 92BA ST R11,-Y
07F2 92AA ST R10,-Y
07F3 9508 RET
push_gset4x:
07F4 92DA ST R13,-Y
07F5 92CA ST R12,-Y
07F6 CFFA RJMP push_gset3x
push_gset5x:
07F7 92FA ST R15,-Y
07F8 92EA ST R14,-Y
07F9 CFFA RJMP push_gset4x
_putchar:
07FA DFF6 RCALL push_gset3x
07FB 2EA0 MOV R10,R16
07FC 90200239 LDS R2,__textmode
07FE 9030023A LDS R3,__textmode+1
0800 2022 TST R2
0801 F411 BNE 0x0804
0802 2033 TST R3
0803 F029 BEQ 0x0809
0804 2D8A MOV R24,R10
0805 308A CPI R24,0xA
0806 F411 BNE 0x0809
0807 E00D LDI R16,0xD
0808 DFF1 RCALL _putchar
0809 9B5D SBIS 0x0B,5
080A CFFE RJMP 0x0809
080B B8AC OUT 0x0C,R10
080C 2D0A MOV R16,R10
080D 2711 CLR R17
080E DFD2 RCALL pop_gset3x
080F 9508 RET
_EEPROMread:
0810 99E1 SBIC 0x1C,1
0811 CFFE RJMP _EEPROMread
0812 BB1F OUT 0x1F,R17
0813 BB0E OUT 0x1E,R16
0814 9AE0 SBI 0x1C,0
0815 B30D IN R16,0x1D
0816 9508 RET
_EEPROMwrite:
0817 DFD9 RCALL push_gset3x
0818 99E1 SBIC 0x1C,1
0819 CFFE RJMP 0x0818
081A BB1F OUT 0x1F,R17
081B BB0E OUT 0x1E,R16
081C BB2D OUT 0x1D,R18
081D B6AF IN R10,0x3F
081E 94F8 BCLR 7
081F 9AE2 SBI 0x1C,2
0820 9AE1 SBI 0x1C,1
0821 BEAF OUT 0x3F,R10
0822 2700 CLR R16
0823 2711 CLR R17
0824 DFBC RCALL pop_gset3x
0825 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -