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

📄 os_core.src

📁 ucOS 模拟环境
💻 SRC
📖 第 1 页 / 共 3 页
字号:
          .STACK      _OS_MemCopy=8
          PUSH.W      R6
          PUSH.W      R5
          .LINE       1147
          MOV.W       R0,R5
          MOV.W       @(6:16,SP),R6
          .LINE       1148
          BRA         L225
L224:                                    
          .LINE       1148
          .LINE       1149
          MOV.B       @R1+,R0L
          MOV.B       R0L,@R5
          ADDS.W      #1,R5
          .LINE       1150
          SUBS.W      #1,R6
L225:                                    
          .LINE       1148
          MOV.W       R6,R6
          BNE         L224
          .LINE       1152
          POP.W       R5
          POP.W       R6
          RTS
          .LINE       1171
_OS_Sched:                              ; function: OS_Sched
          .STACK      _OS_Sched=4
          PUSH.W      R6
          .LINE       1172
          .LINE       1179
          JSR         @_OSCPUSaveSR:16
          MOV.B       R0L,R6H
          .LINE       1180
          MOV.B       @_OSIntNesting:16,R0L
          BNE         L226
          .LINE       1180
          .LINE       1181
          MOV.B       @_OSLockNesting:16,R0L
          BNE         L226
          .LINE       1181
          .LINE       1182
          BSR         __$OS_SchedNew
          .LINE       1183
          MOV.B       @_OSPrioHighRdy:16,R6L
          MOV.B       @_OSPrioCur:16,R0L
          CMP.B       R0L,R6L
          BEQ         L226
          .LINE       1183
          .LINE       1184
          MOV.B       R6L,R0L
          SUB.B       R0H,R0H
          ADD.W       R0,R0
          MOV.W       @(_OSTCBPrioTbl:16,R0),R0
          MOV.W       R0,@_OSTCBHighRdy:16
          .LINE       1188
          MOV.W       #_OSCtxSwCtr,R0
          JSR         @$PRIL$3:16
          .LINE       1189
          JSR         @_OSCtxSw:16
L226:                                    
          .LINE       1193
          MOV.B       R6H,R0L
          JSR         @_OSCPURestoreSR:16
          .LINE       1194
          POP.W       R6
          RTS
          .LINE       1213
__$OS_SchedNew:                         ; function: OS_SchedNew
          .STACK      __$OS_SchedNew=4
          PUSH.W      R6
          .LINE       1214
          .LINE       1219
          MOV.B       @_OSRdyGrp:16,R6L
          SUB.B       R6H,R6H
          MOV.B       @(_OSUnMapTbl:16,R6),R6L
          .LINE       1220
          MOV.B       R6L,R0L
          MOV.B       #8,R0H
          MULXU.B     R0H,R0
          MOV.B       @(_OSRdyTbl:16,R6),R1L
          SUB.B       R1H,R1H
          MOV.B       @(_OSUnMapTbl:16,R1),R1L
          ADD.B       R1L,R0L
          MOV.B       R0L,@_OSPrioHighRdy:16
          .LINE       1238
          POP.W       R6
          RTS
          .LINE       1328
_OS_TaskIdle:                           ; function: OS_TaskIdle
          .STACK      _OS_TaskIdle=4
          .LINE       1329
          .LINE       1337
L229:                                    
          .LINE       1337
          .LINE       1338
          JSR         @_OSCPUSaveSR:16
          MOV.B       R0L,R6L
          .LINE       1339
          MOV.W       #_OSIdleCtr,R0
          JSR         @$PRIL$3:16
          .LINE       1340
          MOV.B       R6L,R0L
          JSR         @_OSCPURestoreSR:16
          .LINE       1341
          JSR         @_OSTaskIdleHook:16
          .LINE       1337
          BRA         L229
          .LINE       1343
          .LINE       1370
_OS_TaskStat:                           ; function: OS_TaskStat
          .STACK      _OS_TaskStat=26
          MOV.W       #14,R6
          SUB.W       R6,SP
          .LINE       1371
          MOV.W       #_OSIdleCtrMax,R4
          MOV.W       #_OSCPUUsage,R5
          .LINE       1382
          BRA         L232
L231:                                    
          .LINE       1382
          .LINE       1383
          MOV.W       #15,R0
          JSR         @_OSTimeDly:16
L232:                                    
          .LINE       1382
          MOV.B       @_OSStatRdy:16,R0L
          BEQ         L231
          .LINE       1385
          MOV.W       R4,R1
          MOV.W       #L233,R2
          MOV.W       #10,R0
          ADD.W       SP,R0
          JSR         @$DIVUL$3:16
          .LINE       1386
L234:                                    
          .LINE       1386
          .LINE       1387
          JSR         @_OSCPUSaveSR:16
          MOV.B       R0L,R6L
          .LINE       1388
          MOV.W       #_OSIdleCtr,R0
          MOV.W       #_OSIdleCtrRun,R1
          JSR         @$MV4$3:16
          .LINE       1389
          MOV.W       #_OSIdleCtr,R0
          MOV.W       #6,R1
          ADD.W       SP,R1
          JSR         @$MV4$3:16
          .LINE       1390
          SUB.W       R0,R0
          MOV.W       R0,@_OSIdleCtr:16
          MOV.W       R0,@_OSIdleCtr+2:16
          .LINE       1391
          MOV.B       R6L,R0L
          JSR         @_OSCPURestoreSR:16
          .LINE       1392
          MOV.W       @(10:16,SP),R0
          BNE         L237
          MOV.W       @(12:16,SP),R0
          BEQ         L236
L237:                                    
          .LINE       1392
          .LINE       1393
          MOV.W       #6,R1
          ADD.W       SP,R1
          MOV.W       #10,R2
          ADD.W       SP,R2
          MOV.W       SP,R0
          JSR         @$DIVUL$3:16
          MOV.B       #100,R6L
          MOV.B       @(3:16,R0),R0L
          SUB.B       R0L,R6L
          .LINE       1394
          MOV.B       R6L,R6L
          BLT         L238
          .LINE       1394
          .LINE       1395
          MOV.B       R6L,@R5
          BRA         L240
L238:                                    
          .LINE       1396
          .LINE       1397
          SUB.B       R0L,R0L
          MOV.B       R0L,@R5
          BRA         L240
L236:                                    
          .LINE       1399
          .LINE       1400
          SUB.B       R0L,R0L
          MOV.B       R0L,@R5
          .LINE       1401
          MOV.W       R4,R1
          MOV.W       #L233,R2
          MOV.W       #10,R0
          ADD.W       SP,R0
          JSR         @$DIVUL$3:16
L240:                                    
          .LINE       1403
          JSR         @_OSTaskStatHook:16
          .LINE       1407
          MOV.W       #7,R0
          JSR         @_OSTimeDly:16
          .LINE       1386
          JMP         @L234:16
          .LINE       1409
          .LINE       1497
_OS_TCBInit:                            ; function: OS_TCBInit
          .STACK      _OS_TCBInit=24
          JSR         @$sp_regsv$3:16
          .LINE       1498
          MOV.W       #_OSTCBList,R4
          MOV.B       R0L,R5L
          MOV.W       R1,R3
          .LINE       1506
          JSR         @_OSCPUSaveSR:16
          MOV.B       R0L,R5H
          .LINE       1507
          MOV.W       @_OSTCBFreeList:16,R6
          .LINE       1508
          BNE         $+6
          JMP         @L241:16
          .LINE       1508
          .LINE       1509
          MOV.W       @(2:16,R6),R0
          MOV.W       R0,@_OSTCBFreeList:16
          .LINE       1510
          MOV.B       R5H,R0L
          JSR         @_OSCPURestoreSR:16
          .LINE       1511
          MOV.W       R3,@R6
          .LINE       1512
          MOV.B       R5L,@(14:16,R6)
          .LINE       1513
          SUB.B       R0L,R0L
          MOV.B       R0L,@(12:16,R6)
          .LINE       1514
          MOV.B       R0L,@(13:16,R6)
          .LINE       1515
          SUB.W       R1,R1
          MOV.W       R1,@(10:16,R6)
          .LINE       1536
          MOV.B       R5L,R0H
          SHLR.B      R0H
          SHLR.B      R0H
          SHLR.B      R0H
          MOV.B       R0H,@(16:16,R6)
          .LINE       1537
          MOV.B       R0H,R1L
          MOV.W       #1,R0
          JSR         @$SLI$3:16
          MOV.B       R0L,@(18:16,R6)
          .LINE       1538
          MOV.B       R5L,R0L
          AND.B       #7,R0L
          MOV.B       R0L,@(15:16,R6)
          .LINE       1539
          MOV.B       R0L,R1L
          MOV.W       #1,R0
          JSR         @$SLI$3:16
          MOV.B       R0L,@(17:16,R6)
          .LINE       1548
          SUB.W       R3,R3
          MOV.W       R3,@(6:16,R6)
          .LINE       1556
          MOV.W       R3,@(8:16,R6)
          .LINE       1573
          MOV.W       R6,R0
          JSR         @_OSTCBInitHook:16
          .LINE       1576
          MOV.W       R6,R0
          JSR         @_OSTaskCreateHook:16
          .LINE       1578
          JSR         @_OSCPUSaveSR:16
          MOV.B       R0L,R5H
          .LINE       1579
          MOV.B       R5L,R0L
          SUB.B       R0H,R0H
          ADD.W       R0,R0
          MOV.W       R6,@(_OSTCBPrioTbl:16,R0)
          .LINE       1580
          MOV.W       @R4,R0
          MOV.W       R0,@(2:16,R6)
          .LINE       1581
          MOV.W       R3,@(4:16,R6)
          .LINE       1582
          MOV.W       @R4,R0
          CMP.W       R3,R0
          BEQ         L242
          .LINE       1582
          .LINE       1583
          MOV.W       R6,@(4:16,R0)
L242:                                    
          .LINE       1585
          MOV.W       R6,@R4
          .LINE       1586
          MOV.B       @(18:16,R6),R0L
          MOV.B       @_OSRdyGrp:16,R0H
          OR.B        R0L,R0H
          MOV.B       R0H,@_OSRdyGrp:16
          .LINE       1587
          MOV.B       @(16:16,R6),R0L
          SUB.B       R0H,R0H
          MOV.B       @(17:16,R6),R1L
          MOV.B       @(_OSRdyTbl:16,R0),R1H
          OR.B        R1L,R1H
          MOV.B       R1H,@(_OSRdyTbl:16,R0)
          .LINE       1588
          MOV.B       @_OSTaskCtr:16,R0L
          INC.B       R0L
          MOV.B       R0L,@_OSTaskCtr:16
          .LINE       1589
          MOV.B       R5H,R0L
          JSR         @_OSCPURestoreSR:16
          .LINE       1590
          SUB.B       R0L,R0L
          BRA         L243
L241:                                    
          .LINE       1592
          JSR         @_OSCPURestoreSR:16
          .LINE       1593
          MOV.B       #70,R0L
          .LINE       1594
L243:                                    
          JMP         @$spregld2$3:16
          .SECTION    C,DATA,ALIGN=2
L233:
          .DATA.W     H'0000,H'0064
_OSUnMapTbl:                            ; static: OSUnMapTbl
          .DATA.B     H'00,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'04,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'05,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'04,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'06,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'04,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'05,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'04,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'07,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'04,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'05,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'04,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'06,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'04,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'05,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'04,H'00,H'01,H'00,H'02,H'00,H'01,H'00,H'03,H'00,H'01,H'00,H'02,H'00,H'01,H'00
          .SECTION    B,DATA,ALIGN=2
_OSCtxSwCtr:                            ; static: OSCtxSwCtr
          .RES.W      2
_OSEventFreeList:                       ; static: OSEventFreeList
          .RES.W      1
_OSEventTbl:                            ; static: OSEventTbl
          .RES.W      20
_OSIdleCtrMax:                          ; static: OSIdleCtrMax
          .RES.W      2
_OSIdleCtrRun:                          ; static: OSIdleCtrRun
          .RES.W      2
_OSTaskStatStk:                         ; static: OSTaskStatStk
          .RES.W      50
_OSIdleCtr:                             ; static: OSIdleCtr
          .RES.W      2
_OSTaskIdleStk:                         ; static: OSTaskIdleStk
          .RES.W      25
_OSTCBCur:                              ; static: OSTCBCur
          .RES.W      1
_OSTCBFreeList:                         ; static: OSTCBFreeList
          .RES.W      1
_OSTCBHighRdy:                          ; static: OSTCBHighRdy
          .RES.W      1
_OSTCBList:                             ; static: OSTCBList
          .RES.W      1
_OSTCBPrioTbl:                          ; static: OSTCBPrioTbl
          .RES.W      5
_OSTCBTbl:                              ; static: OSTCBTbl
          .RES.W      40
_OSCPUUsage:                            ; static: OSCPUUsage
          .RES.B      1
_OSStatRdy:                             ; static: OSStatRdy
          .RES.B      1
_OSIntNesting:                          ; static: OSIntNesting
          .RES.B      1
_OSLockNesting:                         ; static: OSLockNesting
          .RES.B      1
_OSPrioCur:                             ; static: OSPrioCur
          .RES.B      1
_OSPrioHighRdy:                         ; static: OSPrioHighRdy
          .RES.B      1
_OSRdyGrp:                              ; static: OSRdyGrp
          .RES.B      1
_OSRdyTbl:                              ; static: OSRdyTbl
          .RES.B      1
_OSRunning:                             ; static: OSRunning
          .RES.B      1
_OSTaskCtr:                             ; static: OSTaskCtr
          .RES.B      1
          .END

⌨️ 快捷键说明

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