📄 main.asm
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00
*******************************************************
; D:\tic2xx\c2000\cgtools\bin\dspac.exe -v2xx main.c D:\DOCUME~1\lifeng\LOCALS~1\Temp\main.if
; dspopt NOT RUN
; D:\tic2xx\c2000\cgtools\bin\dspcg.exe -o -v2xx -o D:\DOCUME~1\lifeng\LOCALS~1\Temp\main.if D:\DOCUME~1\lifeng\LOCALS~1\Temp\main.asm D:\DOCUME~1\lifeng\LOCALS~1\Temp\main.tmp
.port
.file "main.c"
.file "f2407_c.h"
.globl _portFF0F
.globl _portFFFF
.globl _port8003
.globl _port8000
.file "global.h"
.globl _KEY_LEFT
.globl _KEY_RIGHT
.globl _KEY_UP
.globl _KEY_DOWN
.globl _MAINMEAUFLAG
.globl _KEY_SURE
.globl _SUBMEAU2FLAG
.globl _SUBMEAU3FLAG
.globl _SUBMEAU4FLAG
.globl _hand_num
.globl _pin_num1
.globl _pin_num2
.globl _pin_num3
.globl _caidan
.globl _pin_num4
.globl _num_8255
.globl _data_8255
.globl _motor_data
.globl _motor_num
.file "lcdsub.h"
.globl _LCD_INITIAL
.globl _LCD_BUSY
.globl _LCD_ORDER
.globl _LCD_WRITE
.globl _LCD_1616
.globl _LCD_1616CON
.globl _LCD_NUM88
.globl _HAND_PINNUM
.globl _LCD_GLOVETYPE
.globl _LCD_HANZI
.globl _LCD_NUMHANZI
.globl _LCD_HANZIHALF
.globl _LCD_HANZIHALFCON
.globl _LCD_CLEAR
.globl _CLEAR_BAR
.globl _LCD_INITIALIZE
.globl _LCD_STARTMEAU
.globl _MAINBAR
.globl _LCD_SUBMEAU3
.globl _SURESUBMEAU3
.globl _SUBBAR3
.globl _LCD_SUBMEAU2
.globl _NOW_SHEDING
.globl _SUBBAR2
.globl _TIGHT_BILI
.globl _SPEED_SEXIAN
.globl _SUDU
.globl _SHUJUHAO
.globl _DAOZHILING
.globl _LCD_NUM
.globl _SURESUBMEAU2
.globl _LCD_SUBMEAU4
.globl _SUBBAR4
.globl _JIQI
.globl _SURESUBMEAU4
.file "key.h"
.globl _KEY_SCAN
.globl _KEY_HANDLE
.globl _KEY_SUBMEAU2
.globl _KEY_SUBMEAU3
.globl _KEY_SUBMEAU4
.file "zimo.h"
.globl _LCD_INITIALWORD
.globl _HANZIZIKU
.globl _HANZI_GONGZUO
.globl _HANZI_KAISHI
.globl _HANZI_CANSHU
.globl _HANZI_GONGJU
.globl _HANZI_CESHI
.globl _HANZI_XITONG
.globl _HANZI_XINXI
.globl _HANZI_BANBEN
.globl _HANZI_SHOUTAO
.globl _HANZI_BIANZHI
.globl _HANZI_SHEZHI
.globl _HANZI_SHURU
.globl _HANZI_CHU
.globl _HANZI_QIXIANG
.globl _HANZI_BIANPIN
.globl _HANZI_DIANCITIE
.globl _HANZI_XIANSHI
.globl _HANZI_BIAOZHUN
.globl _HANZI_HENGLIE
.globl _HANZI_HUIFU
.globl _HANZI_MIMA
.globl _HANZI_SEXIAN
.globl _HANZI_SHEDING
.globl _HANZI_SONGJIN
.globl _HANZI_SUDU
.globl _HANZI_XINHAO
.globl _HANZI_XIUGAI
.globl _HANZI_ZHENSHU
.globl _HANZI_ZHISHU
.globl _HANZI_TINGZHI
.globl _HANZI_SHIFANG
.globl _HANZI_ZHUANSU
.globl _HANZI_SHIJI
.globl _HANZI_XIHE
.globl _HANZI_BILI
.globl _HANZI_BUWEI
.globl _HANZI_DANGQIAN
.globl _HANZI_DAO
.globl _HANZI_MUZHI
.globl _HANZI_WUMING
.globl _HANZI_LUOWEN
.globl _HANZI_ZHONGSHI
.globl _HANZI_QISHI
.globl _HANZI_SHUJU
.globl _HANZI_XIAO
.globl _HANZI_YINZI
.globl _HANZI_ZHILING
.globl _HANZI_ZHIZHANG
.globl _HANZI_ZHONGNIAO
.globl _HANZI_XINGHAO
.globl _HANZI_GAODI
.globl _HANZI_JIQI
.globl _HANZI_LEIXING
.globl _HANZI_PINGZHEN
.globl _HANZI_XIANSU
.globl _HANZI_ZUIGAO
.globl _HANZI_ZHENDE
.globl _HANZI_YAO
.globl _HANZI_MA
.globl _HANZI_WENHAO
.globl _HANZI_QING
.globl _HANZI_YUAN
.globl _HANZI_XIN
.globl _HANZI_QUEREN
.globl _HANZI_NUMBER
.globl _HANZI_ZUO
.globl _HANZI_SUO
.file "main.c"
.text
.sym _initial,_initial,36,2,0
.globl _initial
.func 8
;>>>> int initial(void)
******************************************************
* FUNCTION DEF : _initial
******************************************************
_initial:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> asm(" SETC INTM"); /*Interrupt Mask; */
SETC INTM
.line 4
;>>>> WSGR=0x0000; /*Disable all wait-state;*/
LACK 0
MAR * ,AR0
SACL *
OUT * ,0ffffh
.line 5
;>>>> asm(" CLRC SXM");
CLRC SXM
.line 6
;>>>> asm(" CLRC OVM");
CLRC OVM
.line 7
;>>>> asm(" CLRC CNF"); /*B0 is configured for Data*/
CLRC CNF
.line 8
;>>>> *SCSR1=0x83FE; /*CLKIN=10M CLKOUT=20M and enable spi module clock*/
LARK AR3,28696
MAR * ,AR3
SPLK #33790,* ,AR4
.line 10
;>>>> *IFR=0xFFFF;
LARK AR4,6
SPLK #65535,*
.line 11
;>>>> *WDCR=0x0E8; /*diable watch dog*/
ADRK 226
MAR * ,AR3
ADRK 17
SAR AR4,*
.line 12
;>>>> *MCRA=0x0000;
ADRK 103
SACL *
.line 13
;>>>> *MCRC=0x8000;
ADRK 4
SPLK #32768,* ,AR4
.line 14
;>>>> CON8255=0x0080; /*8255 control word initilize*/
SBRK 104
MAR * ,AR0
SAR AR4,*
OUT * ,08003h,AR4
.line 15
;>>>> WORD8255=0xAA;
ADRK 42
MAR * ,AR0
SAR AR4,*
OUT * ,08000h,AR1
.line 16
;>>>> Delay1S();
CALL _Delay1S
.line 17
;>>>> WORD8255=0x55;
LACK 85
MAR * ,AR0
SACL *
OUT * ,08000h,AR1
.line 18
;>>>> Delay1S();
CALL _Delay1S
EPI0_1:
.line 19
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 26,000000000H,1
.sym _ret_submeau2,_ret_submeau2,32,2,0
.globl _ret_submeau2
.func 28
;>>>> void ret_submeau2(void) /*return to submeau2*/
******************************************************
* FUNCTION DEF : _ret_submeau2
******************************************************
_ret_submeau2:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> LCD_CLEAR();
CALL _LCD_CLEAR
.line 4
;>>>> LCD_SUBMEAU2('2');
LACK 50
SACL *+
CALL _LCD_SUBMEAU2
MAR *-
.line 5
;>>>> LCD_SUBMEAU2('3');
LACK 51
SACL *+
CALL _LCD_SUBMEAU2
MAR *-
.line 6
;>>>> LCD_SUBMEAU2('5');
LACK 53
SACL *+
CALL _LCD_SUBMEAU2
MAR *-
.line 7
;>>>> LCD_SUBMEAU2('7');
LACK 55
SACL *+
CALL _LCD_SUBMEAU2
MAR *-
.line 8
;>>>> LCD_SUBMEAU2('9');
LACK 57
SACL *+
CALL _LCD_SUBMEAU2
MAR *-
.line 9
;>>>> SUBBAR2('1');
LACK 49
SACL *+
CALL _SUBBAR2
MAR *-
.line 10
;>>>> SUBMEAU2FLAG=0x0001;
LACK 1
LDPK _SUBMEAU2FLAG
SACL _SUBMEAU2FLAG
EPI0_2:
.line 11
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 38,000000000H,1
.sym _ret_submeau3,_ret_submeau3,32,2,0
.globl _ret_submeau3
.func 39
;>>>> void ret_submeau3(void) /*return to submeau3*/
******************************************************
* FUNCTION DEF : _ret_submeau3
******************************************************
_ret_submeau3:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> LCD_CLEAR();
CALL _LCD_CLEAR
.line 4
;>>>> LCD_SUBMEAU3('2');
LACK 50
SACL *+
CALL _LCD_SUBMEAU3
MAR *-
.line 5
;>>>> LCD_SUBMEAU3('3');
LACK 51
SACL *+
CALL _LCD_SUBMEAU3
MAR *-
.line 6
;>>>> LCD_SUBMEAU3('5');
LACK 53
SACL *+
CALL _LCD_SUBMEAU3
MAR *-
.line 7
;>>>> SUBBAR3('1');
LACK 49
SACL *+
CALL _SUBBAR3
MAR *-
.line 8
;>>>> SUBMEAU3FLAG=0x0001;
LACK 1
LDPK _SUBMEAU3FLAG
SACL _SUBMEAU3FLAG
EPI0_3:
.line 9
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 47,000000000H,1
.sym _ret_submeau4,_ret_submeau4,32,2,0
.globl _ret_submeau4
.func 48
;>>>> void ret_submeau4(void) /*return to submeau4*/
******************************************************
* FUNCTION DEF : _ret_submeau4
******************************************************
_ret_submeau4:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> LCD_CLEAR();
CALL _LCD_CLEAR
.line 4
;>>>> LCD_SUBMEAU4('2');
LACK 50
SACL *+
CALL _LCD_SUBMEAU4
MAR *-
.line 5
;>>>> LCD_SUBMEAU4('3');
LACK 51
SACL *+
CALL _LCD_SUBMEAU4
MAR *-
.line 6
;>>>> LCD_SUBMEAU4('5');
LACK 53
SACL *+
CALL _LCD_SUBMEAU4
MAR *-
.line 7
;>>>> LCD_SUBMEAU4('7');
LACK 55
SACL *+
CALL _LCD_SUBMEAU4
MAR *-
.line 8
;>>>> SUBBAR4('1');
LACK 49
SACL *+
CALL _SUBBAR4
MAR *-
.line 9
;>>>> SUBMEAU4FLAG=0x0001;
LACK 1
LDPK _SUBMEAU4FLAG
SACL _SUBMEAU4FLAG
EPI0_4:
.line 10
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 57,000000000H,1
.sym _ret_mainmeau,_ret_mainmeau,32,2,0
.globl _ret_mainmeau
.func 58
;>>>> void ret_mainmeau(void)
******************************************************
* FUNCTION DEF : _ret_mainmeau
******************************************************
_ret_mainmeau:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> LCD_CLEAR();
CALL _LCD_CLEAR
.line 4
;>>>> LCD_STARTMEAU('1');
LACK 49
SACL *+
CALL _LCD_STARTMEAU
MAR *-
.line 5
;>>>> LCD_STARTMEAU('4');
LACK 52
SACL *+
CALL _LCD_STARTMEAU
MAR *-
.line 6
;>>>> LCD_STARTMEAU('5');
LACK 53
SACL *+
CALL _LCD_STARTMEAU
MAR *-
.line 7
;>>>> LCD_STARTMEAU('7');
LACK 55
SACL *+
CALL _LCD_STARTMEAU
MAR *-
.line 8
;>>>> LCD_STARTMEAU('9');
LACK 57
SACL *+
CALL _LCD_STARTMEAU
MAR *-
.line 9
;>>>> MAINBAR('2');
LACK 50
SACL *+
CALL _MAINBAR
MAR *-
EPI0_5:
.line 10
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 67,000000000H,1
.sym _motor_startup,_motor_startup,32,2,0
.globl _motor_startup
.func 68
;>>>> void motor_startup(argument1,argument2)
******************************************************
* FUNCTION DEF : _motor_startup
******************************************************
_motor_startup:
LF6 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.sym _argument1,-3+LF6,4,9,16
.sym _argument2,-4+LF6,4,9,16
.line 2
.line 3
;>>>> *SCITXBUF=0x01;
LARK AR3,28761
LACK 1
SACL * ,AR0
.line 4
;>>>> WORD8255=0x0f;
LACK 15
SACL *
OUT * ,08000h,AR1
.line 5
;>>>> Delay1S();
CALL _Delay1S
.line 6
;>>>> *SCITXBUF=motor_data;
LARK AR3,28761
MAR * ,AR3
BLKD #_motor_data,* ,AR0
.line 7
;>>>> WORD8255=0xf0;
LACK 240
SACL *
OUT * ,08000h,AR1
EPI0_6:
.line 8
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 75,000000000H,1
.sym _motor_speedup,_motor_speedup,32,2,0
.globl _motor_speedup
.func 76
;>>>> void motor_speedup(argument1,argument2)
******************************************************
* FUNCTION DEF : _motor_speedup
******************************************************
_motor_speedup:
LF7 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.sym _argument1,-3+LF7,4,9,16
.sym _argument2,-4+LF7,4,9,16
.line 2
.line 3
;>>>> if(motor_num<11)
SSXM
LDPK _motor_num
LAC _motor_num
SUBK 11
BGEZ L1
.line 4
;>>>> {motor_data++;
LDPK _motor_data
LAC _motor_data
ADDK 1
SACL _motor_data
.line 5
;>>>> motor_num++;}
;>>>> else
LDPK _motor_num
LAC _motor_num
ADDK 1
SACL _motor_num
B L2
L1:
.line 7
;>>>> {motor_data=0x04;
LACK 4
LDPK _motor_data
SACL _motor_data
.line 8
;>>>> motor_num=0;}
LACK 0
LDPK _motor_num
SACL _motor_num
L2:
.line 9
;>>>> *SCITXBUF=motor_data;
LARK AR3,28761
MAR * ,AR3
BLKD #_motor_data,* ,AR1
.line 10
;>>>> Delay1S();
CALL _Delay1S
EPI0_7:
.line 11
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 86,000000000H,1
.sym _electronic,_electronic,32,2,0
.globl _electronic
.func 87
;>>>> void electronic(argument1,argument2)
******************************************************
* FUNCTION DEF : _electronic
******************************************************
_electronic:
LF8 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.sym _argument1,-3+LF8,4,9,16
.sym _argument2,-4+LF8,4,9,16
.line 2
.line 3
;>>>> if(num_8255<7)
SSXM
LDPK _num_8255
LAC _num_8255
SUBK 7
BGEZ L3
.line 4
;>>>> {data_8255=data_8255*2;
LDPK _data_8255
LAC _data_8255,1
SACL _data_8255
.line 5
;>>>> num_8255++;}
;>>>> else
LDPK _num_8255
LAC _num_8255
ADDK 1
SACL _num_8255
B L4
L3:
.line 7
;>>>> {data_8255=0x01;
LACK 1
LDPK _data_8255
SACL _data_8255
.line 8
;>>>> num_8255=0;}
LACK 0
LDPK _num_8255
SACL _num_8255
L4:
.line 9
;>>>> WORD8255=data_8255;
LDPK _data_8255
OUT _data_8255,08000h
.line 10
;>>>> Delay1S();
CALL _Delay1S
EPI0_8:
.line 11
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 97,000000000H,1
.sym _WAIT_KEY,_WAIT_KEY,32,2,0
.globl _WAIT_KEY
.func 98
;>>>> void WAIT_KEY(int i)
******************************************************
* FUNCTION DEF : _WAIT_KEY
******************************************************
_WAIT_KEY:
LF9 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR2
.sym _i,-3+LF9,4,9,16
.line 2
.line 3
;>>>> i=0;
LACK 0
LARK AR2,-3+LF9
MAR *0+
SACL *
.line 4
;>>>> while(!i)
LAC *
BNZ EPI0_9
MAR * ,AR1
L5:
.line 5
;>>>> i=KEY_SCAN();
CALL _KEY_SCAN,AR1
MAR * ,AR2
LARK AR2,-3+LF9
MAR *0+
SACL *
.line 4
LAC * ,AR1
BZ L5
.line 6
;>>>> return;
EPI0_9:
.line 7
MAR * ,AR1
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 104,000000000H,1
.sym _PIN_SET,_PIN_SET,32,2,0
.globl _PIN_SET
.func 105
;>>>> void PIN_SET(argument1,argument2,argument3,argument4,i)
******************************************************
* FUNCTION DEF : _PIN_SET
******************************************************
_PIN_SET:
LF10 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR2
.sym _argument1,-3+LF10,4,9,16
.sym _argument2,-4+LF10,4,9,16
.sym _argument3,-5+LF10,4,9,16
.sym _argument4,-6+LF10,4,9,16
.sym _i,-7+LF10,4,9,16
.line 2
.line 3
;>>>> WAIT_KEY(i);
LARK AR2,-7+LF10
MAR *0+
LAC * ,AR1
SACL *+
CALL _WAIT_KEY
MAR *-
.line 4
;>>>> Delay1S();
CALL _Delay1S
.line 5
;>>>> if(KEY_RIGHT==1)
LDPK _KEY_RIGHT
LAC _KEY_RIGHT
SUBK 1
BNZ L7
.line 7
;>>>> hand_num=hand_num+1;
LDPK _hand_num
LAC _hand_num
ADDK 1
SACL _hand_num
.line 8
;>>>> if(hand_num==9)
LAC _hand_num
SUBK 9
BNZ L8
.line 9
;>>>> hand_num=1;
LACK 1
SACL _hand_num
L8:
.line 10
;>>>> HAND_SHOW(hand_num);
BLKD _hand_num+0,*+
CALL _HAND_SHOW
MAR *-
L7:
.line 12
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -