📄 sci.asm
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00
*******************************************************
; C:\TIC2XX\C2000\CGTOOLS\BIN\DSPAC.EXE -v2xx sci.c C:\WINDOWS\TEMP\sci.if
; dspopt NOT RUN
; C:\TIC2XX\C2000\CGTOOLS\BIN\DSPCG.EXE -o -v2xx -o C:\WINDOWS\TEMP\sci.if C:\WINDOWS\TEMP\sci.asm C:\WINDOWS\TEMP\sci.tmp
.port
.file "sci.c"
.file "f2407_c.h"
.globl _portFF0F
.globl _portFFFF
.file "sci.c"
.globl _port40
.globl _test_sci
.text
.sym _sci_send,_sci_send,32,2,0
.globl _sci_send
.func 15
;>>>> void sci_send(unsigned int data_to_send)
******************************************************
* FUNCTION DEF : _sci_send
******************************************************
_sci_send:
LF1 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.sym _data_to_send,-3+LF1,14,9,16
.line 2
L1:
.line 3
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L1
.line 4
;>>>> *SCITXBUF=data_to_send;
MAR * ,AR2
LARK AR2,-3+LF1
MAR *0+
LAC * ,AR3
ADRK 5
SACL *
.line 5
;>>>> asm(" nop");
nop
.line 6
;>>>> asm(" nop");
nop
.line 7
;>>>> asm(" nop");
nop
.line 8
;>>>> asm(" nop");
nop
EPI0_1:
.line 9
MAR * ,AR1
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 23,000000000H,1
.sym _sci_rec,_sci_rec,46,2,0
.globl _sci_rec
.func 25
;>>>> unsigned int sci_rec(void)
******************************************************
* FUNCTION DEF : _sci_rec
******************************************************
_sci_rec:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
L2:
.line 3
;>>>> while((*SCIRXST&0x0040)==0x0000);
LARK AR3,28757
BIT * ,9
BBZ L2
.line 4
;>>>> return(*SCIRXBUF);
ADRK 2
ZALS *
EPI0_2:
.line 5
MAR * ,AR1
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 29,000000000H,1
.sym _sci_init,_sci_init,32,2,0
.globl _sci_init
.func 32
;>>>> void sci_init(void)
******************************************************
* FUNCTION DEF : _sci_init
******************************************************
_sci_init:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 3
;>>>> *SCSR1=*SCSR1|0x0040; /*enable SCI clock*/
LARK AR3,28696
LACK 64
OR *
SACL *
.line 5
;>>>> *SCICCR=0x0007;
LACK 7
ADRK 56
SACL *+
.line 6
;>>>> *SCICTL1=0x0013;
LACK 19
SACL *
.line 7
;>>>> *SCICTL2=0x0003;
LACK 3
ADRK 3
SACL *
.line 8
;>>>> *SCIHBAUD=(BAUD_9600/0x100);
LACK 2
SBRK 2
SACL *+
.line 9
;>>>> *SCILBAUD=(BAUD_9600%0x100);
LACK 8
SACL *
.line 10
;>>>> *SCICTL1=0x0033;
LACK 51
SBRK 2
SACL * ,AR1
EPI0_3:
.line 11
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 42,000000000H,1
.sym _test_sci,_test_sci,32,2,0
.globl _test_sci
.func 46
;>>>> void test_sci(void)
******************************************************
* FUNCTION DEF : _test_sci
******************************************************
_test_sci:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR0
.line 3
;>>>> LED = 0x00fb;
LACK 251
SACL *
OUT * ,040h,AR1
.line 4
;>>>> sci_init();
;>>>> while(1)
;>>>> //sci_send(0x55);
;>>>> //asm(" nop");
CALL _sci_init
L3:
.line 9
;>>>> sci_send(sci_rec());
CALL _sci_rec,AR1
SACL *+
CALL _sci_send
MAR *-
.line 10
B L3
.endfunc 57,000000000H,1
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -