📄 comm.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 + -