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

📄 comm.src

📁 ucOS 模拟环境
💻 SRC
字号:
          .CPU        300
          .IMPORT     $sp_regsv$3
          .IMPORT     $spregld2$3
          .IMPORT     _set_irq_handler
          .EXPORT     _COM1_Write
          .EXPORT     _COM1_Read
          .EXPORT     _COM1_open
          .EXPORT     _COM1_Init
          .EXPORT     _COM1_DeInit
          .EXPORT     _COM1_Close
          .EXPORT     _COM1_IO_Control
          .EXPORT     _COM1_Poweron
          .EXPORT     _COM1_PowerOff
          .EXPORT     _INT_SCI
          .EXPORT     _stComm
          .SECTION    P,CODE,ALIGN=2
          .LINE       "E:\Study\ucOS-II\ucOS-II\PLATFORM\Driver\comm.c",23
_COM1_Init:                             ; function: COM1_Init
          .STACK      _COM1_Init=4
          PUSH.W      R5
          .LINE       24
          .LINE       27
          MOV.W       #_stComm,R1
          .LINE       28
          MOV.W       #108,R5
          .LINE       28
          SUB.B       R0L,R0L
L351:                                    
          .LINE       29
          .LINE       30
          MOV.B       R0L,@R1
          ADDS.W      #1,R1
          .LINE       28
          SUBS.W      #1,R5
          MOV.W       R5,R5
          BNE         L351
          .LINE       32
          MOV.B       #-91,R0L
          MOV.B       R0L,@_stComm+91:16
          .LINE       33
          MOV.B       #-32,R0L
          MOV.B       R0L,@65425:8
          .LINE       34
          SUB.B       R0L,R0L
          MOV.B       R0L,@65450:8
          .LINE       36
          BCLR.B      #5,@65452:8
          .LINE       37
          BCLR.B      #4,@65452:8
          .LINE       38
          BCLR.B      #3,@65452:8
          .LINE       39
          BCLR.B      #7,@65452:8
          .LINE       40
          BCLR.B      #6,@65452:8
          .LINE       42
          MOV.W       #_INT_SCI,R1
          MOV.W       #18,R0
          JSR         @_set_irq_handler:16
          .LINE       44
          SUB.B       R0L,R0L
          MOV.B       R0L,@65448:8
          .LINE       45
          MOV.B       #3,R0L
          MOV.B       R0L,@65449:8
          .LINE       46
          MOV.B       #-64,R0L
          MOV.B       R0L,@65450:8
          .LINE       47
          BSET.B      #5,@65450:8
          .LINE       48
          BSET.B      #4,@65450:8
          .LINE       49
          MOV.W       #1,R0
          .LINE       50
          POP.W       R5
          RTS
          .LINE       51
_COM1_Write:                            ; function: COM1_Write
          .STACK      _COM1_Write=14
          JSR         @$sp_regsv$3:16
          .LINE       53
          MOV.W       @(12:16,SP),R5
          .LINE       57
          MOV.W       R1,R4
          .LINE       58
          SUB.B       R6L,R6L
          .LINE       60
          MOV.W       R5,R1
          CMP.B       #48,R1L
          SUBX.B      #0,R1H
          BHI         L353
          MOV.W       R5,R5
          BEQ         L353
          .LINE       61
          .LINE       62
          BRA         L355
L354:                                    
          .LINE       63
          .LINE       64
          ORC.B       #-128,CCR
          .LINE       65
          MOV.B       @_stComm+2:16,R6L
          .LINE       66
          ANDC.B      #127,CCR
          .LINE       68
          MOV.B       R6L,R6H
          MOV.B       @_stComm+1:16,R0L
          SUB.B       R0L,R6H
          CMP.B       R0L,R6L
          BHI         L379
          .LINE       69
          .LINE       70
          .LINE       72
          .LINE       73
          ADD.B       #48,R6H
L379:                                    
          MOV.B       R6H,R6L
L355:                                    
          .LINE       62
          MOV.B       R6L,R0L
          SUB.B       R0H,R0H
          CMP.W       R5,R0
          BLO         L354
          .LINE       77
          SUB.B       R6L,R6L
          .LINE       77
          BRA         L359
L358:                                    
          .LINE       78
          .LINE       79
          MOV.B       @_stComm+1:16,R0L
          INC.B       R0L
          MOV.B       R0L,@_stComm+1:16
          DEC.B       R0L
          MOV.B       R6L,R1L
          SUB.B       R1H,R1H
          ADD.W       R4,R1
          MOV.B       @R1,R1L
          MOV.B       R1L,@(_stComm+5:16,R0)
          .LINE       80
          MOV.B       @_stComm+1:16,R0L
          CMP.B       #48,R0L
          BLO         L360
          .LINE       81
          .LINE       82
          SUB.B       R0L,R0L
          MOV.B       R0L,@_stComm+1:16
L360:                                    
          .LINE       77
          INC.B       R6L
L359:                                    
          .LINE       77
          MOV.B       R6L,R0L
          CMP.W       R5,R0
          BLO         L358
          .LINE       86
          MOV.B       @_stComm:16,R0L
          BLD.B       #6,R0L
          BCS         L353
          .LINE       87
          .LINE       88
          MOV.W       #_stComm,R0
          BSET.B      #6,@R0
          .LINE       89
          BSET.B      #7,@65450:8
L353:                                    
          .LINE       93
          MOV.W       #1,R0
          .LINE       94
          JMP         @$spregld2$3:16
          .LINE       95
_COM1_Read:                             ; function: COM1_Read
          .STACK      _COM1_Read=14
          JSR         @$sp_regsv$3:16
          .LINE       97
          MOV.W       @(12:16,SP),R5
          .LINE       101
          MOV.W       R1,R4
          .LINE       102
          ORC.B       #-128,CCR
          .LINE       103
          MOV.B       @_stComm+3:16,R6L
          .LINE       104
          ANDC.B      #127,CCR
          .LINE       106
          MOV.B       R6L,R6H
          MOV.B       @_stComm+4:16,R0L
          SUB.B       R0L,R6H
          CMP.B       R0L,R6L
          BHS         L380
          .LINE       107
          .LINE       108
          .LINE       110
          .LINE       111
          ADD.B       #32,R6H
L380:                                    
          MOV.B       R6H,R6L
          .LINE       114
          MOV.B       R6L,R0L
          SUB.B       R0H,R0H
          CMP.W       R5,R0
          BLO         L365
          .LINE       115
          .LINE       116
          SUB.B       R6L,R6L
          .LINE       116
          BRA         L367
L366:                                    
          .LINE       117
          .LINE       118
          MOV.B       @_stComm+4:16,R0L
          INC.B       R0L
          MOV.B       R0L,@_stComm+4:16
          DEC.B       R0L
          MOV.B       R6L,R1L
          SUB.B       R1H,R1H
          ADD.W       R4,R1
          MOV.B       @(_stComm+53:16,R0),R0L
          MOV.B       R0L,@R1
          .LINE       119
          MOV.B       @_stComm+4:16,R0L
          CMP.B       #32,R0L
          BLO         L368
          .LINE       120
          .LINE       121
          SUB.B       R0L,R0L
          MOV.B       R0L,@_stComm+4:16
L368:                                    
          .LINE       116
          INC.B       R6L
L367:                                    
          .LINE       116
          MOV.B       R6L,R0L
          CMP.W       R5,R0
          BLO         L366
          .LINE       124
          MOV.B       R5L,R6L
          BRA         L369
L365:                                    
          .LINE       126
          .LINE       127
          SUB.B       R6L,R6L
L369:                                    
          .LINE       130
          MOV.B       R6L,R0L
          .LINE       131
          JMP         @$spregld2$3:16
          .LINE       133
_INT_SCI:                               ; function: INT_SCI
          .STACK      _INT_SCI=4
          PUSH.W      R6
          .LINE       134
          .LINE       135
          MOV.B       @65452:8,R0L
          BPL         L371
          .LINE       136
          .LINE       143
          MOV.B       @_stComm+2:16,R0L
          MOV.B       @_stComm+1:16,R0H
          CMP.B       R0H,R0L
          BEQ         L371
          .LINE       144
          .LINE       145
          INC.B       R0L
          MOV.B       R0L,@_stComm+2:16
          DEC.B       R0L
          SUB.B       R0H,R0H
          MOV.B       @(_stComm+5:16,R0),R0L
          MOV.B       R0L,@65451:8
          .LINE       146
          MOV.B       @_stComm+2:16,R0L
          CMP.B       #48,R0L
          BLO         L371
          .LINE       147
          .LINE       148
          SUB.B       R0L,R0L
          MOV.B       R0L,@_stComm+2:16
L371:                                    
          .LINE       154
          BLD.B       #6,@65452:8
          BCC         L374
          .LINE       155
          .LINE       165
          MOV.B       @_stComm+3:16,R6H
          MOV.B       R6H,R1H
          .LINE       166
          INC.B       R1H
          .LINE       167
          CMP.B       #32,R1H
          BLO         L375
          .LINE       168
          .LINE       169
          SUB.B       R1H,R1H
L375:                                    
          .LINE       171
          MOV.B       @_stComm+4:16,R0L
          CMP.B       R0L,R1H
          BEQ         L374
          .LINE       172
          .LINE       173
          MOV.B       R6H,R0L
          SUB.B       R0H,R0H
          MOV.B       @65453:8,R1L
          MOV.B       R1L,@(_stComm+53:16,R0)
          .LINE       174
          MOV.B       R1H,@_stComm+3:16
L374:                                    
          .LINE       179
          BLD.B       #2,@65452:8
          BCC         L377
          .LINE       180
          .LINE       188
          MOV.B       @_stComm+2:16,R0L
          MOV.B       @_stComm+1:16,R0H
          CMP.B       R0H,R0L
          BNE         L377
          .LINE       189
          .LINE       190
          MOV.W       #_stComm,R0
          BCLR.B      #6,@R0
          .LINE       191
          BCLR.B      #7,@65450:8
L377:                                    
          .LINE       197
          BCLR.B      #5,@65452:8
          .LINE       198
          BCLR.B      #4,@65452:8
          .LINE       199
          BCLR.B      #3,@65452:8
          .LINE       201
          POP.W       R6
          RTS
          .LINE       204
_COM1_open:                             ; function: COM1_open
          .STACK      _COM1_open=4
          .LINE       205
          .LINE       207
          RTS
          .LINE       209
_COM1_DeInit:                           ; function: COM1_DeInit
          .STACK      _COM1_DeInit=2
          .LINE       210
          .LINE       212
          RTS
          .LINE       213
_COM1_Close:                            ; function: COM1_Close
          .STACK      _COM1_Close=2
          .LINE       214
          .LINE       217
          RTS
          .LINE       218
_COM1_IO_Control:                       ; function: COM1_IO_Control
          .STACK      _COM1_IO_Control=12
          .LINE       226
          .LINE       228
          RTS
          .LINE       231
_COM1_Poweron:                          ; function: COM1_Poweron
          .STACK      _COM1_Poweron=2
          .LINE       232
          .LINE       234
          RTS
          .LINE       235
_COM1_PowerOff:                         ; function: COM1_PowerOff
          .STACK      _COM1_PowerOff=2
          .LINE       236
          .LINE       238
          RTS
          .SECTION    B,DATA,ALIGN=2
_stComm:                                ; static: stComm
          .RES.B      108
          .END

⌨️ 快捷键说明

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