⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.asm

📁 2407嵌入式系统程序(c语言)
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;>>>> 							LCD_NUM(pin_num2,0xFFBB);
	MAR	* ,AR1
	LACK	-69
	SACL	*+
	BLKD	_pin_num2+0,*+
	CALL	_LCD_NUM
	SBRK	2
	.line	59
;>>>> 							break;
;>>>> 						case 3:
	B	L51
L60:
	.line	61
;>>>> 							if(pin_num3==32)
	LDPK	_pin_num3
	LAC	_pin_num3
	SUBK	32
	BNZ	L61
	.line	62
;>>>> 								pin_num3=5;
;>>>> 							else 
	LACK	5
	SACL	_pin_num3
	B	L62
L61:
	.line	64
;>>>> 							pin_num3=pin_num3+1;
	ADDK	33
	SACL	_pin_num3
L62:
	.line	65
;>>>> 							LCD_NUM(pin_num3,0xFFBD);
	MAR	* ,AR1
	LACK	-67
	SACL	*+
	BLKD	_pin_num3+0,*+
	CALL	_LCD_NUM
	SBRK	2
	.line	66
;>>>> 							break;
;>>>> 						case 4:
	B	L51
L63:
	.line	68
;>>>> 							if(pin_num4==1)
	LDPK	_pin_num4
	LAC	_pin_num4
	SUBK	1
	BNZ	L64
	.line	69
;>>>> 								pin_num4=0;
;>>>> 							else 
	LACK	0
	SACL	_pin_num4
	B	L65
L64:
	.line	71
;>>>> 							pin_num4=1;
	LACK	1
	SACL	_pin_num4
L65:
	.line	72
;>>>> 							LCD_NUM(pin_num4,0xFFBF);
	MAR	* ,AR1
	LACK	-65
	SACL	*+
	BLKD	_pin_num4+0,*+
	CALL	_LCD_NUM
	SBRK	2
	.line	73
;>>>> 							break;
	B	L51
L52:
	.line	44
	SSXM
	LDPK	_caidan
	LAC	_caidan
	SUBK	1
	BZ	L53
	SUBK	1
	BZ	L57
	SUBK	1
	BZ	L60
	SUBK	1
	BZ	L63
L51:
	.line	76
;>>>> 			if(KEY_DOWN==1)
;>>>> 				switch(caidan)
;>>>> 						case 1:
	LDPK	_KEY_DOWN
	LAC	_KEY_DOWN
	SUBK	1
	BNZ	L66
	B	L67
L68:
	.line	81
;>>>> 							if(pin_num1==1)
	LDPK	_pin_num1
	LAC	_pin_num1
	SUBK	1
	BNZ	L69
	.line	82
;>>>> 								pin_num1=4;
;>>>> 							else
	LACK	4
	SACL	_pin_num1
	B	L70
L69:
	.line	84
;>>>> 							pin_num1=pin_num1-1;
	SACL	_pin_num1
L70:
	.line	85
;>>>> 							LCD_NUM(pin_num1,0xFFB9);
	MAR	* ,AR1
	LACK	-71
	SACL	*+
	BLKD	_pin_num1+0,*+
	CALL	_LCD_NUM
	SBRK	2
	.line	86
;>>>> 							break;
;>>>> 						case 2:
	B	L66
L72:
	.line	88
;>>>> 							if(pin_num2==5)
	LDPK	_pin_num2
	LAC	_pin_num2
	SUBK	5
	BNZ	L73
	.line	89
;>>>> 								pin_num2=32;
;>>>> 							else 
	LACK	32
	SACL	_pin_num2
	B	L74
L73:
	.line	91
;>>>> 							pin_num2=pin_num2-1;
	ADDK	4
	SACL	_pin_num2
L74:
	.line	92
;>>>> 							LCD_NUM(pin_num2,0xFFBB);
	MAR	* ,AR1
	LACK	-69
	SACL	*+
	BLKD	_pin_num2+0,*+
	CALL	_LCD_NUM
	SBRK	2
	.line	93
;>>>> 							break;
;>>>> 						case 3:
	B	L66
L75:
	.line	95
;>>>> 							if(pin_num3==5)
	LDPK	_pin_num3
	LAC	_pin_num3
	SUBK	5
	BNZ	L76
	.line	96
;>>>> 								pin_num3=32;
;>>>> 							else
	LACK	32
	SACL	_pin_num3
	B	L77
L76:
	.line	98
;>>>> 							pin_num3=pin_num3+1;
	ADDK	6
	SACL	_pin_num3
L77:
	.line	99
;>>>> 							LCD_NUM(pin_num3,0xFFBD);
	MAR	* ,AR1
	LACK	-67
	SACL	*+
	BLKD	_pin_num3+0,*+
	CALL	_LCD_NUM
	SBRK	2
	.line	100
;>>>> 							break;
;>>>> 						case 4:
	B	L66
L78:
	.line	102
;>>>> 							if(pin_num4==0)
	LDPK	_pin_num4
	LAC	_pin_num4
	BNZ	L79
	.line	103
;>>>> 								pin_num4=1;
;>>>> 							else
	LACK	1
	SACL	_pin_num4
	B	L80
L79:
	.line	105
;>>>> 							pin_num4=0;
	LACK	0
	SACL	_pin_num4
L80:
	.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	L66
L67:
	.line	78
	SSXM
	LDPK	_caidan
	LAC	_caidan
	SUBK	1
	BZ	L68
	SUBK	1
	BZ	L72
	SUBK	1
	BZ	L75
	SUBK	1
	BZ	L78
L66:
EPI0_11:
	.line	110
	SBRK	18
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	303,000000000H,17

	.sym	_SPEED_SET,_SPEED_SET,32,2,0
	.globl	_SPEED_SET

	.func	304
;>>>> 	void SPEED_SET(argument1,argument2,argument3,argument4,argument5,i)
******************************************************
* FUNCTION DEF : _SPEED_SET
******************************************************
_SPEED_SET:

LF12	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,17
	LAR	AR0,*0+,AR2

	.sym	_argument1,-3+LF12,4,9,16
	.sym	_argument2,-4+LF12,4,9,16
	.sym	_argument3,-5+LF12,4,9,16
	.sym	_argument4,-6+LF12,4,9,16
	.sym	_argument5,-7+LF12,4,9,16
	.sym	_i,-8+LF12,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+LF12
	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	L81
	.line	7
;>>>> 			{if(caidan==1)
	LDPK	_caidan
	LAC	_caidan
	SUBK	1
	BNZ	L82
	.line	8
;>>>> 				{SPEED_SEXIAN(1,HANZI_CON,HANZI_DANGQIAN,HANZI_DANGQIAN+16,HANZI_BUWEI,HANZI_BUWEI+16,0xFFB9);
	LACK	-71
	SACL	*+
	LALK	_HANZI_BUWEI+16
	SACL	*+
	LALK	_HANZI_BUWEI+0
	SACL	*+
	LALK	_HANZI_DANGQIAN+16
	SACL	*+
	LALK	_HANZI_DANGQIAN+0
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	1
	SACL	*+
	CALL	_SPEED_SEXIAN
	SBRK	7
	.line	9
;>>>> 				SPEED_SEXIAN(2,HANZI_CON,HANZI_ZHONGNIAO,HANZI_ZHONGNIAO+16,HANZI_HENGLIE,HANZI_HENGLIE+16,0xFFBF);}
	LACK	-65
	SACL	*+
	LALK	_HANZI_HENGLIE+16
	SACL	*+
	LALK	_HANZI_HENGLIE+0
	SACL	*+
	LALK	_HANZI_ZHONGNIAO+16
	SACL	*+
	LALK	_HANZI_ZHONGNIAO+0
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	2
	SACL	*+
	CALL	_SPEED_SEXIAN
	SBRK	7
L82:
	.line	10
;>>>> 			 if(caidan==2)
	LDPK	_caidan
	LAC	_caidan
	SUBK	2
	BNZ	L83
	.line	11
;>>>> 			 	{SUDU(1,HANZI_CON);
	MAR	* ,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	1
	SACL	*+
	CALL	_SUDU
	SBRK	2
	.line	12
;>>>> 			 	SPEED_SEXIAN(2,HANZI_CON,HANZI_DANGQIAN,HANZI_DANGQIAN+16,HANZI_BUWEI,HANZI_BUWEI+16,0xFFB9);}
	LACK	-71
	SACL	*+
	LALK	_HANZI_BUWEI+16
	SACL	*+
	LALK	_HANZI_BUWEI+0
	SACL	*+
	LALK	_HANZI_DANGQIAN+16
	SACL	*+
	LALK	_HANZI_DANGQIAN+0
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	2
	SACL	*+
	CALL	_SPEED_SEXIAN
	SBRK	7
L83:
	.line	13
;>>>> 			 if(caidan==3)
	LDPK	_caidan
	LAC	_caidan
	SUBK	3
	BNZ	L84
	.line	14
;>>>> 			 	{SPEED_SEXIAN(1,HANZI_CON,HANZI_QISHI,HANZI_QISHI+16,HANZI_HENGLIE,HANZI_HENGLIE+16,0xFFBD);
	LACK	-67
	SACL	*+
	LALK	_HANZI_HENGLIE+16
	SACL	*+
	LALK	_HANZI_HENGLIE+0
	SACL	*+
	LALK	_HANZI_QISHI+16
	SACL	*+
	LALK	_HANZI_QISHI+0
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	1
	SACL	*+
	CALL	_SPEED_SEXIAN
	SBRK	7
	.line	15
;>>>> 			 	SUDU(2,HANZI_CON);}
	MAR	* ,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	2
	SACL	*+
	CALL	_SUDU
	SBRK	2
L84:
	.line	16
;>>>> 			 if(caidan==4)
	LDPK	_caidan
	LAC	_caidan
	SUBK	4
	BNZ	L85
	.line	17
;>>>> 			 	{SPEED_SEXIAN(1,HANZI_CON,HANZI_ZHONGNIAO,HANZI_ZHONGNIAO+16,HANZI_HENGLIE,HANZI_HENGLIE+16,0xFFBF);
	LACK	-65
	SACL	*+
	LALK	_HANZI_HENGLIE+16
	SACL	*+
	LALK	_HANZI_HENGLIE+0
	SACL	*+
	LALK	_HANZI_ZHONGNIAO+16
	SACL	*+
	LALK	_HANZI_ZHONGNIAO+0
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	1
	SACL	*+
	CALL	_SPEED_SEXIAN
	SBRK	7
	.line	18
;>>>> 			 	SPEED_SEXIAN(2,HANZI_CON,HANZI_QISHI,HANZI_QISHI+16,HANZI_HENGLIE,HANZI_HENGLIE+16,0xFFBD);}
	LACK	-67
	SACL	*+
	LALK	_HANZI_HENGLIE+16
	SACL	*+
	LALK	_HANZI_HENGLIE+0
	SACL	*+
	LALK	_HANZI_QISHI+16
	SACL	*+
	LALK	_HANZI_QISHI+0
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	2
	SACL	*+
	CALL	_SPEED_SEXIAN
	SBRK	7
L85:
	.line	19
;>>>> 			 if(caidan==1)
	LDPK	_caidan
	LAC	_caidan
	SUBK	1
	BNZ	L86
	.line	20
;>>>> 			 	caidan=4;
;>>>> 			 else 
	LACK	4
	SACL	_caidan
	B	L81
L86:
	.line	22
;>>>> 			 caidan=caidan-1;
	SACL	_caidan
L81:
	.line	24
;>>>> 		if(KEY_RIGHT==1)
	LDPK	_KEY_RIGHT
	LAC	_KEY_RIGHT
	SUBK	1
	BNZ	L88
	.line	25
;>>>> 			{if(caidan==1)
	LDPK	_caidan
	LAC	_caidan
	SUBK	1
	BNZ	L89
	.line	26
;>>>> 				{SPEED_SEXIAN(1,HANZI_CON,HANZI_DANGQIAN,HANZI_DANGQIAN+16,HANZI_BUWEI,HANZI_BUWEI+16,0xFFB9);
	LACK	-71
	SACL	*+
	LALK	_HANZI_BUWEI+16
	SACL	*+
	LALK	_HANZI_BUWEI+0
	SACL	*+
	LALK	_HANZI_DANGQIAN+16
	SACL	*+
	LALK	_HANZI_DANGQIAN+0
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	1
	SACL	*+
	CALL	_SPEED_SEXIAN
	SBRK	7
	.line	27
;>>>> 				SUDU(2,HANZI_CON);}
	MAR	* ,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	2
	SACL	*+
	CALL	_SUDU
	SBRK	2
L89:
	.line	28
;>>>> 			 if(caidan==2)
	LDPK	_caidan
	LAC	_caidan
	SUBK	2
	BNZ	L90
	.line	29
;>>>> 			 	{SUDU(1,HANZI_CON);
	MAR	* ,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	1
	SACL	*+
	CALL	_SUDU
	SBRK	2
	.line	30
;>>>> 			 	SPEED_SEXIAN(2,HANZI_CON,HANZI_QISHI,HANZI_QISHI+16,HANZI_HENGLIE,HANZI_HENGLIE+16,0xFFBD);}
	LACK	-67
	SACL	*+
	LALK	_HANZI_HENGLIE+16
	SACL	*+
	LALK	_HANZI_HENGLIE+0
	SACL	*+
	LALK	_HANZI_QISHI+16
	SACL	*+
	LALK	_HANZI_QISHI+0
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	2
	SACL	*+
	CALL	_SPEED_SEXIAN
	SBRK	7
L90:
	.line	31
;>>>> 			 if(caidan==3)
	LDPK	_caidan
	LAC	_caidan
	SUBK	3
	BNZ	L91
	.line	32
;>>>> 			 	{SPEED_SEXIAN(1,HANZI_CON,HANZI_QISHI,HANZI_QISHI+16,HANZI_HENGLIE,HANZI_HENGLIE+16,0xFFBD);
	LACK	-67
	SACL	*+
	LALK	_HANZI_HENGLIE+16
	SACL	*+
	LALK	_HANZI_HENGLIE+0
	SACL	*+
	LALK	_HANZI_QISHI+16
	SACL	*+
	LALK	_HANZI_QISHI+0
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	1
	SACL	*+
	CALL	_SPEED_SEXIAN
	SBRK	7
	.line	33
;>>>> 			 	SPEED_SEXIAN(2,HANZI_CON,HANZI_ZHONGNIAO,HANZI_ZHONGNIAO+16,HANZI_HENGLIE,HANZI_HENGLIE+16,0xFFBF);}
	LACK	-65
	SACL	*+
	LALK	_HANZI_HENGLIE+16
	SACL	*+
	LALK	_HANZI_HENGLIE+0
	SACL	*+
	LALK	_HANZI_ZHONGNIAO+16
	SACL	*+
	LALK	_HANZI_ZHONGNIAO+0
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	2
	SACL	*+
	CALL	_SPEED_SEXIAN
	SBRK	7
L91:
	.line	34
;>>>> 			 if(caidan==4)
	LDPK	_caidan
	LAC	_caidan
	SUBK	4
	BNZ	L92
	.line	35
;>>>> 			 	{SPEED_SEXIAN(1,HANZI_CON,HANZI_ZHONGNIAO,HANZI_ZHONGNIAO+16,HANZI_HENGLIE,HANZI_HENGLIE+16,0xFFBF);
	LACK	-65
	SACL	*+
	LALK	_HANZI_HENGLIE+16
	SACL	*+
	LALK	_HANZI_HENGLIE+0
	SACL	*+
	LALK	_HANZI_ZHONGNIAO+16
	SACL	*+
	LALK	_HANZI_ZHONGNIAO+0
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	1
	SACL	*+
	CALL	_SPEED_SEXIAN
	SBRK	7
	.line	36
;>>>> 			 	SPEED_SEXIAN(2,HANZI_CON,HANZI_DANGQIAN,HANZI_DANGQIAN+16,HANZI_BUWEI,HANZI_BUWEI+16,0xFFB9);}
	LACK	-71
	SACL	*+
	LALK	_HANZI_BUWEI+16
	SACL	*+
	LALK	_HANZI_BUWEI+0
	SACL	*+
	LALK	_HANZI_DANGQIAN+16
	SACL	*+
	LALK	_HANZI_DANGQIAN+0
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	2
	SACL	*+
	CALL	_SPEED_SEXIAN
	SBRK	7
L92:
	.line	37
;>>>> 			 if(caidan==4)
	LDPK	_caidan
	LAC	_caidan
	SUBK	4
	BNZ	L93
	.line	38
;>>>> 			 	caidan=1;
;>>>> 			 else 
	LACK	1
	SACL	_caidan
	B	L88
L93:
	.line	40
;>>>> 			 caidan=caidan+1;
	ADDK	5
	SACL	_caidan
L88:
	.line	42
;>>>> 		if(KEY_UP==1)
;>>>> 				switch(caidan)
;>>>> 						case 1:
	LDPK	_KEY_UP
	LAC	_KEY_UP
	SUBK	1
	BNZ	L95
	B	L96
L97:
	.line	47
;>>>> 							if(hand_num==8)
	LDPK	_hand_num
	LAC	_hand_num
	SUBK	8
	BNZ	L98
	.line	48
;>>>> 								hand_num=1;
;>>>> 							else
	LACK	1
	SACL	_hand_num
	B	L99
L98:
	.line	50
;>>>> 							hand_num=hand_num+1;
	ADDK	9
	SACL	_hand_num
L99:
	.line	51
;>>>> 							HAND_SHOW(hand_num);
	MAR	* ,AR1
	SACL	*+
	CALL	_HAND_SHOW
	MAR	*-
	.line	52
;>>>> 							break;
;>>>> 						case 2:
	B	L95
L101:
	.line	54
;>>>> 							if(pin_num2==220)
	LDPK	_pin_num2
	LAC	_pin_num2
	SUBK	220
	BNZ	L102
	.line	55
;>>>> 								pin_num2=20;
;>>>> 							else
	LACK	20
	SACL	_pin_num2
	B	L103
L102:
	.line	57
;>>>> 							pin_num2=pin_num2+1;
	ADDK	221
	SACL	_pin_num2
L103:
	.line	58
;>>>> 							LCD_NUM(pin_num2,0xFFBB);
	MAR	* ,AR1
	LACK	-69
	SACL	*+
	BLKD	_pin_num2+0,*+
	CALL	_LCD_NUM
	SBRK	2
	.line	59
;>>>> 							break;
;>>>> 						case 3:
	B	L95
L104:
	.line	61
;>>>> 							if(pin_num3==48)
	LDPK	_pin_num3
	LAC	_pin_num3
	SUBK	48
	BNZ	L105
	.line	62
;>>>> 								pin_num3=1;
;>>>> 							else
	LACK	1
	SACL	_pin_num3
	B	L106
L105:
	.line	64
;>>>> 							pin_num3=pin_num3+1;
	ADDK	49
	SACL	_pin_num3
L106:
	.line	65
;>>>> 							LCD_NUM(pin_num3,0xFFBD);
	MAR	* ,AR1
	LACK	-67
	SACL	*+
	BLKD	_pin_num3+0,*+
	CALL	_LCD_NUM
	SBRK	2
	.line	66
;>>>> 							break;
;>>>> 						case 4:
	B	L95
L107:
	.line	68
;>>>> 							if(pin_num4==48)
	LDPK	_pin_num4
	LAC	_pin_num4
	SUBK	48
	BNZ	L108
	.line	69
;>>>> 								pin_num4=1;
;>>>> 							else 
	LACK	1
	SACL	_pin_num4
	B	L109
L108:
	.line	71
;>>>> 							pin_num4=pin_num4+1;
	ADDK	49
	SACL	_pin_num4
L109:
	.line	72
;>>>> 							LCD_NUM(pin_num4,0xFFBF);
	MAR	* ,AR1
	LACK	-65
	SACL	*+
	BLKD	_pin_num4+0,*+
	CALL	_LCD_NUM
	SBRK	2
	.line	73
;>>>> 							break;
	B	L95
L96:
	.line	44
	SSXM
	LDPK	_caidan
	LAC	_caidan
	SUBK	1
	BZ	L97
	SUBK	1
	BZ	L101
	SUBK	1
	BZ	L104
	SUBK	1
	BZ	L107
L95:
	.line	76
;>>>> 			if(KEY_DOWN==1)
;>>>> 				switch(caidan)
;>>>> 						case 1:
	LDPK	_KEY_DOWN

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -