📄 main.asm
字号:
B L154
L166:
.line 102
;>>>> if(pin_num4==1)
LDPK _pin_num4
LAC _pin_num4
SUBK 1
BNZ L167
.line 103
;>>>> pin_num4=30;
;>>>> else
LACK 30
SACL _pin_num4
B L168
L167:
.line 105
;>>>> pin_num4=pin_num4+1;
ADDK 2
SACL _pin_num4
L168:
.line 106
;>>>> LCD_NUM(pin_num4,0xFFBF);
MAR * ,AR1
LACK -65
SACL *+
BLKD _pin_num4+0,*+
CALL _LCD_NUM
SBRK 2
.line 107
;>>>> break;
B L154
L155:
.line 78
SSXM
LDPK _caidan
LAC _caidan
SUBK 1
BZ L156
SUBK 1
BZ L160
SUBK 1
BZ L163
SUBK 1
BZ L166
L154:
EPI0_13:
.line 110
SBRK 18
LAR AR0,*-
PSHD *
RET
.endfunc 523,000000000H,17
.sym _Valid_submeau3flag,_Valid_submeau3flag,32,2,0
.globl _Valid_submeau3flag
.func 524
;>>>> void Valid_submeau3flag(void)
******************************************************
* FUNCTION DEF : _Valid_submeau3flag
******************************************************
_Valid_submeau3flag:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,3
LAR AR0,*0+,AR2
.sym _j,1,4,1,16
.sym _i,2,4,1,16
.line 3
;>>>> int j=0,i;
;>>>> for(;;)
;>>>> HERE3:
LACK 0
LARK AR2,1
MAR *0+
SACL *
L169:
.sym _HERE3,L170,0,6,0
L170:
.line 7
;>>>> KEY_SUBMEAU3();
CALL _KEY_SUBMEAU3,AR1
.line 8
;>>>> if(KEY_SURE==0)
LDPK _KEY_SURE
LAC _KEY_SURE
BNZ L171
.line 9
;>>>> if(KEY_UP==0)
LDPK _KEY_UP
LAC _KEY_UP
BNZ L174
.line 11
;>>>> WAIT_KEY(i);
MAR * ,AR2
LARK AR2,2
MAR *0+
LAC * ,AR1
SACL *+
CALL _WAIT_KEY
MAR *-
.line 12
;>>>> continue;
;>>>> else /*key_up=1*/
B L169
.line 15
;>>>> break;
;>>>> else /*key-sure=1*/
;>>>> for(;;)
L171:
L175:
.sym _HERE31,L176,0,6,0
L176:
.line 20
;>>>> HERE31: WAIT_KEY(i);
MAR * ,AR2
LARK AR2,2
MAR *0+
LAC * ,AR1
SACL *+
CALL _WAIT_KEY
MAR *-
.line 21
;>>>> if(KEY_UP==0)
LDPK _KEY_UP
LAC _KEY_UP
BNZ L177
.line 22
;>>>> if(KEY_SURE==1)
;>>>> {switch(SUBMEAU3FLAG)
;>>>> { case 1:
LDPK _KEY_SURE
LAC _KEY_SURE
SUBK 1
BNZ L175
B L179
L180:
.line 25
;>>>> motor_startup(motor_data,motor_num);
;>>>> for(;;)
MAR * ,AR1
BLKD _motor_num+0,*+
BLKD _motor_data+0,*+
CALL _motor_startup
SBRK 2
L181:
.sym _test_motor,L182,0,6,0
L182:
.line 28
;>>>> test_motor: WAIT_KEY(i);
MAR * ,AR2
LARK AR2,2
MAR *0+
LAC * ,AR1
SACL *+
CALL _WAIT_KEY
MAR *-
.line 29
;>>>> if(KEY_DOWN==1)
LDPK _KEY_DOWN
LAC _KEY_DOWN
SUBK 1
BNZ L183
.line 31
;>>>> motor_speedup(motor_data,motor_num);
BLKD _motor_num+0,*+
BLKD _motor_data+0,*+
CALL _motor_speedup
SBRK 2
.line 32
;>>>> continue; /*goto test_motor;*/
B L181
L183:
.line 34
;>>>> if(KEY_SURE==0)
LDPK _KEY_SURE
LAC _KEY_SURE
BZ L181
.line 35
;>>>> continue; /*goto test_motor;*/
;>>>> else
.line 37
;>>>> *SCITXBUF=0x02;
LARK AR3,28761
LACK 2
MAR * ,AR3
SACL * ,AR0
.line 38
;>>>> WORD8255=0xff;
LACK 255
SACL *
OUT * ,08000h
.line 39
;>>>> break; /*goto HERE31;*/
.line 40
.line 41
;>>>> break;
;>>>> case 2:
B L174
L188:
.line 43
;>>>> WORD8255=data_8255;
LDPK _data_8255
OUT _data_8255,08000h
.line 44
;>>>> num_8255++;
;>>>> for(;;)
LDPK _num_8255
LAC _num_8255
ADDK 1
SACL _num_8255
L189:
.sym _test_8255,L190,0,6,0
L190:
.line 47
;>>>> test_8255: WAIT_KEY(i);
MAR * ,AR2
LARK AR2,2
MAR *0+
LAC * ,AR1
SACL *+
CALL _WAIT_KEY
MAR *-
.line 48
;>>>> if(KEY_DOWN==1)
LDPK _KEY_DOWN
LAC _KEY_DOWN
SUBK 1
BNZ L191
.line 50
;>>>> electronic(num_8255,data_8255);
BLKD _data_8255+0,*+
BLKD _num_8255+0,*+
CALL _electronic
SBRK 2
.line 51
;>>>> continue; /*goto test_8255;*/
B L189
L191:
.line 53
;>>>> if(KEY_SURE==0)
LDPK _KEY_SURE
LAC _KEY_SURE
BZ L189
.line 54
;>>>> continue; /*goto test_8255;*/
;>>>> else
.line 56
;>>>> WORD8255=0x00;
LACK 0
MAR * ,AR0
SACL *
OUT * ,08000h
.line 57
;>>>> break; /*goto HERE31; */
.line 58
;>>>> else
B L174
L179:
.line 23
SSXM
LDPK _SUBMEAU3FLAG
LAC _SUBMEAU3FLAG
SUBK 1
BZ L180
SUBK 1
BZ L188
.line 62
;>>>> continue;
;>>>> else
B L174
L177:
.line 65
;>>>> ret_submeau3();
CALL _ret_submeau3
.line 66
;>>>> WAIT_KEY(i);
MAR * ,AR2
LARK AR2,2
MAR *0+
LAC * ,AR1
SACL *+
CALL _WAIT_KEY
MAR *-
.line 67
;>>>> if(KEY_SURE==1)
LDPK _KEY_SURE
LAC _KEY_SURE
SUBK 1
BNZ L198
.line 68
;>>>> j=1;
LACK 1
MAR * ,AR2
LARK AR2,1
MAR *0+
SACL *
L198:
.line 69
;>>>> if(j==0)
MAR * ,AR2
LARK AR2,1
MAR *0+
LAC *
BZ L175
.line 70
;>>>> continue;} /*goto HERE3;*/
.line 71
;>>>> break;
.line 72
.line 74
;>>>> break;
.line 75
L174:
EPI0_14:
.line 76
MAR * ,AR1
SBRK 4
LAR AR0,*-
PSHD *
RET
.endfunc 599,000000000H,3
.sym _GLOVE_TYPE,_GLOVE_TYPE,32,2,0
.globl _GLOVE_TYPE
.func 601
;>>>> void GLOVE_TYPE(argument1,i)
******************************************************
* FUNCTION DEF : _GLOVE_TYPE
******************************************************
_GLOVE_TYPE:
LF15 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,2
LAR AR0,*0+,AR2
.sym _argument1,-3+LF15,4,9,16
.sym _i,-4+LF15,4,9,16
.sym _glovetype,1,4,1,16
.line 2
.line 3
;>>>> int glovetype=argument1;
LARK AR2,-3+LF15
MAR *0+
LAC *
ADRK 4-LF15
SACL *
.line 4
;>>>> WAIT_KEY(i);
SBRK 5-LF15
LAC * ,AR1
SACL *+
CALL _WAIT_KEY
MAR *-
.line 5
;>>>> Delay1S();
CALL _Delay1S
.line 6
;>>>> if(KEY_UP==1)
LDPK _KEY_UP
LAC _KEY_UP
SUBK 1
BNZ L201
.line 8
;>>>> glovetype=glovetype+1;
MAR * ,AR2
LARK AR2,1
MAR *0+
LAC *
ADDK 1
SACL *
.line 9
;>>>> if(glovetype==4)
LAC *
SUBK 4
BNZ L201
.line 10
;>>>> glovetype=1;
LACK 1
SACL *
L201:
.line 12
;>>>> if(KEY_LEFT==1)
LDPK _KEY_LEFT
LAC _KEY_LEFT
SUBK 1
BNZ L205
.line 14
;>>>> glovetype=glovetype-1;
MAR * ,AR2
LARK AR2,1
MAR *0+
LAC *
SUBK 1
SACL *
.line 15
;>>>> if(glovetype==0)
LAC *
BNZ L205
.line 16
;>>>> glovetype=4;
;>>>> switch(glovetype)
;>>>> {case 1:
LACK 4
SACL *
B L205
L206:
.line 20
;>>>> LCD_GLOVETYPE(28,36,40,36,22,30,21,19);
MAR * ,AR1
LACK 19
SACL *+
LACK 21
SACL *+
LACK 30
SACL *+
LACK 22
SACL *+
LACK 36
SACL *+
LACK 40
SACL *+
LACK 36
SACL *+
LACK 28
SACL *+
CALL _LCD_GLOVETYPE
SBRK 8
.line 21
;>>>> break;
;>>>> case 2:
B L207
L208:
.line 23
;>>>> LCD_GLOVETYPE(44,56,60,52,32,46,30,40);
MAR * ,AR1
LACK 40
SACL *+
LACK 30
SACL *+
LACK 46
SACL *+
LACK 32
SACL *+
LACK 52
SACL *+
LACK 60
SACL *+
LACK 56
SACL *+
LACK 44
SACL *+
CALL _LCD_GLOVETYPE
SBRK 8
.line 24
;>>>> break;
;>>>> case 3:
B L207
L209:
.line 26
;>>>> LCD_GLOVETYPE(26,34,38,34,20,28,20,17);
MAR * ,AR1
LACK 17
SACL *+
LACK 20
SACL *+
LACK 28
SACL *+
LACK 20
SACL *+
LACK 34
SACL *+
LACK 38
SACL *+
LACK 34
SACL *+
LACK 26
SACL *+
CALL _LCD_GLOVETYPE
SBRK 8
.line 27
;>>>> break;
;>>>> case 4:
B L207
L210:
.line 29
;>>>> LCD_GLOVETYPE(24,32,36,30,18,26,19,15);
MAR * ,AR1
LACK 15
SACL *+
LACK 19
SACL *+
LACK 26
SACL *+
LACK 18
SACL *+
LACK 30
SACL *+
LACK 36
SACL *+
LACK 32
SACL *+
LACK 24
SACL *+
CALL _LCD_GLOVETYPE
SBRK 8
.line 30
;>>>> break;
B L207
L205:
.line 18
SSXM
MAR * ,AR2
LARK AR2,1
MAR *0+
LAC *
SUBK 1
BZ L206
SUBK 1
BZ L208
SUBK 1
BZ L209
SUBK 1
BZ L210
L207:
EPI0_15:
.line 32
MAR * ,AR1
SBRK 3
LAR AR0,*-
PSHD *
RET
.endfunc 632,000000000H,2
.sym _Amend_argument,_Amend_argument,32,2,0
.globl _Amend_argument
.func 634
;>>>> void Amend_argument(caidan,pin_num1,pin_num2,pin_num3,pin_num4,i)
******************************************************
* FUNCTION DEF : _Amend_argument
******************************************************
_Amend_argument:
LF16 .set 0
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,17
LAR AR0,*0+,AR2
.sym _caidan,-3+LF16,4,9,16
.sym _pin_num1,-4+LF16,4,9,16
.sym _pin_num2,-5+LF16,4,9,16
.sym _pin_num3,-6+LF16,4,9,16
.sym _pin_num4,-7+LF16,4,9,16
.sym _i,-8+LF16,4,9,16
.sym _HANZI_CON,1,52,1,256,,16
.line 2
;>>>> int HANZI_CON[16];
.line 4
;>>>> WAIT_KEY(i);
LARK AR2,-8+LF16
MAR *0+
LAC * ,AR1
SACL *+
CALL _WAIT_KEY
MAR *-
.line 5
;>>>> Delay1S();
CALL _Delay1S
.line 6
;>>>> if(KEY_LEFT==1)
LDPK _KEY_LEFT
LAC _KEY_LEFT
SUBK 1
BNZ L211
.line 7
;>>>> {if(caidan==1)
MAR * ,AR2
LARK AR2,-3+LF16
MAR *0+
LAC *
SUBK 1
BNZ L212
.line 8
;>>>> {JIQI(1,HANZI_CON,HANZI_ZUIGAO,HANZI_GAODI,HANZI_XIANSU,HANZI_SUDU,0xFFB9);
MAR * ,AR1
LACK -71
SACL *+
LALK _HANZI_SUDU+0
SACL *+
LALK _HANZI_XIANSU+0
SACL *+
LALK _HANZI_GAODI+0
SACL *+
LALK _HANZI_ZUIGAO+0
SACL *+,AR3
LARK AR3,1
MAR *0+,AR1
SAR AR3,*+
LACK 1
SACL *+
CALL _JIQI
SBRK 7
.line 9
;>>>> JIQI(1,HANZI_CON,HANZI_PINGZHEN,HANZI_PINGZHEN+16,HANZI_GAODI,HANZI_SUDU,0xFFBB);
LACK -69
SACL *+
LALK _HANZI_SUDU+0
SACL *+
LALK _HANZI_GAODI+0
SACL *+
LALK _HANZI_PINGZHEN+16
SACL *+
LALK _HANZI_PINGZHEN+0
SACL *+,AR3
LARK AR3,1
MAR *0+,AR1
SAR AR3,*+
LACK 1
SACL *+
CALL _JIQI
SBRK 7
.line 10
;>>>> JIQI(1,HANZI_CON,HANZI_PINGZHEN,HANZI_PINGZHEN+16,HANZI_GAODI+16,HANZI_SUDU,0xFFBD);
LACK -67
SACL *+
LALK _HANZI_SUDU+0
SACL *+
LALK _HANZI_GAODI+16
SACL *+
LALK _HANZI_PINGZHEN+16
SACL *+
LALK _HANZI_PINGZHEN+0
SACL *+,AR3
LARK AR3,1
MAR *0+,AR1
SAR AR3,*+
LACK 1
SACL *+
CALL _JIQI
SBRK 7
.line 11
;>>>> JIQI(2,HANZI_CON,HANZIZIKU+112,HANZI_ZUO,HANZI_GAODI+16,HANZI_SUDU,0xFFBF);}
LACK -65
SACL *+
LALK _HANZI_SUDU+0
SACL *+
LALK _HANZI_GAODI+16
SACL *+
LALK _HANZI_ZUO+0
SACL *+
LALK _HANZIZIKU+112
SACL *+,AR3
LARK AR3,1
MAR *0+,AR1
SAR AR3,*+
LACK 2
SACL *+
CALL _JIQI
SBRK 7
L212:
.line 12
;>>>> if(caidan==2)
MAR * ,AR2
LARK AR2,-3+LF16
MAR *0+
LAC *
SUBK 2
BNZ L213
.line 13
;>>>> {JIQI(2,HANZI_CON,HANZI_JIQI,HANZI_JIQI+16,HANZI_LEIXING,HANZI_LEIXING+16,0xFFB9);
MAR * ,AR1
LACK -71
SACL *+
LALK _HANZI_LEIXING+16
SACL *+
LALK _HANZI_LEIXING+0
SACL *+
LALK _HANZI_JIQI+16
SACL *+
LALK _HANZI_JIQI+0
SACL *+,AR3
LARK AR3,1
MAR *0+,AR1
SAR AR3,*+
LACK 2
SACL *+
CALL _JIQI
SBRK 7
.line 14
;>>>> JIQI(1,HANZI_CON,HANZI_ZUIGAO,HANZI_GAODI,HANZI_XIANSU,HANZI_SUDU,0xFFBB);
LACK -69
SACL *+
LALK _HANZI_SUDU+0
SACL *+
LALK _HANZI_XIANSU+0
SACL *+
LALK _HANZI_GAODI+0
SACL *+
LALK _HANZI_ZUIGAO+0
SACL *+,AR3
LARK AR3,1
MAR *0+,AR1
SAR AR3,*+
LACK 1
SACL *+
CALL _JIQI
SBRK 7
.line 15
;>>>> JIQI(1,HANZI_CON,HANZI_PINGZHEN,HANZI_PINGZHEN+16,HANZI_GAODI,HANZI_SUDU,0xFFBD);
LACK -67
SACL *+
LALK _HANZI_SUDU+0
SACL *+
LALK _HANZI_GAODI+0
SACL *+
LALK _HANZI_PINGZHEN+16
SACL *+
LALK _HANZI_PINGZHEN+0
SACL *+,AR3
LARK AR3,1
MAR *0+,AR1
SAR AR3,*+
LACK 1
SACL *+
CALL _JIQI
SBRK 7
.line 16
;>>>> JIQI(1,HANZI_CON,HANZI_PINGZHEN,HANZI_PINGZHEN+16,HANZI_GAODI+16,HANZI_SUDU,0xFFBF);}
LACK -65
SACL *+
LALK _HANZI_SUDU+0
SACL *+
LALK _HANZI_GAODI+16
SACL *+
LALK _HANZI_PINGZHEN+16
SACL *+
LALK _HANZI_PINGZHEN+0
SACL *+,AR3
LARK AR3,1
MAR *0+,AR1
SAR AR3,*+
LACK 1
SACL *+
CALL _JIQI
SBRK 7
L213:
.line 17
;>>>> if(caidan==3)
MAR * ,AR2
LARK AR2,-3+LF16
MAR *0+
LAC *
SUBK 3
BNZ L214
.line 18
;>>>> {JIQI(1,HANZI_CON,HANZI_JIQI,HANZI_JIQI+16,HANZI_LEIXING,HANZI_LEIXING+16,0xFFB9);
MAR * ,AR1
LACK -71
SACL *+
LALK _HANZI_LEIXING+16
SACL *+
LALK _HANZI_LEIXING+0
SACL *+
LALK _HANZI_JIQI+16
SACL *+
LALK _HANZI_JIQI+0
SACL *+,AR3
LARK AR3,1
MAR *0+,AR1
SAR AR3,*+
LACK 1
SACL *+
CALL _JIQI
SBRK 7
.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -