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

📄 mbox.src

📁 ucOS 模拟环境
💻 SRC
📖 第 1 页 / 共 2 页
字号:
          .CPU        300
          .IMPORT     $sp_regsv$3
          .IMPORT     $spregld2$3
          .IMPORT     _OSCPUSaveSR
          .IMPORT     _OSCPURestoreSR
          .IMPORT     _OSEventFreeList
          .IMPORT     _OSIntNesting
          .IMPORT     _OSTCBCur
          .IMPORT     _OS_EventTaskRdy
          .IMPORT     _OS_EventTaskWait
          .IMPORT     _OS_EventTO
          .IMPORT     _OS_EventWaitListInit
          .IMPORT     _OS_Sched
          .EXPORT     _OSMboxAccept
          .EXPORT     _OSMboxCreate
          .EXPORT     _OSMboxDel
          .EXPORT     _OSMboxPend
          .EXPORT     _OSMboxPost
          .EXPORT     _OSMboxPostOpt
          .EXPORT     _OSMboxQuery
          .SECTION    P,CODE,ALIGN=2
          .LINE       "E:\Study\ucOS-II\ucOS-II\ucOS kernel\event\MBox.c",39
_OSMboxAccept:                          ; function: OSMboxAccept
          .STACK      _OSMboxAccept=6
          PUSH.W      R6
          PUSH.W      R4
          .LINE       40
          MOV.W       R0,R6
          .LINE       53
          MOV.B       @R6,R1L
          CMP.B       #1,R1L
          BEQ         L137
          .LINE       53
          .LINE       54
          SUB.W       R0,R0
          BRA         L138
L137:                                    
          .LINE       56
          JSR         @_OSCPUSaveSR:16
          .LINE       57
          MOV.W       @(2:16,R6),R4
          .LINE       58
          SUB.W       R1,R1
          MOV.W       R1,@(2:16,R6)
          .LINE       59
          JSR         @_OSCPURestoreSR:16
          .LINE       60
          MOV.W       R4,R0
          .LINE       61
L138:                                    
          POP.W       R4
          POP.W       R6
          RTS
          .LINE       80
_OSMboxCreate:                          ; function: OSMboxCreate
          .STACK      _OSMboxCreate=12
          JSR         @$sp_regsv$3:16
          .LINE       81
          MOV.W       R0,R3
          .LINE       89
          MOV.B       @_OSIntNesting:16,R1L
          BEQ         L139
          .LINE       89
          .LINE       90
          SUB.W       R0,R0
          BRA         L140
L139:                                    
          .LINE       92
          JSR         @_OSCPUSaveSR:16
          MOV.B       R0L,R4L
          .LINE       93
          MOV.W       #_OSEventFreeList,R1
          MOV.W       @R1,R6
          .LINE       94
          MOV.W       R6,R0
          BEQ         L141
          .LINE       94
          .LINE       95
          MOV.W       @(2:16,R6),R0
          MOV.W       R0,@R1
L141:                                    
          .LINE       97
          MOV.B       R4L,R0L
          JSR         @_OSCPURestoreSR:16
          .LINE       98
          MOV.W       R6,R6
          BEQ         L142
          .LINE       98
          .LINE       99
          MOV.B       #1,R0L
          MOV.B       R0L,@R6
          .LINE       100
          SUB.W       R0,R0
          MOV.W       R0,@(4:16,R6)
          .LINE       101
          MOV.W       R3,@(2:16,R6)
          .LINE       106
          MOV.W       R6,R0
          JSR         @_OS_EventWaitListInit:16
L142:                                    
          .LINE       108
          MOV.W       R6,R0
          .LINE       109
L140:                                    
          JMP         @$spregld2$3:16
          .LINE       148
_OSMboxDel:                             ; function: OSMboxDel
          .STACK      _OSMboxDel=16
          JSR         @$sp_regsv$3:16
          SUBS.W      #2,SP
          .LINE       149
          MOV.W       #_OSEventFreeList,R3
          MOV.W       R0,R6
          MOV.B       R1L,@SP
          MOV.W       @(14:16,SP),R5
          .LINE       167
          MOV.B       @R6,R1H
          CMP.B       #1,R1H
          BEQ         L143
          .LINE       167
          .LINE       168
          MOV.B       #1,R1H
          MOV.B       R1H,@R5
          .LINE       169
          JMP         @L144:16
L143:                                    
          .LINE       171
          MOV.B       @_OSIntNesting:16,R0L
          BEQ         L145
          .LINE       171
          .LINE       172
          MOV.B       #-116,R0L
          MOV.B       R0L,@R5
          .LINE       173
          MOV.W       R6,R0
          JMP         @L144:16
L145:                                    
          .LINE       175
          JSR         @_OSCPUSaveSR:16
          MOV.B       R0L,R4L
          .LINE       176
          MOV.B       @(6:16,R6),R0L
          BEQ         L146
          .LINE       176
          .LINE       177
          MOV.B       #1,R4H
          BRA         L147
L146:                                    
          .LINE       178
          .LINE       179
          SUB.B       R4H,R4H
L147:                                    
          .LINE       181
          MOV.B       @SP,R0L
          BEQ         L134
          CMP.B       #1,R0L
          BNE         L136
          BRA         L152
          .LINE       181
          .LINE       182
L134:                                    
          .LINE       183
          MOV.B       R4H,R4H
          BNE         L149
          .LINE       183
          .LINE       188
          SUB.B       R0L,R0L
          MOV.B       R0L,@R6
          .LINE       189
          MOV.W       @R3,R1
          MOV.W       R1,@(2:16,R6)
          .LINE       190
          SUB.W       R1,R1
          MOV.W       R1,@(4:16,R6)
          .LINE       191
          MOV.W       R6,@R3
          .LINE       192
          MOV.B       R4L,R0L
          JSR         @_OSCPURestoreSR:16
          .LINE       193
          .LINE       194
          BRA         L174
L149:                                    
          .LINE       195
          .LINE       196
          MOV.B       R4L,R0L
          JSR         @_OSCPURestoreSR:16
          .LINE       197
          MOV.B       #8,R0L
          .LINE       198
          .LINE       200
          BRA         L175
          .LINE       203
L151:                                    
          .LINE       203
          .LINE       204
          MOV.B       #2,R0L
          PUSH.W      R0
          SUB.W       R1,R1
          MOV.W       R6,R0
          JSR         @_OS_EventTaskRdy:16
          ADDS.W      #2,SP
L152:                                    
          .LINE       203
          MOV.B       @(6:16,R6),R0L
          BNE         L151
          .LINE       210
          MOV.B       R0L,@R6
          .LINE       211
          MOV.W       @R3,R0
          MOV.W       R0,@(2:16,R6)
          .LINE       212
          SUB.W       R0,R0
          MOV.W       R0,@(4:16,R6)
          .LINE       213
          MOV.W       R6,@R3
          .LINE       214
          MOV.B       R4L,R0L
          JSR         @_OSCPURestoreSR:16
          .LINE       215
          CMP.B       #1,R4H
          BNE         L174
          .LINE       215
          .LINE       216
          JSR         @_OS_Sched:16
          .LINE       218
          .LINE       219
          .LINE       220
L174:                                    
          SUB.B       R0L,R0L
          MOV.B       R0L,@R5
          SUB.W       R5,R5
          BRA         L148
L136:                                    
          .LINE       223
          MOV.B       R4L,R0L
          JSR         @_OSCPURestoreSR:16
          .LINE       224
          MOV.B       #7,R0L
          .LINE       225
          .LINE       226
L175:                                    
          MOV.B       R0L,@R5
          MOV.W       R6,R5
L148:                                    
          .LINE       228
          MOV.W       R5,R0
          .LINE       229
L144:                                    
          ADDS.W      #2,SP
          JMP         @$spregld2$3:16
          .LINE       264
_OSMboxPend:                            ; function: OSMboxPend
          .STACK      _OSMboxPend=18
          JSR         @$sp_regsv$3:16
          SUBS.W      #2,SP
          SUBS.W      #2,SP
          .LINE       265
          MOV.W       R0,R5
          MOV.W       R1,@SP
          MOV.W       @(16:16,SP),R4
          .LINE       282
          MOV.B       @R5,R2L
          CMP.B       #1,R2L
          BEQ         L154
          .LINE       282
          .LINE       283
          MOV.B       #1,R2L
          MOV.B       R2L,@R4
          .LINE       284
          BRA         L177
L154:                                    
          .LINE       286
          MOV.B       @_OSIntNesting:16,R0L
          BEQ         L156
          .LINE       286
          .LINE       287
          MOV.B       #2,R0L
          .LINE       288
          BRA         L178
L156:                                    
          .LINE       290
          JSR         @_OSCPUSaveSR:16
          MOV.B       R0L,R2H
          .LINE       291
          MOV.W       @(2:16,R5),R6
          .LINE       292

⌨️ 快捷键说明

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