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

📄 window.src

📁 ucOS 模拟环境
💻 SRC
📖 第 1 页 / 共 3 页
字号:
          .CPU        300
          .IMPORT     $sp_regsv$3
          .IMPORT     $spregld2$3
          .IMPORT     _memcpy
          .IMPORT     _memset
          .IMPORT     _OSCPUSaveSR
          .IMPORT     _OSCPURestoreSR
          .IMPORT     _OSMboxCreate
          .IMPORT     _OSMboxPend
          .IMPORT     _OSMboxPost
          .EXPORT     _MsgPool
          .EXPORT     _pCurrMsg
          .EXPORT     _pMsgTail
          .EXPORT     _FreeMsgRcd
          .EXPORT     _FreeWndRcd
          .EXPORT     _pTopWnd
          .EXPORT     _DesktopWnd
          .EXPORT     _WinPool
          .EXPORT     _g_hMessageEvent
          .EXPORT     _InitWindow
          .EXPORT     _CE_BGetMsg
          .EXPORT     _CE_GetMsg
          .EXPORT     _CE_PeekMsg
          .EXPORT     _CE_GlanceMsg
          .EXPORT     _CE_IsEmptyMsg
          .EXPORT     _CE_SearchMsg
          .EXPORT     _CE_DispatchMsg
          .EXPORT     _CE_PostMsg
          .EXPORT     _CE_SendMsg
          .EXPORT     _CE_RemoveMsg
          .EXPORT     _CE_CreateWnd
          .EXPORT     _CE_DestroyWnd
          .EXPORT     _CE_CloseWnd
          .EXPORT     _CE_GetParent
          .EXPORT     _CE_GetUserData
          .EXPORT     _CE_SetUserData
          .EXPORT     _SystemIdel
          .SECTION    P,CODE,ALIGN=2
          .LINE       "E:\Study\ucOS-II\ucOS-II\API\Window.c",24
_InitWindow:                            ; function: InitWindow
          .STACK      _InitWindow=6
          PUSH.W      R6
          PUSH.W      R5
          .LINE       25
          MOV.W       #16,R5
          .LINE       28
          PUSH.W      R5
          SUB.W       R1,R1
          MOV.W       #_MsgPool,R0
          JSR         @_memset:16
          ADDS.W      #2,SP
          .LINE       29
          MOV.B       #1,R0L
          MOV.B       R0L,@_pMsgTail:16
          MOV.B       R0L,@_pCurrMsg:16
          .LINE       30
          MOV.B       #2,R0L
          MOV.B       R0L,@_FreeMsgRcd:16
          .LINE       32
          MOV.W       #2,R6
          .LINE       32
          BRA         L384
L383:                                    
          .LINE       33
          MOV.B       R6L,R0L
          ADD.B       #1,R0L
          MOV.W       R6,R1
          ADD.W       R1,R1
          ADD.W       R1,R1
          ADD.W       R1,R1
          MOV.B       R0L,@(_MsgPool-8:16,R1)
          .LINE       32
          ADDS.W      #1,R6
L384:                                    
          .LINE       32
          MOV.W       R6,R0
          CMP.B       #2,R0L
          SUBX.B      #0,R0H
          BLO         L383
          .LINE       35
          MOV.W       #32,R0
          PUSH.W      R0
          SUB.W       R1,R1
          MOV.W       #_WinPool,R0
          JSR         @_memset:16
          ADDS.W      #2,SP
          .LINE       36
          MOV.B       #1,R0L
          MOV.B       R0L,@_FreeWndRcd:16
          .LINE       38
          MOV.W       #_WinPool,R0
          ADD.W       R5,R0
          SUB.W       R5,R0
          MOV.W       #2,R1
          MOV.W       R1,@(2:16,R0)
          .LINE       39
          SUB.W       R0,R0
          MOV.B       R0L,@_pTopWnd:16
          .LINE       40
          JSR         @_OSMboxCreate:16
          MOV.W       R0,@_g_hMessageEvent:16
          .LINE       42
          POP.W       R5
          POP.W       R6
          RTS
          .LINE       43
_SystemIdel:                            ; function: SystemIdel
          .STACK      _SystemIdel=4
          SUBS.W      #2,SP
          .LINE       44
          .LINE       47
          MOV.W       SP,R0
          PUSH.W      R0
          SUB.W       R1,R1
          MOV.W       @_g_hMessageEvent:16,R0
          JSR         @_OSMboxPend:16
          ADDS.W      #2,SP
          .LINE       49
          ADDS.W      #2,SP
          RTS
          .LINE       58
_CE_BGetMsg:                            ; function: CE_BGetMsg
          .STACK      _CE_BGetMsg=12
          JSR         @$sp_regsv$3:16
          .LINE       59
          MOV.W       #_pCurrMsg,R6
          MOV.W       R0,R3
          .LINE       72
          BRA         L386
L385:                                    
          .LINE       73
          .LINE       74
          BSR         _SystemIdel
L386:                                    
          .LINE       72
          MOV.B       @R6,R0L
          MOV.B       @_pMsgTail:16,R0H
          CMP.B       R0H,R0L
          BEQ         L385
          .LINE       79
          JSR         @_OSCPUSaveSR:16
          MOV.B       R0L,R5H
          MOV.B       @R6,R5L
          .LINE       83
          .LINE       84
          MOV.B       R5L,R1L
          SUB.B       R1H,R1H
          ADD.W       R1,R1
          ADD.W       R1,R1
          ADD.W       R1,R1
          MOV.B       @(_MsgPool-8:16,R1),R0L
          MOV.B       R0L,@R6
          .LINE       86
          MOV.W       #8,R1
          PUSH.W      R1
          MOV.B       R0L,R1L
          SUBS.W      #1,R1
          ADD.W       R1,R1
          ADD.W       R1,R1
          ADD.W       R1,R1
          ADD.B       #LOW _MsgPool,R1L
          ADDX.B      #HIGH _MsgPool,R1H
          MOV.W       R3,R0
          JSR         @_memcpy:16
          ADDS.W      #2,SP
          .LINE       87
          MOV.W       #8,R0
          PUSH.W      R0
          MOV.B       R5L,R3L
          SUB.B       R3H,R3H
          MOV.W       R3,R0
          SUBS.W      #1,R0
          ADD.W       R0,R0
          ADD.W       R0,R0
          ADD.W       R0,R0
          SUB.W       R1,R1
          ADD.B       #LOW _MsgPool,R0L
          ADDX.B      #HIGH _MsgPool,R0H
          JSR         @_memset:16
          ADDS.W      #2,SP
          MOV.B       @_FreeMsgRcd:16,R0L
          .LINE       89
          ADD.W       R3,R3
          ADD.W       R3,R3
          ADD.W       R3,R3
          MOV.B       R0L,@(_MsgPool-8:16,R3)
          .LINE       90
          MOV.B       R5L,@_FreeMsgRcd:16
          .LINE       93
          MOV.B       R5H,R0L
          JSR         @_OSCPURestoreSR:16
          .LINE       95
          MOV.W       #1,R0
          .LINE       96
          JMP         @$spregld2$3:16
          .LINE       105
_CE_GetMsg:                             ; function: CE_GetMsg
          .STACK      _CE_GetMsg=12
          JSR         @$sp_regsv$3:16
          .LINE       106
          MOV.W       #_pCurrMsg,R6
          MOV.W       R0,R3
          .LINE       119
          BRA         L389
L388:                                    
          .LINE       120
          .LINE       121
          JSR         @_SystemIdel:16
L389:                                    
          .LINE       119
          MOV.B       @R6,R0L
          MOV.B       @_pMsgTail:16,R0H
          CMP.B       R0H,R0L
          BEQ         L388
          .LINE       125
          JSR         @_OSCPUSaveSR:16
          MOV.B       R0L,R5H
          MOV.B       @R6,R5L
          .LINE       129
          .LINE       130
          MOV.B       R5L,R1L
          SUB.B       R1H,R1H
          ADD.W       R1,R1
          ADD.W       R1,R1
          ADD.W       R1,R1
          MOV.B       @(_MsgPool-8:16,R1),R0L
          MOV.B       R0L,@R6
          .LINE       132
          MOV.W       #8,R1
          PUSH.W      R1
          MOV.B       R0L,R1L
          SUBS.W      #1,R1
          ADD.W       R1,R1
          ADD.W       R1,R1
          ADD.W       R1,R1
          ADD.B       #LOW _MsgPool,R1L
          ADDX.B      #HIGH _MsgPool,R1H
          MOV.W       R3,R0
          JSR         @_memcpy:16
          ADDS.W      #2,SP
          .LINE       133
          MOV.W       #8,R0
          PUSH.W      R0
          MOV.B       R5L,R3L
          SUB.B       R3H,R3H
          MOV.W       R3,R0
          SUBS.W      #1,R0
          ADD.W       R0,R0
          ADD.W       R0,R0
          ADD.W       R0,R0
          SUB.W       R1,R1
          ADD.B       #LOW _MsgPool,R0L
          ADDX.B      #HIGH _MsgPool,R0H
          JSR         @_memset:16
          ADDS.W      #2,SP
          MOV.B       @_FreeMsgRcd:16,R0L
          .LINE       135
          ADD.W       R3,R3
          ADD.W       R3,R3
          ADD.W       R3,R3
          MOV.B       R0L,@(_MsgPool-8:16,R3)
          .LINE       136
          MOV.B       R5L,@_FreeMsgRcd:16
          .LINE       139
          MOV.B       R5H,R0L
          JSR         @_OSCPURestoreSR:16
          .LINE       141
          MOV.W       #1,R0
          .LINE       142
          JMP         @$spregld2$3:16
          .LINE       151
_CE_PeekMsg:                            ; function: CE_PeekMsg
          .STACK      _CE_PeekMsg=12
          JSR         @$sp_regsv$3:16
          .LINE       152
          MOV.W       R0,R3
          .LINE       164
          MOV.W       #_pCurrMsg,R5
          MOV.B       @R5,R1L
          MOV.B       @_pMsgTail:16,R1H
          CMP.B       R1H,R1L
          BNE         L391
          .LINE       165
          .LINE       167
          SUB.W       R0,R0
          BRA         L392
L391:                                    
          .LINE       172
          JSR         @_OSCPUSaveSR:16
          MOV.B       R0L,R4L
          MOV.B       @R5,R6L
          .LINE       176
          .LINE       177
          MOV.B       R6L,R1L
          SUB.B       R1H,R1H
          ADD.W       R1,R1
          ADD.W       R1,R1
          ADD.W       R1,R1
          MOV.B       @(_MsgPool-8:16,R1),R0L
          MOV.B       R0L,@R5
          .LINE       179
          MOV.W       #8,R1
          PUSH.W      R1
          MOV.B       R0L,R1L
          SUBS.W      #1,R1
          ADD.W       R1,R1
          ADD.W       R1,R1
          ADD.W       R1,R1
          ADD.B       #LOW _MsgPool,R1L
          ADDX.B      #HIGH _MsgPool,R1H
          MOV.W       R3,R0
          JSR         @_memcpy:16
          ADDS.W      #2,SP
          .LINE       180
          MOV.W       #8,R0
          PUSH.W      R0
          MOV.B       R6L,R5L
          SUB.B       R5H,R5H
          MOV.W       R5,R0
          SUBS.W      #1,R0
          ADD.W       R0,R0
          ADD.W       R0,R0
          ADD.W       R0,R0
          SUB.W       R1,R1
          ADD.B       #LOW _MsgPool,R0L
          ADDX.B      #HIGH _MsgPool,R0H
          JSR         @_memset:16
          ADDS.W      #2,SP
          MOV.B       @_FreeMsgRcd:16,R0L
          .LINE       182
          ADD.W       R5,R5
          ADD.W       R5,R5
          ADD.W       R5,R5
          MOV.B       R0L,@(_MsgPool-8:16,R5)
          .LINE       183
          MOV.B       R6L,@_FreeMsgRcd:16
          .LINE       186
          MOV.B       R4L,R0L
          JSR         @_OSCPURestoreSR:16
          .LINE       188
          MOV.W       #1,R0
          .LINE       189
L392:                                    
          JMP         @$spregld2$3:16
          .LINE       197
_CE_GlanceMsg:                          ; function: CE_GlanceMsg
          .STACK      _CE_GlanceMsg=6
          PUSH.W      R6
          PUSH.W      R5
          .LINE       198
          MOV.W       R0,R5
          .LINE       219
          MOV.B       @_pCurrMsg:16,R1L
          MOV.B       @_pMsgTail:16,R1H
          CMP.B       R1H,R1L
          BNE         L393
          .LINE       220
          .LINE       221
          SUB.W       R0,R0
          BRA         L394
L393:                                    
          .LINE       226
          JSR         @_OSCPUSaveSR:16
          MOV.B       R0L,R6L
          .LINE       239
          MOV.W       #8,R1
          PUSH.W      R1
          MOV.B       @_pCurrMsg:16,R1L
          ADD.W       R1,R1
          ADD.W       R1,R1
          ADD.W       R1,R1
          MOV.B       @(_MsgPool-8:16,R1),R1L
          SUB.B       R1H,R1H
          SUBS.W      #1,R1
          ADD.W       R1,R1
          ADD.W       R1,R1
          ADD.W       R1,R1
          ADD.B       #LOW _MsgPool,R1L
          ADDX.B      #HIGH _MsgPool,R1H
          MOV.W       R5,R0
          JSR         @_memcpy:16
          ADDS.W      #2,SP
          .LINE       241
          MOV.B       R6L,R0L
          JSR         @_OSCPURestoreSR:16
          .LINE       243
          MOV.W       #1,R0
          .LINE       244
L394:                                    
          POP.W       R5
          POP.W       R6
          RTS
          .LINE       246
_CE_IsEmptyMsg:                         ; function: CE_IsEmptyMsg
          .STACK      _CE_IsEmptyMsg=2
          .LINE       247
          .LINE       248
          MOV.W       @(2:16,R0),R1
          BNE         L395
          MOV.W       @(4:16,R0),R1
          BNE         L395
          MOV.W       @(6:16,R0),R1
          BNE         L395
          MOV.B       @R0,R1L
          BNE         L395
          .LINE       249
          MOV.B       #1,R0L
          RTS
L395:                                    
          .LINE       251
          SUB.B       R0L,R0L
          .LINE       252
          RTS
          .LINE       255
_CE_SearchMsg:                          ; function: CE_SearchMsg

⌨️ 快捷键说明

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