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

📄 ucos_ii.lis

📁 ICCAVR下的uCOS mega8程序
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0808           ;           prio -> R12
 0808           ;           ptos -> y+16
 0808           ;          pdata -> R14,R15
 0808           ;           task -> R10,R11
                        .even
 0808           _OSTaskCreate::
 0808 0E940000          xcall push_gset5x
 080C 7901              movw R14,R18
 080E 5801              movw R10,R16
 0810 2A97              sbiw R28,10
 0812 CA88              ldd R12,y+18
 0814 8FE0              ldi R24,15
 0816 8C15              cp R24,R12
 0818 10F4              brsh L59
 081A 0AE2              ldi R16,42
 081C 70C0              xjmp L58
 081E           L59:
 081E 0A93              st -y,r16
 0820 0FB7              in r16,0x3F
 0822 F894              cli
 0824 0F93              push r16
 0826 0991              ld r16,y+
 0828 82E0              ldi R24,2
 082A 8C9D              mul R24,R12
 082C F001              movw R30,R0
 082E 80E0              ldi R24,<_OSTCBPrioTbl
 0830 90E0              ldi R25,>_OSTCBPrioTbl
 0832 E80F              add R30,R24
 0834 F91F              adc R31,R25
 0836 2080              ldd R2,z+0
 0838 3180              ldd R3,z+1
 083A 2220              tst R2
 083C 09F0              breq X13
 083E 5AC0              xjmp L61
 0840           X13:
 0840 3320              tst R3
 0842 09F0              breq X14
 0844 57C0              xjmp L61
 0846           X14:
 0846           X12:
 0846 82E0              ldi R24,2
 0848 8C9D              mul R24,R12
 084A F001              movw R30,R0
 084C 80E0              ldi R24,<_OSTCBPrioTbl
 084E 90E0              ldi R25,>_OSTCBPrioTbl
 0850 E80F              add R30,R24
 0852 F91F              adc R31,R25
 0854 81E0              ldi R24,1
 0856 90E0              ldi R25,0
 0858 9183              std z+1,R25
 085A 8083              std z+0,R24
 085C 0A93              st -y,r16
 085E 0F91              pop r16
 0860 0FBF              out 0x3F,r16
 0862 0991              ld r16,y+
 0864 2224              clr R2
 0866 3324              clr R3
 0868 3B82              std y+3,R3
 086A 2A82              std y+2,R2
 086C 0888              ldd R0,y+16
 086E 1988              ldd R1,y+17
 0870 1982              std y+1,R1
 0872 0882              std y+0,R0
 0874 9701              movw R18,R14
 0876 8501              movw R16,R10
 0878 CCDE              xcall _OSTaskStkInit
 087A 5801              movw R10,R16
 087C 2224              clr R2
 087E 3324              clr R3
 0880 3986              std y+9,R3
 0882 2886              std y+8,R2
 0884 3F82              std y+7,R3
 0886 2E82              std y+6,R2
 0888 3D82              std y+5,R3
 088A 2C82              std y+4,R2
 088C 3B82              std y+3,R3
 088E 2A82              std y+2,R2
 0890 3982              std y+1,R3
 0892 2882              std y+0,R2
 0894 9501              movw R18,R10
 0896 0C2D              mov R16,R12
 0898 BDDD              xcall _OSTCBInit
 089A A02E              mov R10,R16
 089C 0023              tst R16
 089E A1F4              brne L63
 08A0 0A93              st -y,r16
 08A2 0FB7              in r16,0x3F
 08A4 F894              cli
 08A6 0F93              push r16
 08A8 0991              ld r16,y+
 08AA 8091E500          lds R24,_OSTaskCtr
 08AE 8F5F              subi R24,255    ; addi 1
 08B0 8093E500          sts _OSTaskCtr,R24
 08B4 0A93              st -y,r16
 08B6 0F91              pop r16
 08B8 0FBF              out 0x3F,r16
 08BA 0991              ld r16,y+
 08BC 2090E600          lds R2,_OSRunning
 08C0 2220              tst R2
 08C2 B1F0              breq L64
 08C4 DEDC              xcall _OSSched
 08C6 14C0              xjmp L64
 08C8           L63:
 08C8 0A93              st -y,r16
 08CA 0FB7              in r16,0x3F
 08CC F894              cli
 08CE 0F93              push r16
 08D0 0991              ld r16,y+
 08D2 82E0              ldi R24,2
 08D4 8C9D              mul R24,R12
 08D6 F001              movw R30,R0
 08D8 80E0              ldi R24,<_OSTCBPrioTbl
 08DA 90E0              ldi R25,>_OSTCBPrioTbl
 08DC E80F              add R30,R24
 08DE F91F              adc R31,R25
 08E0 2224              clr R2
 08E2 3324              clr R3
 08E4 3182              std z+1,R3
 08E6 2082              std z+0,R2
 08E8 0A93              st -y,r16
 08EA 0F91              pop r16
 08EC 0FBF              out 0x3F,r16
 08EE 0991              ld r16,y+
 08F0           L64:
 08F0 0A2D              mov R16,R10
 08F2 05C0              xjmp L58
 08F4           L61:
 08F4 0A93              st -y,r16
 08F6 0F91              pop r16
 08F8 0FBF              out 0x3F,r16
 08FA 0991              ld r16,y+
 08FC 08E2              ldi R16,40
 08FE           L58:
 08FE 2A96              adiw R28,10
 0900 0E940000          xcall pop_gset5x
 0904                   .dbline 0 ; func end
 0904 0895              ret
 0906           ;          ticks -> R10,R11
                        .even
 0906           _OSTimeDly::
 0906 0E940000          xcall push_gset3x
 090A 5801              movw R10,R16
 090C AA20              tst R10
 090E 19F4              brne X15
 0910 BB20              tst R11
 0912 09F4              brne X16
 0914 32C0              xjmp L68
 0916           X16:
 0916           X15:
 0916 0A93              st -y,r16
 0918 0FB7              in r16,0x3F
 091A F894              cli
 091C 0F93              push r16
 091E 0991              ld r16,y+
 0920 80E0              ldi R24,<_OSRdyTbl
 0922 90E0              ldi R25,>_OSRdyTbl
 0924 E091E300          lds R30,_OSTCBCur
 0928 F091E400          lds R31,_OSTCBCur+1
 092C 2384              ldd R2,z+11
 092E 3324              clr R3
 0930 280E              add R2,R24
 0932 391E              adc R3,R25
 0934 E091E300          lds R30,_OSTCBCur
 0938 F091E400          lds R31,_OSTCBCur+1
 093C 4484              ldd R4,z+12
 093E 4094              com R4
 0940 F101              movw R30,R2
 0942 5080              ldd R5,z+0
 0944 5420              and R5,R4
 0946 452C              mov R4,R5
 0948 4082              std z+0,R4
 094A 5520              tst R5
 094C 59F4              brne L70
 094E E091E300          lds R30,_OSTCBCur
 0952 F091E400          lds R31,_OSTCBCur+1
 0956 2584              ldd R2,z+13
 0958 2094              com R2
 095A 3090E900          lds R3,_OSRdyGrp
 095E 3220              and R3,R2
 0960 3092E900          sts _OSRdyGrp,R3
 0964           L70:
 0964 E091E300          lds R30,_OSTCBCur
 0968 F091E400          lds R31,_OSTCBCur+1
 096C B782              std z+7,R11
 096E A682              std z+6,R10
 0970 0A93              st -y,r16
 0972 0F91              pop r16
 0974 0FBF              out 0x3F,r16
 0976 0991              ld r16,y+
 0978 84DC              xcall _OSSched
 097A           L68:
 097A           L67:
 097A 0E940000          xcall pop_gset3x
 097E                   .dbline 0 ; func end
 097E 0895              ret
 0980           ;              c -> R16
                        .even
 0980           _Putchar::
 0980           L73:
 0980           L74:
 0980 5D9B              sbis 0xb,5
 0982 FECF              rjmp L73
 0984 929A              sbi 0x12,2
 0986 0CB9              out 0xc,R16
 0988           L76:
 0988           L77:
 0988 5E9B              sbis 0xb,6
 098A FECF              rjmp L76
 098C 5E9A              sbi 0xb,6
 098E 9298              cbi 0x12,2
 0990           L72:
 0990                   .dbline 0 ; func end
 0990 0895              ret
                        .even
 0992           _Getchar::
 0992 9298              cbi 0x12,2
 0994 0000              nop
 0996           L80:
 0996           L81:
 0996 5F9B              sbis 0xb,7
 0998 FECF              rjmp L80
 099A 0CB1              in R16,0xc
 099C           L79:
 099C                   .dbline 0 ; func end
 099C 0895              ret
 099E           ;              s -> R10,R11
                        .even
 099E           _Prints::
 099E 0E940000          xcall push_gset3x
 09A2 5801              movw R10,R16
 09A4 06C0              xjmp L85
 09A6           L84:
 09A6 F501              movw R30,R10
 09A8 0081              ldd R16,z+0
 09AA EADF              xcall _Putchar
 09AC C501              movw R24,R10
 09AE 0196              adiw R24,1
 09B0 5C01              movw R10,R24
 09B2           L85:
 09B2 F501              movw R30,R10
 09B4 2080              ldd R2,z+0
 09B6 2220              tst R2
 09B8 B1F7              brne L84
 09BA 0AE0              ldi R16,10
 09BC E1DF              xcall _Putchar
 09BE 0DE0              ldi R16,13
 09C0 DFDF              xcall _Putchar
 09C2 01E0              ldi R16,1
 09C4           L83:
 09C4 0E940000          xcall pop_gset3x
 09C8                   .dbline 0 ; func end
 09C8 0895              ret
 09CA           ;              i -> R10
 09CA           ;             ch -> R12
                        .even
 09CA           _Puthexbyte::
 09CA 0E940000          xcall push_gset4x
 09CE C02E              mov R12,R16
 09D0 8C2D              mov R24,R12
 09D2 8295              swap R24
 09D4 8F70              andi R24,#0x0F
 09D6 A82E              mov R10,R24
 09D8 89E0              ldi R24,9
 09DA 8A15              cp R24,R10
 09DC 20F0              brlo L88
 09DE 0A2D              mov R16,R10
 09E0 005D              subi R16,208    ; addi 48
 09E2 CEDF              xcall _Putchar
 09E4 03C0              xjmp L89
 09E6           L88:
 09E6 0A2D              mov R16,R10
 09E8 095C              subi R16,201    ; addi 55
 09EA CADF              xcall _Putchar
 09EC           L89:
 09EC 8C2D              mov R24,R12
 09EE 8F70              andi R24,15
 09F0 A82E              mov R10,R24
 09F2 89E0              ldi R24,9
 09F4 8A15              cp R24,R10
 09F6 20F0              brlo L90
 09F8 0A2D              mov R16,R10
 09FA 005D              subi R16,208    ; addi 48
 09FC C1DF              xcall _Putchar
 09FE 03C0              xjmp L91
 0A00           L90:
 0A00 0A2D              mov R16,R10
 0A02 095C              subi R16,201    ; addi 55
 0A04 BDDF              xcall _Putchar
 0A06           L91:
 0A06           L87:
 0A06 0E940000          xcall pop_gset4x
 0A0A                   .dbline 0 ; func end
 0A0A 0895              ret
 0A0C           ;              s -> R10,R11
                        .even
 0A0C           _Putstr::
 0A0C 0E940000          xcall push_gset3x
 0A10 5801              movw R10,R16
 0A12 06C0              xjmp L94
 0A14           L93:
 0A14 F501              movw R30,R10
 0A16 0081              ldd R16,z+0
 0A18 B3DF              xcall _Putchar
 0A1A C501              movw R24,R10
 0A1C 0196              adiw R24,1
 0A1E 5C01              movw R10,R24
 0A20           L94:
 0A20 F501              movw R30,R10
 0A22 2080              ldd R2,z+0
 0A24 2220              tst R2
 0A26 B1F7              brne L93
 0A28           L92:
 0A28 0E940000          xcall pop_gset3x
 0A2C                   .dbline 0 ; func end
 0A2C 0895              ret
                        .even
 0A2E           _Uart_init::
 0A2E 88E9              ldi R24,152
 0A30 8AB9              out 0xa,R24
 0A32 8AE1              ldi R24,26
 0A34 89B9              out 0x9,R24
 0A36 2224              clr R2
 0A38 20BC              out 0x20,R2
 0A3A 86E8              ldi R24,134
 0A3C 80BD              out 0x20,R24
 0A3E 9298              cbi 0x12,2
 0A40           L96:
 0A40                   .dbline 0 ; func end
 0A40 0895              ret
                        .area bss(ram, con, rel)
 0000           _OSTCBTbl:
 0000                   .blkb 84
 0054           _OSTaskIdleStk:
 0054                   .blkb 100
 00B8           _OSIntExitY:
 00B8                   .blkb 1
 00B9           _OSTime::
 00B9                   .blkb 4
 00BD           _OSTCBPrioTbl::
 00BD                   .blkb 32
 00DD           _OSTCBList::
 00DD                   .blkb 2
 00DF           _OSTCBHighRdy::
 00DF                   .blkb 2
 00E1           _OSTCBFreeList::
 00E1                   .blkb 2
 00E3           _OSTCBCur::
 00E3                   .blkb 2
 00E5           _OSTaskCtr::
 00E5                   .blkb 1
 00E6           _OSRunning::
 00E6                   .blkb 1
 00E7           _OSRdyTbl::
 00E7                   .blkb 2
 00E9           _OSRdyGrp::
 00E9                   .blkb 1
 00EA           _OSPrioHighRdy::
 00EA                   .blkb 1
 00EB           _OSPrioCur::
 00EB                   .blkb 1
 00EC           _OSLockNesting::
 00EC                   .blkb 1
 00ED           _OSIntNesting::
 00ED                   .blkb 1
 00EE           _OSIdleCtr::
 00EE                   .blkb 4
 00F2           _OSEventTbl::
 00F2                   .blkb 16
 0102           _OSEventFreeList::
 0102                   .blkb 2
 0104           _OSCtxSwCtr::
 0104                   .blkb 4
                        .area func_lit
 0000 E701      PL_OSTaskIdle:  .word `_OSTaskIdle

⌨️ 快捷键说明

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