📄 defaultisr_nonbios.asm
字号:
.line 15
;----------------------------------------------------------------------
; 121 | *UART_B_4 = 0; // RS485为发送状态
;----------------------------------------------------------------------
MOVL XAR4,#589828 ; |121|
MOV *+XAR4[0],#0 ; |121|
.line 16
;----------------------------------------------------------------------
; 122 | rec_flag = 1;
;----------------------------------------------------------------------
MOV @_rec_flag$8,#1 ; |122|
.line 17
;----------------------------------------------------------------------
; 123 | for (ix=0;ix<8;ix++) *UART_B_0 = uartb_buffer[ix] + 1;
;----------------------------------------------------------------------
MOV @_ix$9,#0 ; |123|
MOV AL,@_ix$9 ; |123|
CMPB AL,#8 ; |123|
B L19,GEQ ; |123|
; branch occurs ; |123|
L18:
SETC SXM
MOVL XAR4,#_uartb_buffer$10 ; |123|
MOV ACC,@_ix$9 ; |123|
ADDL XAR4,ACC
MOV AL,*+XAR4[0] ; |123|
ADDB AL,#1 ; |123|
MOVL XAR4,#589824 ; |123|
MOV *+XAR4[0],AL ; |123|
INC @_ix$9 ; |123|
MOV AL,@_ix$9 ; |123|
CMPB AL,#8 ; |123|
B L18,LT ; |123|
; branch occurs ; |123|
L19:
.line 18
;----------------------------------------------------------------------
; 124 | ix = 0;
;----------------------------------------------------------------------
MOV @_ix$9,#0 ; |124|
L20:
.line 20
MOVL XAR4,#589829 ; |126|
MOV AL,*+XAR4[0] ; |126|
ANDB AL,#0x01 ; |126|
CMPB AL,#1 ; |126|
BF L17,EQ ; |126|
; branch occurs ; |126|
.line 21
;----------------------------------------------------------------------
; 128 | else // Transmit enabled
;----------------------------------------------------------------------
B L22,UNC ; |127|
; branch occurs ; |127|
L21:
.line 24
;----------------------------------------------------------------------
; 130 | if ((*UART_B_5 & 0x40) != 0) // 发送结束
;----------------------------------------------------------------------
MOVL XAR4,#589829 ; |130|
TBIT *+XAR4[0],#6 ; |130|
BF L22,NTC ; |130|
; branch occurs ; |130|
.line 26
;----------------------------------------------------------------------
; 132 | DelayUs(1);
;----------------------------------------------------------------------
MOVB AL,#1 ; |132|
LCR #_DelayUs ; |132|
; call occurs [#_DelayUs] ; |132|
.line 27
;----------------------------------------------------------------------
; 133 | *UART_B_4 = 0x02; // RTS清零 RS485为接收状态
;----------------------------------------------------------------------
MOVL XAR4,#589828 ; |133|
MOV *+XAR4[0],#2 ; |133|
.line 28
;----------------------------------------------------------------------
; 134 | rec_flag = 0;
;----------------------------------------------------------------------
MOVW DP,#_rec_flag$8
MOV @_rec_flag$8,#0 ; |134|
.line 30
L22:
.line 31
LRETR
; return occurs
.endfunc 137,000000000h,0
.sect ".text"
.global _CAL_VEC
.sym _CAL_VEC,_CAL_VEC, 32, 2, 0
.func 139
;----------------------------------------------------------------------
; 139 | void CAL_VEC(int N)
;----------------------------------------------------------------------
;***************************************************************
;* FNAME: _CAL_VEC FR SIZE: 6 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 4 Auto, 0 SOE *
;***************************************************************
_CAL_VEC:
.line 2
;* AL assigned to _N
.sym _N,0, 4, 17, 16
.sym _N,-3, 4, 1, 16
.sym _i,-4, 4, 1, 16
.sym _temp,-6, 5, 1, 32
ADDB SP,#6
;----------------------------------------------------------------------
; 141 | int i;
; 142 | static int j=0;
; 143 | long int temp;
; 144 | static long int VecR[6] = {0,0,0,0,0,0};
; 145 | static long int VecI[6] = {0,0,0,0,0,0};
;----------------------------------------------------------------------
MOV *-SP[3],AL ; |140|
.line 9
;----------------------------------------------------------------------
; 147 | for (i=0;i<6;i++)
;----------------------------------------------------------------------
MOV *-SP[4],#0 ; |147|
MOV AL,*-SP[4] ; |147|
CMPB AL,#6 ; |147|
B L24,GEQ ; |147|
; branch occurs ; |147|
L23:
.line 11
;----------------------------------------------------------------------
; 149 | temp = SAMPLE[i][N+66] - SAMPLE[i][N+2];
;----------------------------------------------------------------------
MOV AL,*-SP[3] ; |149|
MOV T,*-SP[4] ; |149|
SETC SXM
MOVL XAR4,#_SAMPLE ; |149|
ADDB AL,#2 ; |149|
MPYB P,T,#132 ; |149|
MOVL XAR5,#_SAMPLE ; |149|
MOV ACC,AL ; |149|
ADDL ACC,P
ADDL XAR4,ACC
MOV AL,*-SP[3] ; |149|
ADDB AL,#66 ; |149|
MPYB P,T,#132 ; |149|
MOV ACC,AL ; |149|
ADDL ACC,P
ADDL XAR5,ACC
MOV AL,*+XAR5[0] ; |149|
SUB AL,*+XAR4[0] ; |149|
MOV ACC,AL ; |149|
MOVL *-SP[6],ACC ; |149|
.line 12
;----------------------------------------------------------------------
; 150 | VecR[i] += temp * SINTAB[j];
;----------------------------------------------------------------------
MOVW DP,#_j$11
MOV ACC,*-SP[4] << 1 ; |150|
MOVL XAR4,#_VecR$12 ; |150|
ADDL XAR4,ACC
MOVL XAR5,#_SINTAB ; |150|
MOV ACC,@_j$11 ; |150|
ADDL XAR5,ACC
MOV ACC,*+XAR5[0] ; |150|
MOVL XT,ACC ; |150|
IMPYL ACC,XT,*-SP[6] ; |150|
ADDL *+XAR4[0],ACC ; |150|
.line 13
;----------------------------------------------------------------------
; 151 | VecI[i] += temp * COSTAB[j];
;----------------------------------------------------------------------
MOV ACC,*-SP[4] << 1 ; |151|
MOVL XAR4,#_VecI$13 ; |151|
ADDL XAR4,ACC
MOVL XAR5,#_COSTAB ; |151|
MOV ACC,@_j$11 ; |151|
ADDL XAR5,ACC
MOV ACC,*+XAR5[0] ; |151|
MOVL XT,ACC ; |151|
IMPYL ACC,XT,*-SP[6] ; |151|
ADDL *+XAR4[0],ACC ; |151|
.line 14
INC *-SP[4] ; |152|
MOV AL,*-SP[4] ; |152|
CMPB AL,#6 ; |152|
B L23,LT ; |152|
; branch occurs ; |152|
L24:
.line 15
;----------------------------------------------------------------------
; 153 | if (CAL_FINISH == 1)
;----------------------------------------------------------------------
MOVW DP,#_CAL_FINISH
MOV AL,@_CAL_FINISH ; |153|
CMPB AL,#1 ; |153|
BF L25,NEQ ; |153|
; branch occurs ; |153|
.line 17
;----------------------------------------------------------------------
; 155 | vr[0] = (int)((VecR[0] >>10) *901 >>16);
;----------------------------------------------------------------------
MOVW DP,#_VecR$12
MOVL XAR4,#901 ; |155|
SETC SXM
MOVL ACC,@_VecR$12 ; |155|
MOVL XT,XAR4 ; |155|
SFR ACC,10 ; |155|
MOVW DP,#_vr
IMPYL ACC,XT,ACC ; |155|
SFR ACC,16 ; |155|
MOV @_vr,AL ; |155|
.line 18
;----------------------------------------------------------------------
; 156 | vi[0] = (int)((VecI[0] >>10) *901 >>16);
;----------------------------------------------------------------------
MOVW DP,#_VecI$13
MOVL XT,XAR4 ; |156|
MOVL ACC,@_VecI$13 ; |156|
SFR ACC,10 ; |156|
MOVW DP,#_vi
IMPYL ACC,XT,ACC ; |156|
SFR ACC,16 ; |156|
MOV @_vi,AL ; |156|
.line 19
;----------------------------------------------------------------------
; 157 | vr[1] = (int)((VecR[1] >>10) *901 >>16);
;----------------------------------------------------------------------
MOVW DP,#_VecR$12+2
MOVL ACC,@_VecR$12+2 ; |157|
MOVL XT,XAR4 ; |157|
SFR ACC,10 ; |157|
IMPYL ACC,XT,ACC ; |157|
SFR ACC,16 ; |157|
MOVW DP,#_vr+1
MOV @_vr+1,AL ; |157|
.line 20
;----------------------------------------------------------------------
; 158 | vi[1] = (int)((VecI[1] >>10) *901 >>16);
;----------------------------------------------------------------------
MOVW DP,#_VecI$13+2
MOVL ACC,@_VecI$13+2 ; |158|
MOVW DP,#_vi+1
SFR ACC,10 ; |158|
MOVL XT,XAR4 ; |158|
IMPYL ACC,XT,ACC ; |158|
SFR ACC,16 ; |158|
MOV @_vi+1,AL ; |158|
.line 21
;----------------------------------------------------------------------
; 159 | vr[2] = (int)((VecR[2] >>10) *901 >>16);
;----------------------------------------------------------------------
MOVW DP,#_VecR$12+4
MOVL ACC,@_VecR$12+4 ; |159|
SFR ACC,10 ; |159|
MOVL XT,XAR4 ; |159|
IMPYL ACC,XT,ACC ; |159|
MOVW DP,#_vr+2
SFR ACC,16 ; |159|
MOV @_vr+2,AL ; |159|
.line 22
;----------------------------------------------------------------------
; 160 | vi[2] = (int)((VecI[2] >>10) *901 >>16);
;----------------------------------------------------------------------
MOVW DP,#_VecI$13+4
MOVL ACC,@_VecI$13+4 ; |160|
SFR ACC,10 ; |160|
MOVL XT,XAR4 ; |160|
IMPYL ACC,XT,ACC ; |160|
MOVW DP,#_vi+2
SFR ACC,16 ; |160|
MOV @_vi+2,AL ; |160|
.line 23
;----------------------------------------------------------------------
; 161 | vr[3] = (int)(VecR[3] >>15);
;----------------------------------------------------------------------
MOVW DP,#_VecR$12+6
MOVL ACC,@_VecR$12+6 ; |161|
MOVW DP,#_vr+3
MOVH @_vr+3,ACC << 1 ; |161|
.line 24
;----------------------------------------------------------------------
; 162 | vi[3] = (int)(VecI[3] >>15);
;----------------------------------------------------------------------
MOVW DP,#_VecI$13+6
MOVL ACC,@_VecI$13+6 ; |162|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -