📄 key.asm
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00
*******************************************************
; D:\tic2xx\c2000\cgtools\bin\dspac.exe -v2xx key.c D:\DOCUME~1\lifeng\LOCALS~1\Temp\key.if
; dspopt NOT RUN
; D:\tic2xx\c2000\cgtools\bin\dspcg.exe -o -v2xx -o D:\DOCUME~1\lifeng\LOCALS~1\Temp\key.if D:\DOCUME~1\lifeng\LOCALS~1\Temp\key.asm D:\DOCUME~1\lifeng\LOCALS~1\Temp\key.tmp
.port
.file "key.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 "key.h"
.globl _KEY_SCAN
.globl _KEY_HANDLE
.globl _KEY_SUBMEAU2
.globl _KEY_SUBMEAU3
.globl _KEY_SUBMEAU4
.file "key.c"
.text
.sym _KEY_SCAN,_KEY_SCAN,36,2,0
.globl _KEY_SCAN
.func 5
;>>>> int KEY_SCAN(void)
******************************************************
* FUNCTION DEF : _KEY_SCAN
******************************************************
_KEY_SCAN:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,2
LAR AR0,*0+,AR2
.sym _key_value,1,4,1,16
.line 2
;>>>> { int key_value=0x0000;
LACK 0
LARK AR2,1
MAR *0+
SACL * ,AR3
.line 3
;>>>> KEY_UP=0x0000;
LDPK _KEY_UP
SACL _KEY_UP
.line 4
;>>>> KEY_DOWN=0x0000;
LDPK _KEY_DOWN
SACL _KEY_DOWN
.line 5
;>>>> KEY_LEFT=0x0000;
LDPK _KEY_LEFT
SACL _KEY_LEFT
.line 6
;>>>> KEY_RIGHT=0x0000;
LDPK _KEY_RIGHT
SACL _KEY_RIGHT
.line 7
;>>>> KEY_SURE=0x0000;
LDPK _KEY_SURE
SACL _KEY_SURE
.line 8
;>>>> key_value=(*PEDATDIR)&0x0002;
LARK AR3,28821
LACK 2
AND * ,AR2
SACL *
.line 9
;>>>> if(key_value!=0)
LAC *
BZ L1
.line 10
;>>>> { Delay50uS();
CALL _Delay50uS,AR1
.line 11
;>>>> Delay50uS();
CALL _Delay50uS
.line 12
;>>>> key_value=*PEDATDIR&0x0002;
LARK AR3,28821
LACK 2
MAR * ,AR3
AND * ,AR2
LARK AR2,1
MAR *0+
SACL *
.line 13
;>>>> if(key_value!=0)
LAC *
BZ L1
.line 14
;>>>> { KEY_LEFT=0x0001;
LACK 1
LDPK _KEY_LEFT
SACL _KEY_LEFT
.line 15
;>>>> return 1;
;>>>> };
;>>>> };
LACK 1
B EPI0_1
L1:
.line 18
;>>>> key_value=(*PEDATDIR)&0x0004;
LACK 4
MAR * ,AR3
AND * ,AR2
SACL *
.line 19
;>>>> if(key_value!=0)
LAC *
BZ L3
.line 20
;>>>> { Delay50uS();
CALL _Delay50uS,AR1
.line 21
;>>>> Delay50uS();
CALL _Delay50uS
.line 22
;>>>> key_value=*PEDATDIR&0x0004;
LARK AR3,28821
LACK 4
MAR * ,AR3
AND * ,AR2
LARK AR2,1
MAR *0+
SACL *
.line 23
;>>>> if(key_value!=0)
LAC *
BZ L3
.line 24
;>>>> { KEY_SURE=0x0001;
LACK 1
LDPK _KEY_SURE
SACL _KEY_SURE
.line 25
;>>>> return 1;
;>>>> };
;>>>> };
LACK 1
B EPI0_1
L3:
.line 28
;>>>> key_value=(*PEDATDIR)&0x0008;
LACK 8
MAR * ,AR3
AND * ,AR2
SACL *
.line 29
;>>>> if(key_value!=0)
LAC *
BZ L5
.line 30
;>>>> { Delay50uS();
CALL _Delay50uS,AR1
.line 31
;>>>> Delay50uS();
CALL _Delay50uS
.line 32
;>>>> key_value=*PEDATDIR&0x0008;
LARK AR3,28821
LACK 8
MAR * ,AR3
AND * ,AR2
LARK AR2,1
MAR *0+
SACL *
.line 33
;>>>> if(key_value!=0)
LAC *
BZ L5
.line 34
;>>>> { KEY_RIGHT=0x0001;
LACK 1
LDPK _KEY_RIGHT
SACL _KEY_RIGHT
.line 35
;>>>> return 1;
;>>>> };
;>>>> };
LACK 1
B EPI0_1
L5:
.line 38
;>>>> key_value=(*PEDATDIR)&0x0010;
LACK 16
MAR * ,AR3
AND * ,AR2
SACL *
.line 39
;>>>> if(key_value!=0)
LAC *
BZ L7
.line 40
;>>>> { Delay50uS();
CALL _Delay50uS,AR1
.line 41
;>>>> Delay50uS();
CALL _Delay50uS
.line 42
;>>>> key_value=*PEDATDIR&0x0010;
LARK AR3,28821
LACK 16
MAR * ,AR3
AND * ,AR2
LARK AR2,1
MAR *0+
SACL *
.line 43
;>>>> if(key_value!=0)
LAC *
BZ L7
.line 44
;>>>> { KEY_UP=0x0001;
LACK 1
LDPK _KEY_UP
SACL _KEY_UP
.line 45
;>>>> return 1;
;>>>> };
;>>>> };
LACK 1
B EPI0_1
L7:
.line 48
;>>>> key_value=(*PEDATDIR)&0x0001;
LACK 1
MAR * ,AR3
AND * ,AR2
SACL *
.line 49
;>>>> if(key_value!=0)
LAC *
BZ L9
.line 50
;>>>> { Delay50uS();
CALL _Delay50uS,AR1
.line 51
;>>>> Delay50uS();
CALL _Delay50uS
.line 52
;>>>> key_value=*PEDATDIR&0x0001;
LARK AR3,28821
LACK 1
MAR * ,AR3
AND * ,AR2
LARK AR2,1
MAR *0+
SACL *
.line 53
;>>>> if(key_value!=0)
LAC *
BZ L9
.line 54
;>>>> { KEY_DOWN=0x0001;
LACK 1
LDPK _KEY_DOWN
SACL _KEY_DOWN
.line 55
;>>>> return 1;
;>>>> };
;>>>> };
LACK 1
B EPI0_1
L9:
.line 58
;>>>> return 0;
LACK 0
EPI0_1:
.line 59
MAR * ,AR1
SBRK 3
LAR AR0,*-
PSHD *
RET
.endfunc 63,000000000H,2
.sym _KEY_HANDLE,_KEY_HANDLE,36,2,0
.globl _KEY_HANDLE
.func 64
;>>>> int KEY_HANDLE(void)
******************************************************
* FUNCTION DEF : _KEY_HANDLE
******************************************************
_KEY_HANDLE:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 2
;>>>> { if(KEY_RIGHT==0)
LDPK _KEY_RIGHT
LAC _KEY_RIGHT
BNZ L30
.line 3
;>>>> if(KEY_LEFT==0)
LDPK _KEY_LEFT
LAC _KEY_LEFT
BNZ L22
.line 4
;>>>> if(KEY_SURE==0)
LDPK _KEY_SURE
LAC _KEY_SURE
BNZ L14
.line 5
;>>>> return 0;
;>>>> else
;>>>> switch(MAINMEAUFLAG)
LACK 0
B EPI0_2
L15:
.line 8
;>>>> {case 1:return 1;
LACK 1
B EPI0_2
L16:
.line 9
;>>>> case 2:LCD_CLEAR();
CALL _LCD_CLEAR,AR1
.line 10
;>>>> LCD_SUBMEAU2('2');
LACK 50
SACL *+
CALL _LCD_SUBMEAU2
MAR *-
.line 11
;>>>> LCD_SUBMEAU2('3');
LACK 51
SACL *+
CALL _LCD_SUBMEAU2
MAR *-
.line 12
;>>>> LCD_SUBMEAU2('5');
LACK 53
SACL *+
CALL _LCD_SUBMEAU2
MAR *-
.line 13
;>>>> LCD_SUBMEAU2('7');
LACK 55
SACL *+
CALL _LCD_SUBMEAU2
MAR *-
.line 14
;>>>> LCD_SUBMEAU2('9');
LACK 57
SACL *+
CALL _LCD_SUBMEAU2
MAR *-
.line 15
;>>>> SUBBAR2('1');
LACK 49
SACL *+
CALL _SUBBAR2
MAR *-
.line 16
;>>>> SUBMEAU2FLAG=0x0001;
LACK 1
LDPK _SUBMEAU2FLAG
SACL _SUBMEAU2FLAG
.line 17
;>>>> return 1;
LACK 1
B EPI0_2
L17:
.line 18
;>>>> case 3:LCD_CLEAR();
CALL _LCD_CLEAR,AR1
.line 19
;>>>> LCD_SUBMEAU3('2');
LACK 50
SACL *+
CALL _LCD_SUBMEAU3
MAR *-
.line 20
;>>>> LCD_SUBMEAU3('3');
LACK 51
SACL *+
CALL _LCD_SUBMEAU3
MAR *-
.line 21
;>>>> LCD_SUBMEAU3('5');
LACK 53
SACL *+
CALL _LCD_SUBMEAU3
MAR *-
.line 22
;>>>> SUBBAR3('1');
LACK 49
SACL *+
CALL _SUBBAR3
MAR *-
.line 23
;>>>> SUBMEAU3FLAG=0x0001;
LACK 1
LDPK _SUBMEAU3FLAG
SACL _SUBMEAU3FLAG
.line 24
;>>>> return 1;
LACK 1
B EPI0_2
L18:
.line 25
;>>>> case 4:LCD_CLEAR();
CALL _LCD_CLEAR,AR1
.line 26
;>>>> LCD_SUBMEAU4('2');
LACK 50
SACL *+
CALL _LCD_SUBMEAU4
MAR *-
.line 27
;>>>> LCD_SUBMEAU4('3');
LACK 51
SACL *+
CALL _LCD_SUBMEAU4
MAR *-
.line 28
;>>>> LCD_SUBMEAU4('5');
LACK 53
SACL *+
CALL _LCD_SUBMEAU4
MAR *-
.line 29
;>>>> LCD_SUBMEAU4('7');
LACK 55
SACL *+
CALL _LCD_SUBMEAU4
MAR *-
.line 30
;>>>> SUBBAR4('1');
LACK 49
SACL *+
CALL _SUBBAR4
MAR *-
.line 31
;>>>> SUBMEAU4FLAG=0x0001;
LACK 1
LDPK _SUBMEAU4FLAG
SACL _SUBMEAU4FLAG
.line 32
;>>>> return 1;
LACK 1
B EPI0_2
L19:
.line 33
;>>>> case 5:return 1;
;>>>> else
;>>>> switch(MAINMEAUFLAG)
LACK 1
B EPI0_2
L14:
.line 7
SSXM
LDPK _MAINMEAUFLAG
LAC _MAINMEAUFLAG
SUBK 1
BZ L15
SUBK 1
BZ L16
SUBK 1
BZ L17
SUBK 1
BZ L18
SUBK 1
BZ L19
B EPI0_2
L23:
.line 38
;>>>> case 1: LCD_STARTMEAU('1');
MAR * ,AR1
LACK 49
SACL *+
CALL _LCD_STARTMEAU
MAR *-
.line 39
;>>>> LCD_STARTMEAU('10');
LACK 48
SACL *+
CALL _LCD_STARTMEAU
MAR *-
.line 40
;>>>> CLEAR_BAR();
CALL _CLEAR_BAR
.line 41
;>>>> MAINBAR('5');
LACK 53
SACL *+
CALL _MAINBAR
MAR *-
.line 42
;>>>> return 1;
LACK 1
B EPI0_2
L24:
.line 43
;>>>> case 2:LCD_STARTMEAU('3');
MAR * ,AR1
LACK 51
SACL *+
CALL _LCD_STARTMEAU
MAR *-
.line 44
;>>>> LCD_STARTMEAU('2');
LACK 50
SACL *+
CALL _LCD_STARTMEAU
MAR *-
.line 45
;>>>> CLEAR_BAR();
CALL _CLEAR_BAR
.line 46
;>>>> MAINBAR('1');
LACK 49
SACL *+
CALL _MAINBAR
MAR *-
.line 47
;>>>> return 1;
LACK 1
B EPI0_2
L25:
.line 48
;>>>> case 3:LCD_STARTMEAU('5');
MAR * ,AR1
LACK 53
SACL *+
CALL _LCD_STARTMEAU
MAR *-
.line 49
;>>>> LCD_STARTMEAU('4');
LACK 52
SACL *+
CALL _LCD_STARTMEAU
MAR *-
.line 50
;>>>> CLEAR_BAR();
CALL _CLEAR_BAR
.line 51
;>>>> MAINBAR('2');
LACK 50
SACL *+
CALL _MAINBAR
MAR *-
.line 52
;>>>> return 1;
LACK 1
B EPI0_2
L26:
.line 53
;>>>> case 4:LCD_STARTMEAU('7');
MAR * ,AR1
LACK 55
SACL *+
CALL _LCD_STARTMEAU
MAR *-
.line 54
;>>>> LCD_STARTMEAU('6');
LACK 54
SACL *+
CALL _LCD_STARTMEAU
MAR *-
.line 55
;>>>> CLEAR_BAR();
CALL _CLEAR_BAR
.line 56
;>>>> MAINBAR('3');
LACK 51
SACL *+
CALL _MAINBAR
MAR *-
.line 57
;>>>> return 1;
LACK 1
B EPI0_2
L27:
.line 58
;>>>> case 5:LCD_STARTMEAU('9');
MAR * ,AR1
LACK 57
SACL *+
CALL _LCD_STARTMEAU
MAR *-
.line 59
;>>>> LCD_STARTMEAU('8');
LACK 56
SACL *+
CALL _LCD_STARTMEAU
MAR *-
.line 60
;>>>> CLEAR_BAR();
CALL _CLEAR_BAR
.line 61
;>>>> MAINBAR('4');
LACK 52
SACL *+
CALL _MAINBAR
MAR *-
.line 62
;>>>> return 1;
;>>>> else
;>>>> switch(MAINMEAUFLAG)
LACK 1
B EPI0_2
L22:
.line 36
SSXM
LDPK _MAINMEAUFLAG
LAC _MAINMEAUFLAG
SUBK 1
BZ L23
SUBK 1
BZ L24
SUBK 1
BZ L25
SUBK 1
BZ L26
SUBK 1
BZ L27
B EPI0_2
L31:
.line 66
;>>>> {case 1:LCD_STARTMEAU('1');
MAR * ,AR1
LACK 49
SACL *+
CALL _LCD_STARTMEAU
MAR *-
.line 67
;>>>> LCD_STARTMEAU('4');
LACK 52
SACL *+
CALL _LCD_STARTMEAU
MAR *-
.line 68
;>>>> CLEAR_BAR();
CALL _CLEAR_BAR
.line 69
;>>>> MAINBAR('2');
LACK 50
SACL *+
CALL _MAINBAR
MAR *-
.line 70
;>>>> return 1;
LACK 1
B EPI0_2
L32:
.line 71
;>>>> case 2:LCD_STARTMEAU('3');
MAR * ,AR1
LACK 51
SACL *+
CALL _LCD_STARTMEAU
MAR *-
.line 72
;>>>> LCD_STARTMEAU('6');
LACK 54
SACL *+
CALL _LCD_STARTMEAU
MAR *-
.line 73
;>>>> CLEAR_BAR();
CALL _CLEAR_BAR
.line 74
;>>>> MAINBAR('3');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -