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

📄 main.asm

📁 2407嵌入式系统程序(c语言)
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;>>>> 		if(KEY_LEFT==1)
	LDPK	_KEY_LEFT
	LAC	_KEY_LEFT
	SUBK	1
	BNZ	L9
	.line	14
;>>>> 				hand_num=hand_num-1;
	LDPK	_hand_num
	LAC	_hand_num
	SUBK	1
	SACL	_hand_num
	.line	15
;>>>> 				if(hand_num==0)
	LAC	_hand_num
	BNZ	L10
	.line	16
;>>>> 					hand_num=8;
	LACK	8
	SACL	_hand_num
L10:
	.line	17
;>>>> 					HAND_SHOW(hand_num);
	SACL	*+
	CALL	_HAND_SHOW
	MAR	*-
L9:
	.line	19
;>>>> 		if(KEY_UP==1)
	LDPK	_KEY_UP
	LAC	_KEY_UP
	SUBK	1
	BNZ	L11
	.line	21
;>>>> 				if(hand_num<5)
	SSXM
	LDPK	_hand_num
	LAC	_hand_num
	SUBK	5
	BGEZ	L12
	.line	23
;>>>> 						if(pin_num1==98)
	LDPK	_pin_num1
	LAC	_pin_num1
	SUBK	98
	BNZ	L13
	.line	24
;>>>> 						pin_num1=14;
;>>>> 						else
	LACK	14
	SACL	_pin_num1
	B	L14
L13:
	.line	26
;>>>> 						pin_num1=pin_num1+1;
	ADDK	99
	SACL	_pin_num1
L14:
	.line	27
;>>>> 						HAND_PINNUM(pin_num1);
	SACL	*+
	CALL	_HAND_PINNUM
	MAR	*-
L12:
	.line	29
;>>>> 				if(hand_num==5)
	LDPK	_hand_num
	LAC	_hand_num
	SUBK	5
	BNZ	L15
	.line	31
;>>>> 						if(pin_num2==98)
	LDPK	_pin_num2
	LAC	_pin_num2
	SUBK	98
	BNZ	L16
	.line	32
;>>>> 						pin_num2=5;
;>>>> 						else
	LACK	5
	SACL	_pin_num2
	B	L17
L16:
	.line	34
;>>>> 						pin_num2=pin_num2+1;
	ADDK	99
	SACL	_pin_num2
L17:
	.line	35
;>>>> 						HAND_PINNUM(pin_num2);
	SACL	*+
	CALL	_HAND_PINNUM
	MAR	*-
L15:
	.line	37
;>>>> 				if(hand_num==6)
	LDPK	_hand_num
	LAC	_hand_num
	SUBK	6
	BNZ	L18
	.line	39
;>>>> 						if(pin_num1==98)
	LDPK	_pin_num1
	LAC	_pin_num1
	SUBK	98
	BNZ	L19
	.line	40
;>>>> 						pin_num1=14;
;>>>> 						else
	LACK	14
	SACL	_pin_num1
	B	L20
L19:
	.line	42
;>>>> 						pin_num1=pin_num1+1;
	ADDK	99
	SACL	_pin_num1
L20:
	.line	43
;>>>> 						HAND_PINNUM(pin_num1);
	SACL	*+
	CALL	_HAND_PINNUM
	MAR	*-
L18:
	.line	45
;>>>> 				if(hand_num==7|hand_num==8)
	LDPK	_hand_num
	LAC	_hand_num
	SUBK	8
	LARK	AR3,1
	BZ	LL12
	LARK	AR3,0
LL12:
	LAC	_hand_num
	SUBK	7
	LARK	AR4,1
	BZ	LL13
	LARK	AR4,0
LL13:
	MAR	* ,AR0
	SAR	AR4,*
	SSXM
	LAC	* 
	SAR	AR3,*
	OR	* 
	ANDK	0FFFFh
	BZ	L11
	.line	47
;>>>> 						if(pin_num3==499)
	LDPK	_pin_num3
	LAC	_pin_num3
	SUBK	499
	BNZ	L22
	.line	48
;>>>> 						pin_num3=5;
;>>>> 						else
	LACK	5
	SACL	_pin_num3
	B	L23
L22:
	.line	50
;>>>> 						pin_num3=pin_num3+1;
	ADDK	500
	SACL	_pin_num3
L23:
	.line	51
;>>>> 						HAND_PINNUM(pin_num3);
	MAR	* ,AR1
	SACL	*+
	CALL	_HAND_PINNUM
	MAR	*-
L11:
	.line	54
;>>>> 		if(KEY_DOWN==1)
	LDPK	_KEY_DOWN
	LAC	_KEY_DOWN
	SUBK	1
	BNZ	L24
	.line	56
;>>>> 				if(hand_num<5)
	SSXM
	LDPK	_hand_num
	LAC	_hand_num
	SUBK	5
	BGEZ	L25
	.line	58
;>>>> 						if(pin_num1==14)
	LDPK	_pin_num1
	LAC	_pin_num1
	SUBK	14
	BNZ	L26
	.line	59
;>>>> 						pin_num1=98;
;>>>> 						else
	LACK	98
	SACL	_pin_num1
	B	L27
L26:
	.line	61
;>>>> 						pin_num1=pin_num1-1;
	ADDK	13
	SACL	_pin_num1
L27:
	.line	62
;>>>> 						HAND_PINNUM(pin_num1);
	MAR	* ,AR1
	SACL	*+
	CALL	_HAND_PINNUM
	MAR	*-
L25:
	.line	64
;>>>> 				if(hand_num==5)
	LDPK	_hand_num
	LAC	_hand_num
	SUBK	5
	BNZ	L28
	.line	66
;>>>> 						if(pin_num2==5)
	LDPK	_pin_num2
	LAC	_pin_num2
	SUBK	5
	BNZ	L29
	.line	67
;>>>> 						pin_num2=98;
;>>>> 						else
	LACK	98
	SACL	_pin_num2
	B	L30
L29:
	.line	69
;>>>> 						pin_num2=pin_num2-1;
	ADDK	4
	SACL	_pin_num2
L30:
	.line	70
;>>>> 						HAND_PINNUM(pin_num2);
	MAR	* ,AR1
	SACL	*+
	CALL	_HAND_PINNUM
	MAR	*-
L28:
	.line	72
;>>>> 						if(hand_num==6)
	LDPK	_hand_num
	LAC	_hand_num
	SUBK	6
	BNZ	L31
	.line	74
;>>>> 						if(pin_num1==14)
	LDPK	_pin_num1
	LAC	_pin_num1
	SUBK	14
	BNZ	L32
	.line	75
;>>>> 						pin_num1=98;
;>>>> 						else
	LACK	98
	SACL	_pin_num1
	B	L33
L32:
	.line	77
;>>>> 						pin_num1=pin_num1-1;
	ADDK	13
	SACL	_pin_num1
L33:
	.line	78
;>>>> 						HAND_PINNUM(pin_num1);
	MAR	* ,AR1
	SACL	*+
	CALL	_HAND_PINNUM
	MAR	*-
L31:
	.line	80
;>>>> 				if(hand_num==7|hand_num==8)
	LDPK	_hand_num
	LAC	_hand_num
	SUBK	8
	LARK	AR3,1
	BZ	LL14
	LARK	AR3,0
LL14:
	LAC	_hand_num
	SUBK	7
	LARK	AR4,1
	BZ	LL15
	LARK	AR4,0
LL15:
	MAR	* ,AR0
	SAR	AR4,*
	SSXM
	LAC	* 
	SAR	AR3,*
	OR	* 
	ANDK	0FFFFh
	BZ	L24
	.line	82
;>>>> 						if(pin_num3==5)
	LDPK	_pin_num3
	LAC	_pin_num3
	SUBK	5
	BNZ	L35
	.line	83
;>>>> 						pin_num3=499;
;>>>> 						else
	SPLK	#499,_pin_num3
	B	L36
L35:
	.line	85
;>>>> 						pin_num3=pin_num3-1;
	ADDK	4
	SACL	_pin_num3
L36:
	.line	86
;>>>> 						HAND_PINNUM(pin_num3);
	MAR	* ,AR1
	BLKD	_pin_num3+0,*+
	CALL	_HAND_PINNUM
	MAR	*-
L24:
EPI0_10:
	.line	89
	MAR	* ,AR1
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	193,000000000H,1

	.sym	_TIGHT_SET,_TIGHT_SET,32,2,0
	.globl	_TIGHT_SET

	.func	194
;>>>> 	void TIGHT_SET(argument1,argument2,argument3,argument4,argument5,i)
******************************************************
* FUNCTION DEF : _TIGHT_SET
******************************************************
_TIGHT_SET:

LF11	.set	0

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

	.sym	_argument1,-3+LF11,4,9,16
	.sym	_argument2,-4+LF11,4,9,16
	.sym	_argument3,-5+LF11,4,9,16
	.sym	_argument4,-6+LF11,4,9,16
	.sym	_argument5,-7+LF11,4,9,16
	.sym	_i,-8+LF11,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+LF11
	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	L37
	.line	7
;>>>> 			{if(caidan==1)
	LDPK	_caidan
	LAC	_caidan
	SUBK	1
	BNZ	L38
	.line	8
;>>>> 				{TIGHT_BILI(1,HANZI_CON,HANZI_BILI,HANZI_BILI+16,HANZI_YINZI,HANZI_YINZI+16,0xFFB9);
	LACK	-71
	SACL	*+
	LALK	_HANZI_YINZI+16
	SACL	*+
	LALK	_HANZI_YINZI+0
	SACL	*+
	LALK	_HANZI_BILI+16
	SACL	*+
	LALK	_HANZI_BILI+0
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	1
	SACL	*+
	CALL	_TIGHT_BILI
	SBRK	7
	.line	9
;>>>> 				DAOZHILING(2,HANZI_CON);}
	MAR	* ,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	2
	SACL	*+
	CALL	_DAOZHILING
	SBRK	2
L38:
	.line	10
;>>>> 			 if(caidan==2)
	LDPK	_caidan
	LAC	_caidan
	SUBK	2
	BNZ	L39
	.line	11
;>>>> 			 	{TIGHT_BILI(2,HANZI_CON,HANZI_BILI,HANZI_BILI+16,HANZI_YINZI,HANZI_YINZI+16,0xFFB9);
	LACK	-71
	SACL	*+
	LALK	_HANZI_YINZI+16
	SACL	*+
	LALK	_HANZI_YINZI+0
	SACL	*+
	LALK	_HANZI_BILI+16
	SACL	*+
	LALK	_HANZI_BILI+0
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	2
	SACL	*+
	CALL	_TIGHT_BILI
	SBRK	7
	.line	12
;>>>> 			 	TIGHT_BILI(1,HANZI_CON,HANZI_QISHI,HANZI_QISHI+16,HANZI_HENGLIE,HANZI_HENGLIE+16,0xFFBB);}
	LACK	-69
	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	_TIGHT_BILI
	SBRK	7
L39:
	.line	13
;>>>> 			 if(caidan==3)
	LDPK	_caidan
	LAC	_caidan
	SUBK	3
	BNZ	L40
	.line	14
;>>>> 			 	{TIGHT_BILI(1,HANZI_CON,HANZI_ZHONGNIAO,HANZI_ZHONGNIAO+16,HANZI_HENGLIE,HANZI_HENGLIE+16,0xFFBD);
	LACK	-67
	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	_TIGHT_BILI
	SBRK	7
	.line	15
;>>>> 			 	TIGHT_BILI(2,HANZI_CON,HANZI_QISHI,HANZI_QISHI+16,HANZI_ZHONGNIAO,HANZI_ZHONGNIAO+16,0xFFBB);}
	LACK	-69
	SACL	*+
	LALK	_HANZI_ZHONGNIAO+16
	SACL	*+
	LALK	_HANZI_ZHONGNIAO+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	_TIGHT_BILI
	SBRK	7
L40:
	.line	16
;>>>> 			 if(caidan==4)
	LDPK	_caidan
	LAC	_caidan
	SUBK	4
	BNZ	L41
	.line	17
;>>>> 			 	{TIGHT_BILI(2,HANZI_CON,HANZI_ZHONGNIAO,HANZI_ZHONGNIAO+16,HANZI_HENGLIE,HANZI_HENGLIE+16,0xFFBD);
	LACK	-67
	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	_TIGHT_BILI
	SBRK	7
	.line	18
;>>>> 			 	DAOZHILING(1,HANZI_CON);}
	MAR	* ,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	1
	SACL	*+
	CALL	_DAOZHILING
	SBRK	2
L41:
	.line	19
;>>>> 			 if(caidan==1)
	LDPK	_caidan
	LAC	_caidan
	SUBK	1
	BNZ	L42
	.line	20
;>>>> 			 	caidan=4;
;>>>> 			 else
	LACK	4
	SACL	_caidan
	B	L37
L42:
	.line	22
;>>>> 			    caidan=caidan-1;
	SACL	_caidan
L37:
	.line	24
;>>>> 		if(KEY_RIGHT==1)
	LDPK	_KEY_RIGHT
	LAC	_KEY_RIGHT
	SUBK	1
	BNZ	L44
	.line	25
;>>>> 			{if(caidan==1)
	LDPK	_caidan
	LAC	_caidan
	SUBK	1
	BNZ	L45
	.line	26
;>>>> 				{TIGHT_BILI(1,HANZI_CON,HANZI_BILI,HANZI_BILI+16,HANZI_YINZI,HANZI_YINZI+16,0xFFB9);
	LACK	-71
	SACL	*+
	LALK	_HANZI_YINZI+16
	SACL	*+
	LALK	_HANZI_YINZI+0
	SACL	*+
	LALK	_HANZI_BILI+16
	SACL	*+
	LALK	_HANZI_BILI+0
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	1
	SACL	*+
	CALL	_TIGHT_BILI
	SBRK	7
	.line	27
;>>>> 				TIGHT_BILI(2,HANZI_CON,HANZI_QISHI,HANZI_QISHI+16,HANZI_HENGLIE,HANZI_HENGLIE+16,0xFFBB);}
	LACK	-69
	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	_TIGHT_BILI
	SBRK	7
L45:
	.line	28
;>>>> 			 if(caidan==2)
	LDPK	_caidan
	LAC	_caidan
	SUBK	2
	BNZ	L46
	.line	29
;>>>> 			 	{TIGHT_BILI(1,HANZI_CON,HANZI_QISHI,HANZI_QISHI+16,HANZI_HENGLIE,HANZI_HENGLIE+16,0xFFBB);
	LACK	-69
	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	_TIGHT_BILI
	SBRK	7
	.line	30
;>>>> 			 	TIGHT_BILI(2,HANZI_CON,HANZI_ZHONGNIAO,HANZI_ZHONGNIAO+16,HANZI_HENGLIE,HANZI_HENGLIE+16,0xFFBD);}
	LACK	-67
	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	_TIGHT_BILI
	SBRK	7
L46:
	.line	31
;>>>> 			 if(caidan==3)
	LDPK	_caidan
	LAC	_caidan
	SUBK	3
	BNZ	L47
	.line	32
;>>>> 			 	{TIGHT_BILI(1,HANZI_CON,HANZI_ZHONGNIAO,HANZI_ZHONGNIAO+16,HANZI_HENGLIE,HANZI_HENGLIE+16,0xFFBD);
	LACK	-67
	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	_TIGHT_BILI
	SBRK	7
	.line	33
;>>>> 			 	DAOZHILING(2,HANZI_CON);}
	MAR	* ,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	2
	SACL	*+
	CALL	_DAOZHILING
	SBRK	2
L47:
	.line	34
;>>>> 			 if(caidan==4)
	LDPK	_caidan
	LAC	_caidan
	SUBK	4
	BNZ	L48
	.line	35
;>>>> 			 	{DAOZHILING(1,HANZI_CON);
	MAR	* ,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	1
	SACL	*+
	CALL	_DAOZHILING
	SBRK	2
	.line	36
;>>>> 			 	TIGHT_BILI(2,HANZI_CON,HANZI_BILI,HANZI_BILI+16,HANZI_YINZI,HANZI_YINZI+16,0xFFB9);}
	LACK	-71
	SACL	*+
	LALK	_HANZI_YINZI+16
	SACL	*+
	LALK	_HANZI_YINZI+0
	SACL	*+
	LALK	_HANZI_BILI+16
	SACL	*+
	LALK	_HANZI_BILI+0
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	2
	SACL	*+
	CALL	_TIGHT_BILI
	SBRK	7
L48:
	.line	37
;>>>> 			 if(caidan==4)
	LDPK	_caidan
	LAC	_caidan
	SUBK	4
	BNZ	L49
	.line	38
;>>>> 			 	caidan=1;
;>>>> 			 else 
	LACK	1
	SACL	_caidan
	B	L44
L49:
	.line	40
;>>>> 			 caidan=caidan+1;
	ADDK	5
	SACL	_caidan
L44:
	.line	42
;>>>> 		if(KEY_UP==1)
;>>>> 				switch(caidan)
;>>>> 						case 1:
	LDPK	_KEY_UP
	LAC	_KEY_UP
	SUBK	1
	BNZ	L51
	B	L52
L53:
	.line	47
;>>>> 							if(pin_num1==4)
	LDPK	_pin_num1
	LAC	_pin_num1
	SUBK	4
	BNZ	L54
	.line	48
;>>>> 								pin_num1=1;
;>>>> 							else 
	LACK	1
	SACL	_pin_num1
	B	L55
L54:
	.line	50
;>>>> 							pin_num1=pin_num1+1;
	ADDK	5
	SACL	_pin_num1
L55:
	.line	51
;>>>> 							LCD_NUM(pin_num1,0xFFB9);
	MAR	* ,AR1
	LACK	-71
	SACL	*+
	BLKD	_pin_num1+0,*+
	CALL	_LCD_NUM
	SBRK	2
	.line	52
;>>>> 							break;
;>>>> 						case 2:
	B	L51
L57:
	.line	54
;>>>> 							if(pin_num2==32)
	LDPK	_pin_num2
	LAC	_pin_num2
	SUBK	32
	BNZ	L58
	.line	55
;>>>> 								pin_num2=5;
;>>>> 							else
	LACK	5
	SACL	_pin_num2
	B	L59
L58:
	.line	57
;>>>> 							pin_num2=pin_num2+1;
	ADDK	33
	SACL	_pin_num2
L59:
	.line	58

⌨️ 快捷键说明

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