📄 dsp1.asm
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00
*******************************************************
; C:\TDS-EMU2XX\C2000\CGTOOLS\BIN\DSPAC.EXE -v2xx dsp1.c C:\WINDOWS\TEMP\dsp1.if
; dspopt NOT RUN
; C:\TDS-EMU2XX\C2000\CGTOOLS\BIN\DSPCG.EXE -o -v2xx -o C:\WINDOWS\TEMP\dsp1.if C:\WINDOWS\TEMP\dsp1.asm C:\WINDOWS\TEMP\dsp1.tmp
.port
.file "dsp1.c"
.file "c:\TDS-EMU2XX\c2000\cgtools\include\stdio.h"
.sym _size_t,0,14,13,16
.stag .fake0,112
.member _fd,0,4,8,16
.member _buf,16,28,8,16
.member _pos,32,28,8,16
.member _bufend,48,28,8,16
.member _buff_stop,64,28,8,16
.member _flags,80,14,8,16
.member _index,96,4,8,16
.eos
.sym _FILE,0,8,13,112,.fake0
.sym _fpos_t,0,5,13,32
.stag .fake1,272
.member _name,0,50,8,144,,9
.member _flags,144,13,8,16
.member _OPEN,160,148,8,16
.member _CLOSE,176,148,8,16
.member _READ,192,148,8,16
.member _WRITE,208,148,8,16
.member _LSEEK,224,149,8,16
.member _UNLINK,240,148,8,16
.member _RENAME,256,148,8,16
.eos
.sym __DEVICE,0,8,13,272,.fake1
.globl __ftable
.globl __tmpnams
.globl _remove
.globl _rename
.globl _tmpfile
.globl _tmpnam
.globl _fclose
.globl _fopen
.globl _freopen
.globl _setbuf
.globl _setvbuf
.globl _fflush
.globl _fprintf
.globl _fscanf
.globl _printf
.globl _scanf
.globl _sprintf
.globl _sscanf
.globl _vfprintf
.globl _vprintf
.globl _vsprintf
.globl _fgetc
.globl _fgets
.globl _fputc
.globl _fputs
.globl _getc
.globl _getchar
.globl _gets
.globl _putc
.globl _putchar
.globl _puts
.globl _ungetc
.globl _fread
.globl _fwrite
.globl _fgetpos
.globl _fseek
.globl _fsetpos
.globl _ftell
.globl _rewind
.globl _clearerr
.globl _feof
.globl _ferror
.globl _perror
.globl _getenv
.globl _add_device
.file "c:\TDS-EMU2XX\c2000\cgtools\include\math.h"
.globl _asin
.globl _acos
.globl _atan
.globl _atan2
.globl _ceil
.globl _cos
.globl _cosh
.globl _exp
.globl _fabs
.globl _floor
.globl _fmod
.globl _frexp
.globl _ldexp
.globl _log
.globl _log10
.globl _modf
.globl _pow
.globl _sin
.globl _sinh
.globl _sqrt
.globl _tan
.globl _tanh
.file "c:\TDS-EMU2XX\c2000\cgtools\include\stdlib.h"
.sym _wchar_t,0,2,13,16
.globl _atoi
.globl _atol
.globl _atof
.globl _strtod
.globl _strtol
.globl _strtoul
.stag __div_t,32
.member _quot,0,4,8,16
.member _rem,16,4,8,16
.eos
.sym _div_t,0,8,13,32,__div_t
.stag __ldiv_t,64
.member _quot,0,5,8,32
.member _rem,32,5,8,32
.eos
.sym _ldiv_t,0,8,13,64,__ldiv_t
.globl _div
.globl _ldiv
.globl _rand
.globl _srand
.globl _calloc
.globl _free
.globl _malloc
.globl _minit
.globl _realloc
.globl _abort
.globl _exit
.globl _atexit
.globl _abs
.globl _labs
.globl _qsort
.globl _bsearch
.file "dsp1.c"
.globl _avg
.globl _av
.globl _ratio_lb
.globl _N
.text
.sym _avg,_avg,38,2,0
.globl _avg
.func 9
;>>>> float avg(float *ap)
******************************************************
* FUNCTION DEF : _avg
******************************************************
_avg:
LF1 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,4
LAR AR0,*0+,AR2
.sym _ap,-3+LF1,22,9,16
.sym _sum,1,6,1,32
.sym _i,3,4,1,16
.line 2
;>>>> float sum;
;>>>> int i;
.line 5
;>>>> sum=0.0;
LALK FL0
LARK AR2,1
MAR *0+
RPTK 1
TBLR *+
.line 6
;>>>> for(i=0;i<N;i++)
LACK 0
SACL *
SSXM
LAC *
LDPK _N
SUB _N
BGEZ L2
SBRK 6-LF1
L1:
.line 8
;>>>> sum=sum+(*ap);
LAR AR3,* ,AR3
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+,AR2
ADRK 4-LF1
LAC *+,AR1
SACL *+,AR2
LAC *-,AR1
SACL *+
CALL F$$ADD
MAR *-
ZALH *-
ADDS * ,AR2
SACL *+
SACH * ,AR3
.line 9
;>>>> ap++;
ADRK 2
MAR * ,AR2
SBRK 5-LF1
SAR AR3,*
.line 6
ADRK 6-LF1
LAC *
ADDK 1
SACL *
SSXM
LAC *
LDPK _N
SUB _N
SBRK 6-LF1
BLZ L1
L2:
.line 11
;>>>> return(sum/N);
LAC _N
CALL F$$ITOF,AR1
MAR * ,AR2
LARK AR2,1
MAR *0+
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
CALL F$$DIV
MAR *-
ZALH *-
ADDS *
EPI0_1:
.line 12
SBRK 5
LAR AR0,*-
PSHD *
RET
.endfunc 20,000000000H,4
.sym _av,_av,38,2,0
.globl _av
.func 22
;>>>> float av(float *ff)
******************************************************
* FUNCTION DEF : _av
******************************************************
_av:
LF2 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,4
LAR AR0,*0+,AR2
.sym _ff,-3+LF2,22,9,16
.sym _ss,1,6,1,32
.sym _i,3,4,1,16
.line 2
;>>>> float ss;
;>>>> int i;
.line 5
;>>>> ss=0;
LALK FL0
LARK AR2,1
MAR *0+
RPTK 1
TBLR *+
.line 6
;>>>> for(i=0;i<N;i++)
LACK 0
SACL *
SSXM
LAC *
LDPK _N
SUB _N
BGEZ L4
SBRK 6-LF2
L3:
.line 8
;>>>> ss+=(*ff)*(*ff);
LAR AR3,* ,AR3
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+,AR3
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+
CALL F$$MUL
MAR * ,AR2
ADRK 4-LF2
LAC *+,AR1
SACL *+,AR2
LAC *-,AR1
SACL *+
CALL F$$ADD
MAR *-
ZALH *-
ADDS * ,AR2
SACL *+
SACH * ,AR3
.line 9
;>>>> ff++;
ADRK 2
MAR * ,AR2
SBRK 5-LF2
SAR AR3,*
.line 6
ADRK 6-LF2
LAC *
ADDK 1
SACL *
SSXM
LAC *
LDPK _N
SUB _N
SBRK 6-LF2
BLZ L3
L4:
.line 11
;>>>> return(sqrt(ss/N));
LAC _N
CALL F$$ITOF,AR1
MAR * ,AR2
LARK AR2,1
MAR *0+
LAC *+,AR1
SACL *+,AR2
LAC * ,AR1
SACL *+
CALL F$$DIV
CALL _sqrt
SBRK 2
EPI0_2:
.line 12
SBRK 5
LAR AR0,*-
PSHD *
RET
.endfunc 33,000000000H,4
.sym _ratio_lb,_ratio_lb,38,2,0
.globl _ratio_lb
.func 36
;>>>> float ratio_lb(float *ap)
******************************************************
* FUNCTION DEF : _ratio_lb
******************************************************
_ratio_lb:
LF3 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,6
LAR AR0,*0+,AR2
.sym _ap,-3+LF3,22,9,16
.sym _temp,1,6,1,32
.sym _i,3,4,1,16
.sym _j,4,4,1,16
.sym _ap1,5,22,1,16
.line 2
;>>>> float temp;
;>>>> int i,j;
;>>>> float *ap1;
.line 6
;>>>> ap1=ap;
LARK AR2,-3+LF3
MAR *0+
LAC *
ADRK 8-LF3
SACL *
.line 7
;>>>> for(i=0;i<9;i++)
LACK 0
SBRK 2
SACL *
SSXM
LAC *
SUBK 9
BGEZ L6
L5:
.line 9
;>>>> for(j=i+1;j<10;j++)
LAC *+
ADDK 1
SACL *
LAC *
SUBK 10
BGEZ L8
MAR *+
L7:
.line 11
;>>>> if((*ap1)>(*(ap1+1)))
LAR AR3,* ,AR3
ADRK 2
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+,AR3
SBRK 2
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+
CALL F$$GT
BZ L9
.line 13
;>>>> temp=*ap1;
MAR * ,AR3
ZALS *+
ADDH *-,AR2
SBRK 4
SACL *+
SACH *
.line 14
;>>>> *ap1=*(ap1+1);
ADRK 3
LAR AR4,* ,AR3
ADRK 2
ZALS *+
ADDH *-,AR4
SACL *+
SACH *-,AR2
.line 15
;>>>> *(ap1+1)=temp;
SBRK 4
ZALS *+
ADDH * ,AR4
ADRK 2
SACL *+
SACH *-
L9:
.line 17
;>>>> ap1++;
MAR * ,AR2
LARK AR2,5
MAR *0+
LAR AR3,* ,AR3
ADRK 2
MAR * ,AR2
SAR AR3,*-
.line 9
LAC *
ADDK 1
SACL *
SSXM
LAC *+
SUBK 10
BLZ L7
L8:
.line 19
;>>>> ap1=ap;
LARK AR2,-3+LF3
MAR *0+
LAC *
ADRK 8-LF3
SACL *
.line 7
SBRK 2
LAC *
ADDK 1
SACL *
LAC *
SUBK 9
BLZ L5
L6:
.line 21
;>>>> return(((*(ap+3))+(*(ap+4))+(*(ap+5))+(*(ap+6)))/4.0);
MAR * ,AR1
LALK FL1
RPTK 1
TBLR *+
MAR * ,AR2
SBRK 6-LF3
LAR AR3,* ,AR3
ADRK 12
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+,AR3
SBRK 2
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+,AR3
SBRK 2
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+,AR3
SBRK 2
LAC *+,AR1
SACL *+,AR3
LAC *-,AR1
SACL *+
CALL F$$ADD
CALL F$$ADD
CALL F$$ADD
CALL F$$DIV
MAR *-
ZALH *-
ADDS *
EPI0_3:
.line 22
SBRK 7
LAR AR0,*-
PSHD *
RET
.endfunc 57,000000000H,6
*************************************************
* DEFINE FLOATING POINT CONSTANTS *
*************************************************
.text
FL0: .float 0.
FL1: .float 4.
*****************************************************
* UNDEFINED REFERENCES *
*****************************************************
.global F$$ADD
.global F$$ITOF
.global F$$DIV
.global F$$MUL
.global F$$GT
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -