📄 mod6_cnt.asm
字号:
*******************************************************
* TMS320C24xx ANSI C Codegen Version 7.04
*******************************************************
; dspac -i../src -v2xx -iD:/CCStudio_v3.1/c2400/cgtools/include mod6_cnt.c C:\DOCUME~1\liuping\LOCALS~1\Temp\mod6_cnt.if
; dspopt NOT RUN
; dspcg -o -v2xx -o C:\DOCUME~1\liuping\LOCALS~1\Temp\mod6_cnt.if C:\DOCUME~1\liuping\LOCALS~1\Temp\mod6_cnt.asm C:\DOCUME~1\liuping\LOCALS~1\Temp\mod6_cnt.tmp
.port
.file "mod6_cnt.c"
.file "../src\mod6_cnt.h"
.stag .fake0,48
.member _TrigInput,0,4,8,16
.member _Counter,16,4,8,16
.member _calc,32,144,8,16
.eos
.sym _MOD6CNT,0,8,13,48,.fake0
.sym _MOD6CNT_handle,0,24,13,16,.fake0
.globl _mod6cnt_calc
.file "mod6_cnt.c"
.text
.sym _mod6cnt_calc,_mod6cnt_calc,32,2,0
.globl _mod6cnt_calc
.func 12
;>>>> void mod6cnt_calc(MOD6CNT *v)
******************************************************
* FUNCTION DEF : _mod6cnt_calc
******************************************************
_mod6cnt_calc:
LF1 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR2
.sym _v,-3+LF1,24,9,16,.fake0
.line 2
.line 4
;>>>> if (v->TrigInput > 0)
LARK AR2,-3+LF1
MAR *0+
LAR AR3,* ,AR3
SSXM
LAC *
BLEZ L1
.line 6
;>>>> if (v->Counter == 5) // Reset the counter when it is 5
MAR *+
LAC *
SUBK 5
BNZ L2
.line 7
;>>>> v->Counter = 0;
;>>>> else
LACK 0
SACL *
B L1
L2:
.line 9
;>>>> v->Counter++; // Otherwise, increment by 1
LAC *
ADDK 1
SACL *
L1:
EPI0_1:
.line 12
MAR * ,AR1
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 23,000000000H,1
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -