📄 timer.asm
字号:
*******************************************************
* TMS320C24xx ANSI C Codegen Version 7.04
*******************************************************
; dspac -q -d_DEBUG -v2xx -iC:/ti/c2000/rtdx/include -iC:/ti/c2400/cgtools/include timer.c C:\DOCUME~1\mfk705\LOCALS~1\Temp\timer.
; dspopt NOT RUN
; dspcg -o -q -v2xx -o C:\DOCUME~1\mfk705\LOCALS~1\Temp\timer.if C:\DOCUME~1\mfk705\LOCALS~1\Temp\timer.asm C:\DOCUME~1\mfk705\LOCALS~1\Temp\timer.tmp
.port
.bss _num,2,1
.bss _view,2,1
.file "timer.c"
.file "F206_reg.h"
.globl _portFFE4
.globl _portFFE8
.globl _portFFF4
.globl _portFFF5
.globl _portFFF6
.globl _portFFF7
.globl _portFFEC
.globl _portFFF8
.globl _portFFF9
.globl _portFFFA
.file "timer.c"
.sect ".cinit"
.word 2,_num
.long 0
.sym _num,_num,15,2,32
.globl _num
.word 2,_view
.long 0
.sym _view,_view,15,2,32
.globl _view
.text
.sym _enable,_enable,32,2,0
.globl _enable
.func 6
;>>>> void enable()
******************************************************
* FUNCTION DEF : _enable
******************************************************
_enable:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> asm(" clrc INTM");
clrc INTM
EPI0_1:
.line 4
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 9,000000000H,1
.sym _disable,_disable,32,2,0
.globl _disable
.func 11
;>>>> void disable()
******************************************************
* FUNCTION DEF : _disable
******************************************************
_disable:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> asm(" setc INTM");
setc INTM
EPI0_2:
.line 4
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 14,000000000H,1
.sym _timer,_timer,32,2,0
.globl _timer
.func 17
;>>>> void interrupt timer()
;>>>> // enable();
******************************************************
* FUNCTION DEF : _timer
******************************************************
_timer:
CALL I$$SAVE
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR4
.line 5
;>>>> IFR=IFR; //clear interrupt flag
LARK AR3,6
LARK AR4,6
LAC * ,AR3
SACL *
.line 6
;>>>> num=num+1;
LACK 1
LDPK _num
ADDS _num
ADDH _num+1
SACL _num
SACH _num+1
.line 7
;>>>> return;
EPI0_3:
.line 8
MAR * ,AR1
SBRK 1
B I$$REST,AR1 ;and return
.endfunc 24,000000000H,1
.sym _nothing,_nothing,32,2,0
.globl _nothing
.func 25
;>>>> void interrupt nothing()
******************************************************
* FUNCTION DEF : _nothing
******************************************************
_nothing:
CALL I$$SAVE
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR4
.line 3
;>>>> num=50;
LACK 50
LDPK _num
SACL _num
SACH _num+1
.line 4
;>>>> IFR=IFR; //clear interrupt flag
LARK AR3,6
LARK AR4,6
LAC * ,AR3
SACL * ,AR1
.line 5
;>>>> enable();
CALL _enable
.line 6
;>>>> return;
EPI0_4:
.line 7
SBRK 1
B I$$REST,AR1 ;and return
.endfunc 31,000000000H,1
.sym _int2,_int2,32,2,0
.globl _int2
.func 33
;>>>> void interrupt int2()
******************************************************
* FUNCTION DEF : _int2
******************************************************
_int2:
CALL I$$SAVE
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> num=3;
;>>>> // enable();
LACK 3
LDPK _num
SACL _num
SACH _num+1
.line 5
;>>>> return;
EPI0_5:
.line 6
SBRK 1
B I$$REST,AR1 ;and return
.endfunc 38,000000000H,1
.sym _int_init,_int_init,32,2,0
.globl _int_init
.func 40
;>>>> void int_init()
;>>>> // asm(" setc SXM");
;>>>> // asm(" clrs OVM");
;>>>> /// asm(" clrc CNF");
;>>>> //**********timer*************//
******************************************************
* FUNCTION DEF : _int_init
******************************************************
_int_init:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 7
;>>>> IMR=0x0000;
LARK AR3,4
LACK 0
SACL *
.line 8
;>>>> IFR=0x3f; //CLEAR INT FLAG
LACK 63
ADRK 2
SACL * ,AR0
.line 9
;>>>> TCR=TCR|B11_MSK|B10_MSK; //Free Run Mode
IN * ,0fff8h
LAC * ,AR1
ORK 2048
ORK 1024
SACL *
OUT * ,0fff8h,AR0
.line 10
;>>>> TCR=TCR+4; //Divide Frequence
;>>>> //TCR=TCR|B10_MSK;
IN * ,0fff8h
LAC * ,AR1
ADDK 4
SACL *
OUT * ,0fff8h,AR3
.line 12
;>>>> PRD=0xC7; //Timer Const
ADRK 193
MAR * ,AR0
SAR AR3,*
OUT * ,0fff9h,AR3
.line 13
;>>>> TIM=0x0000; //Timer count
SBRK 199
MAR * ,AR0
SAR AR3,*
OUT * ,0fffah,AR3
.line 14
;>>>> IMR=0x000|B2_MSK; //Enable Timer interrupt
LACK 4
ADRK 4
SACL * ,AR1
EPI0_6:
.line 15
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 54,000000000H,1
.sym _main,_main,36,2,0
.globl _main
.func 56
;>>>> main()
;>>>> unsigned long i;
;>>>> //asm(" clrc INTM");
;>>>> //disable();
******************************************************
* FUNCTION DEF : _main
******************************************************
_main:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,3
LAR AR0,*0+
.sym _i,1,15,1,32
.line 6
;>>>> enable();
CALL _enable
.line 7
;>>>> int_init();
CALL _int_init
.line 8
;>>>> IFR=IFR;
LARK AR3,6
LARK AR4,6
MAR * ,AR4
LAC * ,AR3
SACL *
.line 9
;>>>> view=IFR;
ZALS * ,AR4
LDPK _view
SACL _view
SACH _view+1
.line 10
;>>>> IFR=IFR;
LAC * ,AR3
SACL * ,AR2
.line 12
;>>>> for(i=0;i<10000000;i++)
LACK 0
LARK AR2,1
MAR *0+
SACL *+
SACH *-
LT *+
MPYK 1
LPH *
LALK 305,15
ORK 5760
SPAC
BNC L2
BZ L2
MAR *-,AR0
L1:
.line 14
;>>>> view=TIM;
IN * ,0fffah
ZALS * ,AR2
LDPK _view
SACL _view
SACH _view+1
.line 12
ZALS *+
ADDH *-
ADDK 1
SACL *+
SACH *-
LT *+
MPYK 1
LPH *-,AR0
LALK 305,15
ORK 5760
SPAC
BZ $+4
BC L1
L2:
.line 16
;>>>> i=0;
LACK 0
MAR * ,AR2
LARK AR2,1
MAR *0+
SACL *+
SACH * ,AR1
EPI0_7:
.line 17
SBRK 4
LAR AR0,*-
PSHD *
RET
.endfunc 72,000000000H,3
*****************************************************
* UNDEFINED REFERENCES *
*****************************************************
.global I$$SAVE
.global I$$REST
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -