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

📄 device.src

📁 ucOS 模拟环境
💻 SRC
字号:
          .CPU        300
          .IMPORT     $MULI$3
          .IMPORT     $sp_regsv$3
          .IMPORT     $spregld2$3
          .IMPORT     _strstr
          .IMPORT     _OSMboxCreate
          .IMPORT     _OSMboxPend
          .IMPORT     _OSMboxPost
          .IMPORT     _COM1_Write
          .IMPORT     _COM1_Read
          .IMPORT     _COM1_open
          .IMPORT     _COM1_Init
          .IMPORT     _COM1_DeInit
          .IMPORT     _COM1_Close
          .IMPORT     _COM1_IO_Control
          .IMPORT     _COM1_Poweron
          .IMPORT     _COM1_PowerOff
          .EXPORT     _CreateFile
          .EXPORT     _ReadFile
          .EXPORT     _WriteFile
          .EXPORT     _g_device_map
          .EXPORT     _g_Control_Table
          .SECTION    P,CODE,ALIGN=2
          .LINE       "E:\Study\ucOS-II\ucOS-II\API\Device.c",10
_CreateFile:                            ; function: CreateFile
          .STACK      _CreateFile=20
          JSR         @$sp_regsv$3:16
          .LINE       18
          MOV.W       R0,R4
          .LINE       20
          MOV.W       #-1,R5
          .LINE       21
          SUB.W       R6,R6
          .LINE       21
L322:                                    
          .LINE       22
          .LINE       23
          MOV.W       R6,R0
          MOV.W       #30,R1
          JSR         @$MULI$3:16
          MOV.W       #_g_device_map+1,R1
          ADD.W       R1,R0
          MOV.W       R4,R1
          JSR         @_strstr:16
          MOV.W       R0,R0
          BEQ         L323
          .LINE       24
          .LINE       25
          MOV.W       R6,R5
          BSET.B      #0,R5H
          .LINE       26
          BRA         L324
L323:                                    
          .LINE       21
          ADDS.W      #1,R6
          .LINE       21
          MOV.W       R6,R6
          BEQ         L322
L324:                                    
          .LINE       29
          MOV.W       R5,R0
          CMP.B       #-1,R0L
          SUBX.B      #-1,R0H
          BEQ         L325
          .LINE       30
          .LINE       31
          MOV.W       R6,R0
          MOV.W       #30,R1
          JSR         @$MULI$3:16
          MOV.W       R0,R3
          SUB.W       R0,R0
          MOV.W       @(_g_device_map+12:16,R3),R2
          JSR         @R2
          MOV.W       R0,R0
          BNE         L325
          .LINE       32
          .LINE       33
          MOV.W       R6,R0
          MOV.W       #14,R1
          JSR         @$MULI$3:16
          MOV.W       #_g_Control_Table,R4
          ADD.W       R0,R4
          MOV.W       #1,R0
          JSR         @_OSMboxCreate:16
          MOV.W       R0,@(6:16,R4)
          .LINE       34
          BEQ         L325
          .LINE       35
          .LINE       36
          MOV.W       R6,R0
          MOV.W       #14,R1
          JSR         @$MULI$3:16
          MOV.W       #_g_Control_Table,R4
          ADD.W       R0,R4
          MOV.W       R6,@(2:16,R4)
          SUB.W       R0,R0
          MOV.W       R0,@R4
          .LINE       37
          MOV.W       R6,R0
          MOV.W       #30,R1
          JSR         @$MULI$3:16
          MOV.W       #_g_device_map,R3
          ADD.W       R0,R3
          MOV.B       @R3,R0L
          MOV.B       R0L,@(4:16,R4)
          .LINE       38
          MOV.W       R3,@(12:16,R4)
L325:                                    
          .LINE       45
          MOV.W       R5,R0
          .LINE       46
          JMP         @$spregld2$3:16
          .LINE       48
_ReadFile:                              ; function: ReadFile
          .STACK      _ReadFile=18
          JSR         @$sp_regsv$3:16
          SUBS.W      #2,SP
          .LINE       54
          MOV.W       R1,R4
          .LINE       57
          MOV.W       R0,R2
          CMP.B       #-1,R2L
          SUBX.B      #-1,R2H
          BEQ         L329
          .LINE       58
          .LINE       59
          .LINE       60
          MOV.B       R0L,R0L
          BNE         L329
          .LINE       61
          .LINE       62
          MOV.W       SP,R2
          PUSH.W      R2
          MOV.B       R0L,R5L
          MOV.B       #14,R5H
          MULXU.B     R5H,R5
          ADD.B       #LOW _g_Control_Table,R5L
          ADDX.B      #HIGH _g_Control_Table,R5H
          SUB.W       R1,R1
          MOV.W       @(6:16,R5),R0
          JSR         @_OSMboxPend:16
          ADDS.W      #2,SP
          .LINE       63
          MOV.W       @(12:16,R5),R2
          MOV.W       @(14:16,SP),R0
          PUSH.W      R0
          MOV.W       R4,R1
          SUB.W       R0,R0
          MOV.W       @(22:16,R2),R2
          JSR         @R2
          ADDS.W      #2,SP
          MOV.W       @(16:16,SP),R1
          MOV.W       R0,@R1
          .LINE       64
          MOV.W       @(6:16,R5),R0
          MOV.W       #1,R1
          JSR         @_OSMboxPost:16
          .LINE       65
          MOV.B       #1,R0L
          BRA         L331
L329:                                    
          .LINE       69
          SUB.B       R0L,R0L
          .LINE       71
L331:                                    
          ADDS.W      #2,SP
          JMP         @$spregld2$3:16
          .LINE       73
_WriteFile:                             ; function: WriteFile
          .STACK      _WriteFile=18
          JSR         @$sp_regsv$3:16
          SUBS.W      #2,SP
          .LINE       79
          MOV.W       R1,R4
          .LINE       83
          MOV.W       R0,R2
          CMP.B       #-1,R2L
          SUBX.B      #-1,R2H
          BEQ         L332
          .LINE       84
          .LINE       85
          .LINE       86
          MOV.B       R0L,R0L
          BNE         L332
          .LINE       87
          .LINE       88
          MOV.W       SP,R2
          PUSH.W      R2
          MOV.B       R0L,R5L
          MOV.B       #14,R5H
          MULXU.B     R5H,R5
          ADD.B       #LOW _g_Control_Table,R5L
          ADDX.B      #HIGH _g_Control_Table,R5H
          SUB.W       R1,R1
          MOV.W       @(6:16,R5),R0
          JSR         @_OSMboxPend:16
          ADDS.W      #2,SP
          .LINE       89
          MOV.W       @(12:16,R5),R2
          MOV.W       @(14:16,SP),R0
          PUSH.W      R0
          MOV.W       R4,R1
          SUB.W       R0,R0
          MOV.W       @(20:16,R2),R2
          JSR         @R2
          ADDS.W      #2,SP
          MOV.W       @(16:16,SP),R1
          MOV.W       R0,@R1
          .LINE       90
          MOV.W       @(6:16,R5),R0
          MOV.W       #1,R1
          JSR         @_OSMboxPost:16
          .LINE       91
          MOV.B       #1,R0L
          BRA         L334
L332:                                    
          .LINE       95
          SUB.B       R0L,R0L
          .LINE       98
L334:                                    
          ADDS.W      #2,SP
          JMP         @$spregld2$3:16
          .SECTION    C,DATA,ALIGN=2
_g_device_map:                          ; static: g_device_map
          .DATA.B     H'01
          .SDATAZ     "COM1"
          .DATAB.B    5,0
          .DATAB.B    1,0
          .DATA.W     _COM1_Init
          .DATA.W     _COM1_DeInit
          .DATA.W     _COM1_open
          .DATA.W     _COM1_Close
          .DATA.W     _COM1_Write
          .DATA.W     _COM1_Read
          .DATA.W     _COM1_IO_Control
          .DATA.W     _COM1_Poweron
          .DATA.W     _COM1_PowerOff
          .SECTION    B,DATA,ALIGN=2
_g_Control_Table:                       ; static: g_Control_Table
          .RES.W      7
          .END

⌨️ 快捷键说明

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