📄 defaultisr_nonbios.asm
字号:
BF L8,NEQ ; |60|
; branch occurs ; |60|
.line 14
;----------------------------------------------------------------------
; 62 | TR_485 = 1; // Enable transmit
;----------------------------------------------------------------------
MOVW DP,#_GpioDataRegs+12
OR @_GpioDataRegs+12,#0x0040 ; |62|
.line 15
;----------------------------------------------------------------------
; 63 | for (i=0;i<8;i++) ScibRegs.SCITXBUF = scib_buffer[i] + 1;
;----------------------------------------------------------------------
MOVW DP,#_i$3
MOV @_i$3,#0 ; |63|
MOV AL,@_i$3 ; |63|
CMPB AL,#8 ; |63|
B L7,GEQ ; |63|
; branch occurs ; |63|
L6:
SETC SXM
MOVL XAR4,#_scib_buffer$4 ; |63|
MOV ACC,@_i$3 ; |63|
ADDL XAR4,ACC
MOVW DP,#_ScibRegs+9
MOV AL,*+XAR4[0] ; |63|
ADDB AL,#1 ; |63|
MOV @_ScibRegs+9,AL ; |63|
MOVW DP,#_i$3
INC @_i$3 ; |63|
MOV AL,@_i$3 ; |63|
CMPB AL,#8 ; |63|
B L6,LT ; |63|
; branch occurs ; |63|
L7:
.line 16
;----------------------------------------------------------------------
; 64 | i = 0;
;----------------------------------------------------------------------
MOV @_i$3,#0 ; |64|
L8:
.line 18
MOVW DP,#_ScibRegs+11
AND AL,@_ScibRegs+11,#0x1f00 ; |66|
LSR AL,8 ; |66|
B L5,GT ; |66|
; branch occurs ; |66|
.line 19
;----------------------------------------------------------------------
; 68 | else // Transmit enabled
;----------------------------------------------------------------------
B L10,UNC ; |67|
; branch occurs ; |67|
L9:
.line 22
;----------------------------------------------------------------------
; 70 | if (ScibRegs.SCICTL2.bit.TXEMPTY ==1) TR_485 = 0; // Enable receive
;----------------------------------------------------------------------
MOVW DP,#_ScibRegs+4
AND AL,@_ScibRegs+4,#0x0040 ; |70|
LSR AL,6 ; |70|
CMPB AL,#1 ; |70|
BF L10,NEQ ; |70|
; branch occurs ; |70|
MOVW DP,#_GpioDataRegs+12
AND @_GpioDataRegs+12,#0xffbf ; |70|
.line 23
L10:
.line 24
LRETR
; return occurs
.endfunc 72,000000000h,0
.sect ".text"
.global _UART_A_P
.sym _UART_A_P,_UART_A_P, 36, 2, 0
.func 74
;----------------------------------------------------------------------
; 74 | UART_A_P()
;----------------------------------------------------------------------
;***************************************************************
;* FNAME: _UART_A_P FR SIZE: 0 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 0 Auto, 0 SOE *
;***************************************************************
_UART_A_P:
.line 2
;----------------------------------------------------------------------
; 76 | static int rec_flag = 0;
; 77 | static int ia = 0;
; 78 | static unsigned uarta_buffer[8];
;----------------------------------------------------------------------
.line 7
;----------------------------------------------------------------------
; 80 | if(rec_flag == 0) // Receive enabled
;----------------------------------------------------------------------
MOVW DP,#_rec_flag$5
MOV AL,@_rec_flag$5 ; |80|
BF L15,NEQ ; |80|
; branch occurs ; |80|
.line 9
;----------------------------------------------------------------------
; 82 | while ((*UART_A_5 & 0x01) == 0x01) // 接收到
;----------------------------------------------------------------------
B L14,UNC ; |82|
; branch occurs ; |82|
L11:
.line 11
;----------------------------------------------------------------------
; 84 | uarta_buffer[ia] = *UART_A_0;
;----------------------------------------------------------------------
SETC SXM
MOVL XAR4,#_uarta_buffer$7 ; |84|
MOV ACC,@_ia$6 ; |84|
ADDL XAR4,ACC
MOVL XAR5,#589832 ; |84|
MOV AL,*+XAR5[0] ; |84|
MOV *+XAR4[0],AL ; |84|
.line 12
;----------------------------------------------------------------------
; 85 | ia++;
;----------------------------------------------------------------------
INC @_ia$6 ; |85|
.line 13
;----------------------------------------------------------------------
; 86 | DelayUs(1);
;----------------------------------------------------------------------
MOVB AL,#1 ; |86|
LCR #_DelayUs ; |86|
; call occurs [#_DelayUs] ; |86|
.line 14
;----------------------------------------------------------------------
; 87 | if (ia==8)
;----------------------------------------------------------------------
MOVW DP,#_ia$6
MOV AL,@_ia$6 ; |87|
CMPB AL,#8 ; |87|
BF L14,NEQ ; |87|
; branch occurs ; |87|
.line 16
;----------------------------------------------------------------------
; 89 | *UART_A_4 = 0; // 为发送状态
;----------------------------------------------------------------------
MOVL XAR4,#589836 ; |89|
MOV *+XAR4[0],#0 ; |89|
.line 17
;----------------------------------------------------------------------
; 90 | rec_flag = 1;
;----------------------------------------------------------------------
MOV @_rec_flag$5,#1 ; |90|
.line 18
;----------------------------------------------------------------------
; 91 | for (ia=0;ia<8;ia++) *UART_A_0 = uarta_buffer[ia] + 1;
;----------------------------------------------------------------------
MOV @_ia$6,#0 ; |91|
MOV AL,@_ia$6 ; |91|
CMPB AL,#8 ; |91|
B L13,GEQ ; |91|
; branch occurs ; |91|
L12:
SETC SXM
MOVL XAR4,#_uarta_buffer$7 ; |91|
MOV ACC,@_ia$6 ; |91|
ADDL XAR4,ACC
MOV AL,*+XAR4[0] ; |91|
ADDB AL,#1 ; |91|
MOVL XAR4,#589832 ; |91|
MOV *+XAR4[0],AL ; |91|
INC @_ia$6 ; |91|
MOV AL,@_ia$6 ; |91|
CMPB AL,#8 ; |91|
B L12,LT ; |91|
; branch occurs ; |91|
L13:
.line 19
;----------------------------------------------------------------------
; 92 | ia = 0;
;----------------------------------------------------------------------
MOV @_ia$6,#0 ; |92|
L14:
.line 21
MOVL XAR4,#589837 ; |94|
MOV AL,*+XAR4[0] ; |94|
ANDB AL,#0x01 ; |94|
CMPB AL,#1 ; |94|
BF L11,EQ ; |94|
; branch occurs ; |94|
.line 22
;----------------------------------------------------------------------
; 96 | else // Transmit enabled
;----------------------------------------------------------------------
B L16,UNC ; |95|
; branch occurs ; |95|
L15:
.line 25
;----------------------------------------------------------------------
; 98 | if ((*UART_A_5 & 0x40) != 0) // 发送结束
;----------------------------------------------------------------------
MOVL XAR4,#589837 ; |98|
TBIT *+XAR4[0],#6 ; |98|
BF L16,NTC ; |98|
; branch occurs ; |98|
.line 27
;----------------------------------------------------------------------
; 100 | *UART_A_4 = 0x02; // RTS清零为接收状态
;----------------------------------------------------------------------
MOVL XAR4,#589836 ; |100|
MOV *+XAR4[0],#2 ; |100|
.line 28
;----------------------------------------------------------------------
; 101 | rec_flag = 0;
;----------------------------------------------------------------------
MOV @_rec_flag$5,#0 ; |101|
.line 30
L16:
.line 31
LRETR
; return occurs
.endfunc 104,000000000h,0
.sect ".text"
.global _UART_B_P
.sym _UART_B_P,_UART_B_P, 36, 2, 0
.func 107
;----------------------------------------------------------------------
; 107 | UART_B_P()
;----------------------------------------------------------------------
;***************************************************************
;* FNAME: _UART_B_P FR SIZE: 0 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 0 Auto, 0 SOE *
;***************************************************************
_UART_B_P:
.line 2
;----------------------------------------------------------------------
; 109 | static int rec_flag = 0;
; 110 | static int ix = 0;
; 111 | static int uartb_buffer[8];
;----------------------------------------------------------------------
.line 7
;----------------------------------------------------------------------
; 113 | if(rec_flag == 0) // Receive enabled
;----------------------------------------------------------------------
MOVW DP,#_rec_flag$8
MOV AL,@_rec_flag$8 ; |113|
BF L21,NEQ ; |113|
; branch occurs ; |113|
.line 9
;----------------------------------------------------------------------
; 115 | while ((*UART_B_5 & 0x01) == 0x01) // 接收到
;----------------------------------------------------------------------
B L20,UNC ; |115|
; branch occurs ; |115|
L17:
.line 11
;----------------------------------------------------------------------
; 117 | uartb_buffer[ix] = *UART_B_0;
;----------------------------------------------------------------------
SETC SXM
MOVL XAR4,#_uartb_buffer$10 ; |117|
MOV ACC,@_ix$9 ; |117|
ADDL XAR4,ACC
MOVL XAR5,#589824 ; |117|
MOV AL,*+XAR5[0] ; |117|
MOV *+XAR4[0],AL ; |117|
.line 12
;----------------------------------------------------------------------
; 118 | ix++;
;----------------------------------------------------------------------
INC @_ix$9 ; |118|
.line 13
;----------------------------------------------------------------------
; 119 | if (ix==8)
;----------------------------------------------------------------------
MOV AL,@_ix$9 ; |119|
CMPB AL,#8 ; |119|
BF L20,NEQ ; |119|
; branch occurs ; |119|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -