📄 main.asm
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00
*******************************************************
; C:\TDS-EMU2XX\C2000\CGTOOLS\BIN\DSPAC.EXE -v2xx -x0 main.c C:\WINDOWS\TEMP\main.if
; dspopt NOT RUN
; C:\TDS-EMU2XX\C2000\CGTOOLS\BIN\DSPCG.EXE -o -v2xx -o C:\WINDOWS\TEMP\main.if C:\WINDOWS\TEMP\main.asm C:\WINDOWS\TEMP\main.tmp
.port
.bss _nTbSysTime,1,1
.bss _i,1
.bss _jj,1
.bss _kk,1
.bss _tt,1
.bss _iii,1
.file "main.c"
.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 "d:\lhybak\tyclh.h"
.sym _Boolean,0,14,13,16
.stag _StructKeyNode,112
.member _nkey,0,14,8,16
.member _nPageType,16,14,8,16
.member _nCs,32,14,8,16
.member _nPage,48,14,8,16
.member _nCursor,64,14,8,16
.member _nCursorPreLine,80,4,8,16
.member _nCursorOldLine,96,4,8,16
.eos
.globl _portffe4
.globl _portffe8
.globl _portffec
.globl _portfff0
.globl _portfff1
.globl _portfff4
.globl _portfff5
.globl _portfff6
.globl _portfff7
.globl _portfff8
.globl _portfff9
.globl _portfffa
.globl _portfffc
.globl _port4000
.file "d:\lhybak\f206.h"
.globl _portE000
.globl _portE100
.globl _portE200
.globl _portE300
.globl _port200
.globl _port000
.globl _port100
.file "main.c"
.globl _iii
.globl _jj
.globl _kk
.globl _nTbSysTime
.globl _tt
.globl _KeyNode
.globl _bRefurbish
.globl _page_flag
.globl _bb
.globl _SVA
.globl _out_fre
.globl _i
.globl _InitSystem
.globl _VA_wave
.text
.sym _main,_main,32,2,0
.globl _main
.func 21
;>>>> void main()
******************************************************
* FUNCTION DEF : _main
******************************************************
_main:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> InitSystem();
CALL _InitSystem
.line 4
;>>>> ad7538=0x1fff;
LACK 8191
MAR * ,AR0
SACL *
OUT * ,0e100h
.line 5
;>>>> WatchDog;
;>>>> while(1)
LACK 0
SACL *
OUT * ,04000h
LACK 65535
SACL *
OUT * ,04000h
LACK 0
SACL *
OUT * ,04000h,AR1
L1:
.line 8
;>>>> asm(" setc intm");
setc intm
.line 9
;>>>> page();
CALL _page,AR1
.line 11
;>>>> reg_prd=2500;
LACK 2500
MAR * ,AR0
SACL *
OUT * ,0fff9h
.line 12
;>>>> reg_tcr=0x0c27;
LACK 3111
SACL *
OUT * ,0fff8h
.line 13
;>>>> asm(" clrc intm");
clrc intm
.line 19
;>>>> for(jj=0;jj<0xffff;jj++)
LACK 0
LDPK _jj
SACL _jj
ZALS _jj
RSXM
SUBK -1
BGEZ L4
MAR * ,AR1
L3:
.line 20
;>>>> SysTb(&nTbSysTime,1500);
LACK 1500
SACL *+
LALK _nTbSysTime+0
SACL *+
CALL _SysTb
SBRK 2
.line 19
LDPK _jj
LAC _jj
ADDK 1
SACL _jj
ZALS _jj
RSXM
SUBK -1
BLZ L3
L4:
.line 21
;>>>> WatchDog;
LACK 0
MAR * ,AR0
SACL *
OUT * ,04000h
LACK 65535
SACL *
OUT * ,04000h
LACK 0
SACL *
OUT * ,04000h,AR1
.line 22
B L1
.endfunc 43,000000000H,1
.sym _InitSystem,_InitSystem,32,2,0
.globl _InitSystem
.func 47
;>>>> void InitSystem()
;>>>> int i;
;>>>> volatile unsigned int *reg_p;
******************************************************
* FUNCTION DEF : _InitSystem
******************************************************
_InitSystem:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,3
LAR AR0,*0+
.line 5
;>>>> asm(" setc INTM");
setc INTM
.line 6
;>>>> asm(" clrc CNF");
clrc CNF
.line 7
;>>>> asm(" setc XF" );
setc XF
.sym _i,1,4,1,16
.sym _reg_p,2,30,1,16
.line 8
;>>>> *reg_p=0x0000;
MAR * ,AR2
LARK AR2,2
MAR *0+
LAR AR3,* ,AR3
LACK 0
SACL * ,AR2
.line 9
;>>>> reg_p=(unsigned int *)reg_ifr;
LACK 6
SACL *
.line 10
;>>>> *reg_p=0xffff;
LAR AR3,* ,AR3
SPLK #65535,* ,AR0
.line 13
;>>>> */ reg_wsgr=0x0ffff;
LACK 65535
SACL *
OUT * ,0fffch,AR1
.line 14
;>>>> init_dsp();
CALL _init_dsp
.line 15
;>>>> KeyNode.nPage=0;
LACK 0
LDPK _KeyNode+3
SACL _KeyNode+3
.line 16
;>>>> init_dis();
CALL _init_dis
.line 23
;>>>> TbTxInit();
CALL _TbTxInit
.line 25
;>>>> reg_tcr=0x0c20;
LACK 3104
MAR * ,AR0
SACL *
OUT * ,0fff8h,AR3
.line 26
;>>>> out_fre=50.0;
LALK FL0
LRLK AR3,_out_fre+0
RPTK 1
TBLR *+
.line 27
;>>>> reg_prd=(int)(15625.0/out_fre-1.0);
MAR * ,AR1
LALK FL1
RPTK 1
TBLR *+
RPTK 1
BLKD _out_fre+0,*+
LALK FL2
RPTK 1
TBLR *+
CALL F$$DIV
CALL F$$SUB
CALL F$$FTOI
SACL *
OUT * ,0fff9h,AR2
.line 29
;>>>> reg_p=(unsigned int *)reg_greg;
LACK 5
LARK AR2,2
MAR *0+
SACL *
.line 30
;>>>> *reg_p=0x0000;
LAR AR3,* ,AR3
LACK 0
SACL * ,AR2
.line 31
;>>>> reg_p=(unsigned int *)reg_ifr;
LACK 6
SACL *
.line 32
;>>>> *reg_p=0xffff;
LAR AR3,* ,AR3
SPLK #65535,* ,AR2
.line 33
;>>>> reg_p=(unsigned int *)reg_imr;
LACK 4
SACL *
.line 34
;>>>> *reg_p=0x001c;
LAR AR3,* ,AR3
LACK 28
SACL * ,AR0
.line 35
;>>>> reg_icr=0x0010;
LACK 16
SACL *
OUT * ,0ffech,AR1
.line 36
;>>>> nTbSysTime=0x5555;
LDPK _nTbSysTime
SPLK #21845,_nTbSysTime
EPI0_2:
.line 38
SBRK 4
LAR AR0,*-
PSHD *
RET
.endfunc 84,000000000H,3
.sym _time_int,_time_int,32,2,0
.globl _time_int
.func 85
;>>>> interrupt void time_int()
******************************************************
* FUNCTION DEF : _time_int
******************************************************
_time_int:
CALL I$$SAVE
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 4
;>>>> nTbSysTime++;
LDPK _nTbSysTime
LAC _nTbSysTime
ADDK 1
SACL _nTbSysTime
EPI0_3:
.line 6
SBRK 1
B I$$REST,AR1 ;and return
.endfunc 90,000000000H,1
.sym _nTbSysTime,_nTbSysTime,4,2,16
.globl _nTbSysTime
.sym _i,_i,4,2,16
.globl _i
.sym _jj,_jj,4,2,16
.globl _jj
.sym _kk,_kk,4,2,16
.globl _kk
.sym _tt,_tt,4,2,16
.globl _tt
.sym _iii,_iii,4,2,16
.globl _iii
*************************************************
* DEFINE FLOATING POINT CONSTANTS *
*************************************************
.text
FL0: .float 5.e1
FL1: .float 1.
FL2: .float 1.5625e4
*****************************************************
* UNDEFINED REFERENCES *
*****************************************************
.global _page
.global _SysTb
.global _init_dsp
.global _init_dis
.global _TbTxInit
.global F$$DIV
.global F$$SUB
.global F$$FTOI
.global I$$SAVE
.global I$$REST
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -