📄 sio.asm
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00
*******************************************************
; C:\tic2xx\c2000\cgtools\bin\dspac.exe -v2xx SIO.c C:\DOCUME~1\jjd\LOCALS~1\Temp\SIO.if
; dspopt NOT RUN
; C:\tic2xx\c2000\cgtools\bin\dspcg.exe -o -v2xx -o C:\DOCUME~1\jjd\LOCALS~1\Temp\SIO.if C:\DOCUME~1\jjd\LOCALS~1\Temp\SIO.asm C:\DOCUME~1\jjd\LOCALS~1\Temp\SIO.tmp
.port
.file "SIO.c"
.file "f2407_c.h"
.globl _portFF0F
.globl _portFFFF
.file "SIO.c"
.globl _data_rec
.globl _delay
.text
.sym _assic,_assic,46,2,0
.globl _assic
.func 7
;>>>> unsigned int assic(unsigned int source)
******************************************************
* FUNCTION DEF : _assic
******************************************************
_assic:
LF1 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.sym _source,-3+LF1,14,9,16
.line 2
;>>>> switch(source)
B L1
L2:
.line 5
;>>>> case 0x000a:return(0x0041);
LACK 65
B EPI0_1
L3:
.line 6
;>>>> case 0x000b:return(0x0042);
LACK 66
B EPI0_1
L4:
.line 7
;>>>> case 0x000c:return(0x0043);
LACK 67
B EPI0_1
L5:
.line 8
;>>>> case 0x000d:return(0x0044);
LACK 68
B EPI0_1
L6:
.line 9
;>>>> case 0x000e:return(0x0045);
LACK 69
B EPI0_1
L7:
.line 10
;>>>> case 0x000f:return(0x0046);
LACK 70
B EPI0_1
L8:
.line 11
;>>>> default:return(source+0x30);
MAR * ,AR2
LARK AR2,-3+LF1
MAR *0+
ZALS *
ADDK 48
ANDK 0FFFFh
B EPI0_1
L1:
.line 3
MAR * ,AR2
LARK AR2,-3+LF1
MAR *0+
ZALS *
SUBK 10
BZ L2
SUBK 1
BZ L3
SUBK 1
BZ L4
SUBK 1
BZ L5
SUBK 1
BZ L6
SUBK 1
BZ L7
B L8
EPI0_1:
.line 13
MAR * ,AR1
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 19,000000000H,1
.sym _sio_write_data,_sio_write_data,32,2,0
.globl _sio_write_data
.func 22
;>>>> void sio_write_data(unsigned int addr,unsigned data)
******************************************************
* FUNCTION DEF : _sio_write_data
******************************************************
_sio_write_data:
LF2 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.sym _addr,-3+LF2,14,9,16
.sym _data,-4+LF2,14,9,16
.line 2
.line 3
;>>>> enable();
CALL _enable
.line 4
;>>>> *SCITXBUF=0x001b;
LARK AR3,28761
LACK 27
MAR * ,AR3
SACL *
L10:
.line 5
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L10
.line 7
;>>>> *SCITXBUF=0x0057;
LACK 87
ADRK 5
SACL *
L11:
.line 8
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L11
.line 10
;>>>> *SCITXBUF=assic(addr/0x1000);
RSXM
MAR * ,AR2
LARK AR2,-3+LF2
MAR *0+
LAC * ,3,AR1
SACH *+,1
CALL _assic
MAR *-,AR3
LARK AR3,28761
SACL *
L12:
.line 11
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L12
.line 13
;>>>> addr=addr%0x1000;
LACK 4095
MAR * ,AR2
LARK AR2,-3+LF2
MAR *0+
AND *
SACL *
.line 15
;>>>> *SCITXBUF=assic(addr/0x0100);
RSXM
LAC * ,7,AR1
SACH *+,1
CALL _assic
MAR *-,AR3
LARK AR3,28761
SACL *
L13:
.line 16
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L13
.line 18
;>>>> addr=addr%0x0100;
LACK 255
MAR * ,AR2
LARK AR2,-3+LF2
MAR *0+
AND *
SACL *
.line 20
;>>>> *SCITXBUF=assic(addr/0x0010);
RSXM
LAC * ,11,AR1
SACH *+,1
CALL _assic
MAR *-,AR3
LARK AR3,28761
SACL *
L14:
.line 21
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L14
.line 23
;>>>> addr=addr%0x0010;
LACK 15
MAR * ,AR2
LARK AR2,-3+LF2
MAR *0+
AND *
SACL * ,AR1
.line 25
;>>>> *SCITXBUF=assic(addr);
SACL *+
CALL _assic
MAR *-,AR3
LARK AR3,28761
SACL *
L15:
.line 26
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L15
.line 28
;>>>> *SCITXBUF=assic(data/0x1000);
RSXM
MAR * ,AR2
LARK AR2,-4+LF2
MAR *0+
LAC * ,3,AR1
SACH *+,1
CALL _assic
MAR *-,AR3
LARK AR3,28761
SACL *
L16:
.line 29
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L16
.line 31
;>>>> data=data%0x1000;
LACK 4095
MAR * ,AR2
LARK AR2,-4+LF2
MAR *0+
AND *
SACL *
.line 33
;>>>> *SCITXBUF=assic(data/0x0100);
RSXM
LAC * ,7,AR1
SACH *+,1
CALL _assic
MAR *-,AR3
LARK AR3,28761
SACL *
L17:
.line 34
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L17
.line 36
;>>>> data=data%0x0100;
LACK 255
MAR * ,AR2
LARK AR2,-4+LF2
MAR *0+
AND *
SACL *
.line 38
;>>>> *SCITXBUF=assic(data/0x0010);
RSXM
LAC * ,11,AR1
SACH *+,1
CALL _assic
MAR *-,AR3
LARK AR3,28761
SACL *
L18:
.line 39
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L18
.line 41
;>>>> data=data%0x0010;
LACK 15
MAR * ,AR2
LARK AR2,-4+LF2
MAR *0+
AND *
SACL * ,AR1
.line 43
;>>>> *SCITXBUF=assic(data);
SACL *+
CALL _assic
MAR *-,AR3
LARK AR3,28761
SACL *
L19:
.line 44
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L19
.line 46
;>>>> *SCITXBUF=0x000d;
LACK 13
ADRK 5
SACL *
L20:
.line 47
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L20
EPI0_2:
.line 50
MAR * ,AR1
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 71,000000000H,1
.sym _sio_read_data,_sio_read_data,32,2,0
.globl _sio_read_data
.func 75
;>>>> void sio_read_data(unsigned int addr,unsigned int num_data)
******************************************************
* FUNCTION DEF : _sio_read_data
******************************************************
_sio_read_data:
LF3 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.sym _addr,-3+LF3,14,9,16
.sym _num_data,-4+LF3,14,9,16
.line 2
.line 4
;>>>> enable();
CALL _enable
.line 5
;>>>> *SCITXBUF='';
LARK AR3,28761
LACK 0
MAR * ,AR3
SACL *
.line 7
;>>>> *SCITXBUF=0x001b;
LACK 27
SACL *
L21:
.line 8
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L21
.line 10
;>>>> *SCITXBUF=0x0052;
LACK 82
ADRK 5
SACL *
L22:
.line 11
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L22
.line 13
;>>>> *SCITXBUF=assic(addr/0x1000);
RSXM
MAR * ,AR2
LARK AR2,-3+LF3
MAR *0+
LAC * ,3,AR1
SACH *+,1
CALL _assic
MAR *-,AR3
LARK AR3,28761
SACL *
L23:
.line 14
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L23
.line 16
;>>>> addr=addr%0x1000;
LACK 4095
MAR * ,AR2
LARK AR2,-3+LF3
MAR *0+
AND *
SACL *
.line 18
;>>>> *SCITXBUF=assic(addr/0x0100);
RSXM
LAC * ,7,AR1
SACH *+,1
CALL _assic
MAR *-,AR3
LARK AR3,28761
SACL *
L24:
.line 19
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L24
.line 21
;>>>> addr=addr%0x0100;
LACK 255
MAR * ,AR2
LARK AR2,-3+LF3
MAR *0+
AND *
SACL *
.line 23
;>>>> *SCITXBUF=assic(addr/0x0010);
RSXM
LAC * ,11,AR1
SACH *+,1
CALL _assic
MAR *-,AR3
LARK AR3,28761
SACL *
L25:
.line 24
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L25
.line 26
;>>>> addr=addr%0x0010;
LACK 15
MAR * ,AR2
LARK AR2,-3+LF3
MAR *0+
AND *
SACL * ,AR1
.line 28
;>>>> *SCITXBUF=assic(addr);
SACL *+
CALL _assic
MAR *-,AR3
LARK AR3,28761
SACL *
L26:
.line 29
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L26
.line 31
;>>>> num_data=num_data%0x1000;
LACK 4095
MAR * ,AR2
LARK AR2,-4+LF3
MAR *0+
AND *
SACL *
.line 33
;>>>> *SCITXBUF=assic(num_data/0x0100);
RSXM
LAC * ,7,AR1
SACH *+,1
CALL _assic
MAR *-,AR3
LARK AR3,28761
SACL *
L27:
.line 34
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L27
.line 36
;>>>> num_data=num_data%0x0100;
LACK 255
MAR * ,AR2
LARK AR2,-4+LF3
MAR *0+
AND *
SACL *
.line 38
;>>>> *SCITXBUF=assic(num_data/0x0010);
RSXM
LAC * ,11,AR1
SACH *+,1
CALL _assic
MAR *-,AR3
LARK AR3,28761
SACL *
L28:
.line 39
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L28
.line 41
;>>>> num_data=num_data%0x0010;
LACK 15
MAR * ,AR2
LARK AR2,-4+LF3
MAR *0+
AND *
SACL * ,AR1
.line 43
;>>>> *SCITXBUF=assic(num_data);
SACL *+
CALL _assic
MAR *-,AR3
LARK AR3,28761
SACL *
L29:
.line 44
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L29
.line 46
;>>>> *SCITXBUF=0x000d;
LACK 13
ADRK 5
SACL *
L30:
.line 47
;>>>> while((*SCICTL2&0x0080)==0);
LARK AR3,28756
BIT * ,8
BBZ L30
.line 50
;>>>> delay(60000);
MAR * ,AR1
LACK 60000
SACL *+
CALL _delay
MAR *-
EPI0_3:
.line 54
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 128,000000000H,1
*****************************************************
* UNDEFINED REFERENCES *
*****************************************************
.global _enable
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -