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

📄 function.asm

📁 基于TMS320F2812的AMR+RS编解码+OFDM调制解调源程序。是stand alone运行版本
💻 ASM
📖 第 1 页 / 共 3 页
字号:
L10:    
	;.line	17
        SUBB      SP,#2                 ; |341| 
        MOVL      XAR3,*--SP            ; |341| 
        MOVL      XAR2,*--SP            ; |341| 
        MOVL      XAR1,*--SP            ; |341| 
        LRETR
        ; return occurs
	.endfunc	343,000000fc0h,8



	.sect	".text"
	.global	_Random
	.sym	_Random,_Random, 45, 2, 0
	.func	346

;***************************************************************
;* FNAME: _Random                       FR SIZE:   4           *
;*                                                             *
;* FUNCTION ENVIRONMENT                                        *
;*                                                             *
;* FUNCTION PROPERTIES                                         *
;*                            2 Parameter,  0 Auto,  2 SOE     *
;***************************************************************


;***************************************************************
;*                                                             *
;* Using -g (debug) with optimization (-o3) may disable key op *
;*                                                             *
;***************************************************************
_Random:
	;.line	2
;* AR4   assigned to _Seed
	.sym	_Seed,12, 31, 17, 22
;* AL    assigned to _RandMax
	.sym	_RandMax,0, 13, 17, 16
;* AR0   assigned to C$2
;* AR4   assigned to _Seed
	.sym	_Seed,12, 31, 4, 22
;* AR2   assigned to _RandMax
	.sym	_RandMax,8, 13, 4, 16
        MOVL      *SP++,XAR2
        ADDB      SP,#2
        MOVZ      AR2,AL                ; |347| 
	;.line	3
 spm 0
	;.line	5
        MOVL      XAR5,#2045            ; |350| 
        MOVL      XT,XAR5               ; |350| 
        IMPYXUL   P,XT,*+XAR4[0]        ; |350| 
        MOVL      XAR0,P
        MOVL      XAR5,#104877          ; |350| 
        ADDB      XAR0,#1
        MOVL      *-SP[2],XAR5          ; |350| 
        MOVL      ACC,XAR0              ; |350| 
        FFC       XAR7,#UL$$DIV         ; |350| 
        ; call occurs [#UL$$DIV] ; |350| 
        MOVL      XAR5,#104877          ; |350| 
        MOVL      XT,XAR5               ; |350| 
        IMPYXUL   P,XT,ACC              ; |350| 
        MOVL      ACC,XAR0              ; |350| 
        SUBL      ACC,P
        MOVL      *+XAR4[0],ACC         ; |350| 
	;.line	6
        MOV       AL,*+XAR4[0]          ; |351| 
        AND       AL,AR2                ; |351| 
	;.line	7
        SUBB      SP,#2                 ; |351| 
        MOVL      XAR2,*--SP            ; |351| 
        LRETR
        ; return occurs
	.endfunc	352,000000300h,4



	.sect	".text"
	.global	_Gray2
	.sym	_Gray2,_Gray2, 32, 2, 0
	.func	256

;***************************************************************
;* FNAME: _Gray2                        FR SIZE:   0           *
;*                                                             *
;* FUNCTION ENVIRONMENT                                        *
;*                                                             *
;* FUNCTION PROPERTIES                                         *
;*                            0 Parameter,  0 Auto,  0 SOE     *
;***************************************************************


;***************************************************************
;*                                                             *
;* Using -g (debug) with optimization (-o3) may disable key op *
;*                                                             *
;***************************************************************
_Gray2:
	;.line	2
;* AR4   assigned to _DataIn
	.sym	_DataIn,12, 29, 17, 22
;* AL    assigned to _Length
	.sym	_Length,0, 4, 17, 16
;* AR6   assigned to _Length
	.sym	_Length,16, 4, 4, 16
;* AR4   assigned to _DataIn
	.sym	_DataIn,12, 29, 4, 22
;* AR5   assigned to U$7
        MOVZ      AR6,AL                ; |257| 
	;.line	4
        MOVW      DP,#_i
        MOV       @_i,#0                ; |259| 
	;.line	23
        CMPB      AL,#0                 ; |278| 
        B         L14,LEQ               ; |278| 
        ; branch occurs ; |278| 
L11:    
	;.line	6
        SETC      SXM
        MOV       ACC,@_i               ; |261| 
        ADDL      ACC,XAR4
        MOVL      XAR5,ACC              ; |261| 
        MOV       AH,*+XAR5[0]          ; |261| 
        CMPB      AH,#2                 ; |261| 
        BF        L12,EQ                ; |261| 
        ; branch occurs ; |261| 
        CMPB      AH,#3                 ; |261| 
        BF        L13,NEQ               ; |261| 
        ; branch occurs ; |261| 
	;.line	18
        MOV       *+XAR5[0],#2
        B         L13,UNC               ; |273| 
        ; branch occurs ; |273| 
L12:    
	;.line	15
        MOV       *+XAR5[0],#3
L13:    
	;.line	23
        INC       @_i                   ; |278| 
        MOV       AL,AR6                ; |278| 
        CMP       AL,@_i                ; |278| 
        B         L11,GT                ; |278| 
        ; branch occurs ; |278| 
L14:    
	;.line	24
        LRETR
        ; return occurs
	.endfunc	279,000000000h,0



	.sect	".text"
	.global	_FFT
	.sym	_FFT,_FFT, 32, 2, 0
	.func	26

;***************************************************************
;* FNAME: _FFT                          FR SIZE:   6           *
;*                                                             *
;* FUNCTION ENVIRONMENT                                        *
;*                                                             *
;* FUNCTION PROPERTIES                                         *
;*                            0 Parameter,  0 Auto,  6 SOE     *
;***************************************************************


;***************************************************************
;*                                                             *
;* Using -g (debug) with optimization (-o3) may disable key op *
;*                                                             *
;***************************************************************
_FFT:
	;.line	2
;* AR4   assigned to _Real
	.sym	_Real,12, 21, 17, 22
;* AR5   assigned to _Imag
	.sym	_Imag,14, 21, 17, 22
;* AL    assigned to _sign
	.sym	_sign,0, 4, 17, 16
;* AR6   assigned to C$1
;* PL    assigned to C$2
;* AR0   assigned to _Real
	.sym	_Real,4, 21, 4, 22
;* AR2   assigned to _Imag
	.sym	_Imag,8, 21, 4, 22
;* AR7   assigned to _sign
	.sym	_sign,18, 4, 4, 16
;* AR1   assigned to _l
	.sym	_l,6, 4, 4, 16
;* AR3   assigned to _n1
	.sym	_n1,10, 4, 4, 16
;* AR5   assigned to _n2
	.sym	_n2,14, 4, 4, 16
;* AR4   assigned to _index
	.sym	_index,12, 4, 4, 32
        MOVL      *SP++,XAR1
        MOVL      *SP++,XAR2
        MOVL      *SP++,XAR3
        MOVL      XAR0,XAR4             ; |27| 
        MOVL      XAR2,XAR5             ; |27| 
        MOVZ      AR7,AL                ; |27| 
	;.line	7
        MOVW      DP,#_point_Real
        MOVL      @_point_Real,XAR0     ; |32| 
	;.line	8
        MOVL      @_point_Imag,XAR2     ; |33| 
	;.line	22
        MOVB      AL,#0
        MOV       @_i,AL                ; |47| 
        MOV       @_j,AL                ; |47| 
L15:    
	;.line	24
        MOV       AH,@_j                ; |49| 
        CMP       AH,@_i                ; |49| 
        B         L16,LEQ               ; |49| 
        ; branch occurs ; |49| 
	;.line	26
 push xar0
	;.line	27
 push xar1
	;.line	28
 push xar4
	;.line	29
 push p
	;.line	30
 movl xar4,@_point_Real
	;.line	31
 movl xar6,@_point_Imag
	;.line	32
 mov  acc,@_i << 1 
	;.line	33
 movz ar0,al 
	;.line	34
 mov  acc,@_j << 1 
	;.line	35
 movz ar1,al
	;.line	36
 movl acc,*+xar4[ar0]
	;.line	37
 movl p,*+xar4[ar1]
	;.line	38
 movl *+xar4[ar1],acc
	;.line	39
 movl *+xar4[ar0],p
	;.line	40
 movl acc,*+xar6[ar0]
	;.line	41
 movl p,*+xar6[ar1]
	;.line	42
 movl *+xar6[ar1],acc
	;.line	43
 movl *+xar6[ar0],p
	;.line	44
 pop  p
	;.line	45
 pop  xar4
	;.line	46
 pop  xar1
	;.line	47
 pop  xar0
L16:    
	;.line	55
        MOV       @_k,#32
	;.line	56
        B         L18,UNC               ; |81| 
        ; branch occurs ; |81| 
L17:    
	;.line	58
        MOV       AH,@_k                ; |83| 
        SUB       @_j,AH                ; |83| 
	;.line	59
        MOV       AL,@_k                ; |84| 
        MOV       AH,AL                 ; |84| 
        LSR       AH,15                 ; |84| 
        ADD       AH,AL                 ; |84| 
        ASR       AH,1                  ; |84| 
        MOV       @_k,AH                ; |84| 
L18:    
	;.line	60
        MOV       AH,@_j                ; |85| 
        CMP       AH,@_k                ; |85| 
        B         L17,GEQ               ; |85| 
        ; branch occurs ; |85| 
	;.line	61
        MOV       AH,@_k                ; |86| 
        ADD       @_j,AH                ; |86| 
	;.line	62
        INC       @_i
        MOV       AH,@_i
        CMPB      AH,#63                ; |87| 
        B         L15,LT                ; |87| 
        ; branch occurs ; |87| 
	;.line	64
        MOVB      XAR3,#1               ; |89| 
	;.line	65
        MOVB      XAR1,#1               ; |90| 
L19:    
	;.line	67
        MOVZ      AR5,AR3
	;.line	68
        MOV       AH,AR3
        LSL       AH,1                  ; |93| 
        MOVZ      AR3,AH                ; |93| 
	;.line	69
        MOVB      AL,#6                 ; |94| 
        SUB       AL,AR1                ; |94| 
        MOV       T,AL                  ; |94| 
        MOVB      AH,#1                 ; |94| 
        LSL       AH,T                  ; |94| 
        MOVZ      AR4,AH                ; |94| 
	;.line	70
        MOVW      DP,#_j
        MOV       @_j,#0                ; |95| 
	;.line	132
        MOV       AH,AR5
        B         L23,LEQ               ; |157| 
        ; branch occurs ; |157| 
L20:    
	;.line	73
        MOV       T,@_j                 ; |98| 
        MPY       P,T,AR4               ; |98| 
        MOVL      XAR6,#_cos_tab        ; |98| 
        MOVL      ACC,P                 ; |98| 
        LSL       ACC,1                 ; |98| 
        ADDL      XAR6,ACC
        MOVL      ACC,*+XAR6[0]         ; |98| 
        MOVL      @_UR,ACC              ; |98| 
	;.line	74
        MOVL      XAR6,#_sin_tab        ; |99| 
        MOVL      ACC,P                 ; |99| 
        ADDL      XAR6,ACC
        SETC      SXM
        MOV       T,*+XAR6[0]           ; |99| 
        MPY       ACC,T,AR7             ; |99| 
        NEG       AL                    ; |99| 
        MOV       ACC,AL                ; |99| 
        MOVL      @_UI,ACC              ; |99| 
	;.line	75
        MOV       AH,@_j                ; |100| 
        CMPB      AH,#64                ; |100| 
        MOV       @_i,AH                ; |100| 
        B         L22,GEQ               ; |100| 
        ; branch occurs ; |100| 
L21:    
	;.line	77
        MOV       AH,@_i                ; |102| 
        ADD       AH,AR5                ; |102| 
        MOV       @_k,AH                ; |102| 
	;.line	83
 movl  xar4,@_point_Real
	;.line	84
 movl  xar6,@_point_Imag
	;.line	85
 mov   acc,@_k << 1
	;.line	86
 movz  ar0,al
	;.line	87
 movl  XT,@_UR
	;.line	88
 impyl acc,XT,*+xar4[ar0]
	;.line	89
 movl  XT,@_UI
	;.line	90
 impyl p,XT,*+xar6[ar0]
	;.line	91
 subbl acc,p
	;.line	92
 add acc,#1
	;.line	93
 SFR   acc,#14
	;.line	94
 movl  @_TmpR, acc
	;.line	95
 mov   acc,@_k << 1
	;.line	96
 movz  ar0,al
	;.line	97
 movl  XT,@_UR
	;.line	98
 impyl acc,XT,*+xar6[ar0]
	;.line	99
 movl  XT,@_UI
	;.line	100
 impyl P,XT,*+xar4[ar0]

⌨️ 快捷键说明

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