📄 func.asm
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00
*******************************************************
; C:\tic2xx\c2000\cgtools\bin\dspac.exe -v2xx func.c C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\func.if
; dspopt NOT RUN
; C:\tic2xx\c2000\cgtools\bin\dspcg.exe -o -v2xx -o C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\func.if C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\func.asm C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\func.tmp
.port
.bss _adc_res,16,1
.file "func.c"
.file "f2407_c.h"
.globl _portFF0F
.globl _portFFFF
.file "func.c"
.globl _port1000
.sect ".cinit"
.word IS1,_adc_res
.word 12
.word 15
.word 16
.word 12
.word 12
.word 12
.word 12
.word 12
.word 12
.word 12
.word 12
.word 13
.word 13
.word 13
.word 15
.word 16
IS1 .set 16
.sym _adc_res,_adc_res,62,2,256,,16
.globl _adc_res
.text
.sym _ini,_ini,32,2,0
.globl _ini
.func 10
;>>>> void ini(void)
******************************************************
* FUNCTION DEF : _ini
******************************************************
_ini:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 5
;>>>> *SCSR1 = 0x00FD;
LARK AR3,28696
LACK 253
SACL *+
.line 22
;>>>> *SCSR2 = (*SCSR2 | 0x000B) & 0x000F;
LACK 11
OR *
ANDK 15
SACL *
.line 34
;>>>> *WDCR = 0x00E8;
LACK 232
ADRK 16
SACL * ,AR0
.line 45
;>>>> WSGR = 0x0040;
LACK 64
SACL *
OUT * ,0ffffh,AR3
.line 56
;>>>> *MCRA = 0x0fc0; /* group A pins */
ADRK 103
SPLK #4032,*
.line 76
;>>>> *MCRB = 0xFE00; /* group B pins */
ADRK 2
SPLK #65024,*
.line 96
;>>>> *MCRC = 0x0000; /* group C pins */
LACK 0
ADRK 2
SACL * ,AR4
.line 115
;>>>> *IMR = 0x0000; /* clear the IMR register */
LARK AR4,4
SACL *
.line 116
;>>>> *IFR = 0xffff;
ADRK 2
SPLK #65535,*
.line 117
;>>>> *IMR = 0x0001;
LACK 1
SBRK 2
SACL * ,AR5
.line 120
;>>>> *EVAIFRA = 0xFFFF; /* clear all EVA group A interrupts */
LARK AR5,29743
SPLK #65535,*+
.line 121
;>>>> *EVAIFRB = 0xFFFF; /* clear all EVA group B interrupts */
SPLK #65535,*+
.line 122
;>>>> *EVAIFRC = 0xFFFF; /* clear all EVA group C interrupts */
SPLK #65535,* ,AR4
.line 123
;>>>> *EVAIMRA = 0x0000; /* enable desired EVA group A interrupts */
SBRK 4
MAR * ,AR5
SBRK 5
SAR AR4,*+
.line 124
;>>>> *EVAIMRB = 0x0000; /* enable desired EVA group B interrupts ENABLE TIME2*/
SAR AR4,*+
.line 125
;>>>> *EVAIMRC = 0x0000; /* enable desired EVA group C interrupts */
SAR AR4,*
.line 127
;>>>> *EVBIFRA = 0xFFFF; /* clear all EVB group A interrupts */
LARK AR5,29999
SPLK #65535,*+
.line 128
;>>>> *EVBIFRB = 0xFFFF; /* clear all EVB group B interrupts */
SPLK #65535,*+
.line 129
;>>>> *EVBIFRC = 0xFFFF; /* clear all EVB group C interrupts */
SPLK #65535,*
.line 130
;>>>> *EVBIMRA = 0x0000; /* enable desired EVB group A interrupts */
SBRK 5
SAR AR4,*+
.line 131
;>>>> *EVBIMRB = 0x0000; /* enable desired EVB group B interrupts */
SAR AR4,*+
.line 132
;>>>> *EVBIMRC = 0x0000; /* enable desired EVB group C interrupts */
SAR AR4,* ,AR1
EPI0_1:
.line 133
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 142,000000000H,1
.sym _init_adc,_init_adc,32,2,0
.globl _init_adc
.func 144
;>>>> void init_adc(void)
******************************************************
* FUNCTION DEF : _init_adc
******************************************************
_init_adc:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 3
;>>>> *T4CNT=0x0000;
LARK AR3,29957
LACK 0
SACL *
.line 4
;>>>> *T4CON=0x170c;
ADRK 3
SPLK #5900,*-
.line 5
;>>>> *T4PR=0x75;
LACK 117
SACL *
.line 6
;>>>> *GPTCONB=0x400;
SBRK 7
SPLK #1024,*
.line 7
;>>>> *EVBIFRB=0xffff;
ADRK 48
SPLK #65535,* ,AR4
.line 8
;>>>> *ADCTRL1=0x10;
LARK AR4,28832
LACK 16
SACL *+
.line 9
;>>>> *ADCTRL2=0x8404;
SPLK #33796,*+
.line 10
;>>>> *MAX_CONV=0x0F;
LACK 15
SACL *+
.line 11
;>>>> *CHSELSEQ1=0x3210;
SPLK #12816,*+
.line 12
;>>>> *CHSELSEQ2=0x7654;
SPLK #30292,*
.line 13
;>>>> *CHSELSEQ2=0xba98;
SPLK #47768,*
.line 14
;>>>> *CHSELSEQ2=0xfedc;
SPLK #65244,* ,AR1
EPI0_2:
.line 15
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 158,000000000H,1
.sym _adc_soc,_adc_soc,32,2,0
.globl _adc_soc
.func 160
;>>>> void adc_soc(void)
******************************************************
* FUNCTION DEF : _adc_soc
******************************************************
_adc_soc:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 3
;>>>> *T4CON=*T4CON|0x40;
LARK AR3,29960
LACK 64
OR *
SACL * ,AR1
EPI0_3:
.line 4
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 163,000000000H,1
.sym _int1,_int1,32,2,0
.globl _int1
.func 165
;>>>> void interrupt int1(void)
;>>>> unsigned int i;
;>>>> switch(*PIVR)
;>>>> case 0x0004: /*ADC interrupt*/
******************************************************
* FUNCTION DEF : _int1
******************************************************
_int1:
CALL I$$SAVE
SAR AR1,*
LARK AR0,2
LAR AR0,*0+
.sym _i,1,14,1,16
B L1
L2:
.line 8
;>>>> asm(" clrc SXM");
clrc SXM
.line 9
;>>>> for(i=0;i<16;i++)
LACK 0
MAR * ,AR2
LARK AR2,1
MAR *0+
SACL *
ZALS *
SUBK 16
BGEZ L5
RSXM ;;;
L3:
.line 10
;>>>> adc_res[i]=*(RESULT0+i)>>6;
LAC * ,AR0
ADDK 28840
SACL *
LAR AR3,* ,AR3
LAC * ,9,AR1
SACH * ,1,AR2
LAC * ,AR0
ADLK _adc_res+0,0
SACL *
LAR AR3,* ,AR1
LAC * ,AR3
SACL * ,AR2
.line 9
LAC *
ADDK 1
SACL *
ZALS *
SUBK 16
BLZ L3
.line 11
;>>>> break;
;>>>> default:
;>>>> ;
B L5
L1:
.line 4
LARK AR3,28702
MAR * ,AR3
ZALS *
SUBK 4
BZ L2
L5:
.line 16
;>>>> *ADCTRL2|=0x4200;
LARK AR3,28833
LACK 16896
MAR * ,AR3
OR *
SACL * ,AR4
.line 17
;>>>> *IFR|=0x0001;
LARK AR4,6
LACK 1
OR *
SACL *
.line 19
;>>>> asm(" CLRC INTM");
CLRC INTM
EPI0_4:
.line 20
MAR * ,AR1
SBRK 2
B I$$REST,AR1 ;and return
.endfunc 184,000000000H,2
*****************************************************
* UNDEFINED REFERENCES *
*****************************************************
.global I$$SAVE
.global I$$REST
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -