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

📄 main.asm

📁 2407嵌入式系统程序(c语言)
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	LAC	_KEY_DOWN
	SUBK	1
	BNZ	L110
	B	L111
L112:
	.line	81
;>>>> 							if(hand_num==1)
	LDPK	_hand_num
	LAC	_hand_num
	SUBK	1
	BNZ	L113
	.line	82
;>>>> 								hand_num=8;
;>>>> 							else 
	LACK	8
	SACL	_hand_num
	B	L114
L113:
	.line	84
;>>>> 							hand_num=hand_num-1;
	SACL	_hand_num
L114:
	.line	85
;>>>> 							HAND_SHOW(hand_num);
	MAR	* ,AR1
	SACL	*+
	CALL	_HAND_SHOW
	MAR	*-
	.line	86
;>>>> 							break;
;>>>> 						case 2:
	B	L110
L116:
	.line	88
;>>>> 							if(pin_num2==20)
	LDPK	_pin_num2
	LAC	_pin_num2
	SUBK	20
	BNZ	L117
	.line	89
;>>>> 								pin_num2=220;
;>>>> 							else
	LACK	220
	SACL	_pin_num2
	B	L118
L117:
	.line	91
;>>>> 							pin_num2=pin_num2-1;
	ADDK	19
	SACL	_pin_num2
L118:
	.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	L110
L119:
	.line	95
;>>>> 							if(pin_num3==1)
	LDPK	_pin_num3
	LAC	_pin_num3
	SUBK	1
	BNZ	L120
	.line	96
;>>>> 								pin_num3=48;
;>>>> 							else
	LACK	48
	SACL	_pin_num3
	B	L121
L120:
	.line	98
;>>>> 							pin_num3=pin_num3+1;
	ADDK	2
	SACL	_pin_num3
L121:
	.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	L110
L122:
	.line	102
;>>>> 							if(pin_num4==1)
	LDPK	_pin_num4
	LAC	_pin_num4
	SUBK	1
	BNZ	L123
	.line	103
;>>>> 								pin_num4=48;
;>>>> 							else
	LACK	48
	SACL	_pin_num4
	B	L124
L123:
	.line	105
;>>>> 							pin_num4=pin_num4+1;
	ADDK	2
	SACL	_pin_num4
L124:
	.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	L110
L111:
	.line	78
	SSXM
	LDPK	_caidan
	LAC	_caidan
	SUBK	1
	BZ	L112
	SUBK	1
	BZ	L116
	SUBK	1
	BZ	L119
	SUBK	1
	BZ	L122
L110:
EPI0_12:
	.line	110
	SBRK	18
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	413,000000000H,17

	.sym	_SEXIAN_SET,_SEXIAN_SET,32,2,0
	.globl	_SEXIAN_SET

	.func	414
;>>>> 	void SEXIAN_SET(argument1,argument2,argument3,argument4,argument5,i)
******************************************************
* FUNCTION DEF : _SEXIAN_SET
******************************************************
_SEXIAN_SET:

LF13	.set	0

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

	.sym	_argument1,-3+LF13,4,9,16
	.sym	_argument2,-4+LF13,4,9,16
	.sym	_argument3,-5+LF13,4,9,16
	.sym	_argument4,-6+LF13,4,9,16
	.sym	_argument5,-7+LF13,4,9,16
	.sym	_i,-8+LF13,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+LF13
	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	L125
	.line	7
;>>>> 			{if(caidan==1)
	LDPK	_caidan
	LAC	_caidan
	SUBK	1
	BNZ	L126
	.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
L126:
	.line	10
;>>>> 			 if(caidan==2)
	LDPK	_caidan
	LAC	_caidan
	SUBK	2
	BNZ	L127
	.line	11
;>>>> 			 	{SHUJUHAO(1,HANZI_CON);
	MAR	* ,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	1
	SACL	*+
	CALL	_SHUJUHAO
	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
L127:
	.line	13
;>>>> 			 if(caidan==3)
	LDPK	_caidan
	LAC	_caidan
	SUBK	3
	BNZ	L128
	.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
;>>>> 			 	SHUJUHAO(2,HANZI_CON);}
	MAR	* ,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	2
	SACL	*+
	CALL	_SHUJUHAO
	SBRK	2
L128:
	.line	16
;>>>> 			 if(caidan==4)
	LDPK	_caidan
	LAC	_caidan
	SUBK	4
	BNZ	L129
	.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
L129:
	.line	19
;>>>> 			 if(caidan==1)
	LDPK	_caidan
	LAC	_caidan
	SUBK	1
	BNZ	L130
	.line	20
;>>>> 			 	caidan=4;
;>>>> 			 else 
	LACK	4
	SACL	_caidan
	B	L125
L130:
	.line	22
;>>>> 			 caidan=caidan-1;
	SACL	_caidan
L125:
	.line	24
;>>>> 		if(KEY_RIGHT==1)
	LDPK	_KEY_RIGHT
	LAC	_KEY_RIGHT
	SUBK	1
	BNZ	L132
	.line	25
;>>>> 			{if(caidan==1)
	LDPK	_caidan
	LAC	_caidan
	SUBK	1
	BNZ	L133
	.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
;>>>> 				SHUJUHAO(2,HANZI_CON);}
	MAR	* ,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	2
	SACL	*+
	CALL	_SHUJUHAO
	SBRK	2
L133:
	.line	28
;>>>> 			 if(caidan==2)
	LDPK	_caidan
	LAC	_caidan
	SUBK	2
	BNZ	L134
	.line	29
;>>>> 			 	{SHUJUHAO(1,HANZI_CON);
	MAR	* ,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	LACK	1
	SACL	*+
	CALL	_SHUJUHAO
	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
L134:
	.line	31
;>>>> 			 if(caidan==3)
	LDPK	_caidan
	LAC	_caidan
	SUBK	3
	BNZ	L135
	.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
L135:
	.line	34
;>>>> 			 if(caidan==4)
	LDPK	_caidan
	LAC	_caidan
	SUBK	4
	BNZ	L136
	.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
L136:
	.line	37
;>>>> 			 if(caidan==4)
	LDPK	_caidan
	LAC	_caidan
	SUBK	4
	BNZ	L137
	.line	38
;>>>> 			 	caidan=1; 
;>>>> 			 else
	LACK	1
	SACL	_caidan
	B	L132
L137:
	.line	40
;>>>> 			 caidan=caidan+1;
	ADDK	5
	SACL	_caidan
L132:
	.line	42
;>>>> 		if(KEY_UP==1)
;>>>> 				switch(caidan)
;>>>> 						case 1:
	LDPK	_KEY_UP
	LAC	_KEY_UP
	SUBK	1
	BNZ	L139
	B	L140
L141:
	.line	47
;>>>> 							if(hand_num==8)
	LDPK	_hand_num
	LAC	_hand_num
	SUBK	8
	BNZ	L142
	.line	48
;>>>> 								hand_num=1;
;>>>> 							else
	LACK	1
	SACL	_hand_num
	B	L143
L142:
	.line	50
;>>>> 							hand_num=hand_num+1;
	ADDK	9
	SACL	_hand_num
L143:
	.line	51
;>>>> 							HAND_SHOW(hand_num);
	MAR	* ,AR1
	SACL	*+
	CALL	_HAND_SHOW
	MAR	*-
	.line	52
;>>>> 							break;
;>>>> 						case 2:
	B	L139
L145:
	.line	54
;>>>> 							if(pin_num2==10)
	LDPK	_pin_num2
	LAC	_pin_num2
	SUBK	10
	BNZ	L146
	.line	55
;>>>> 								pin_num2=1;
;>>>> 							else
	LACK	1
	SACL	_pin_num2
	B	L147
L146:
	.line	57
;>>>> 							pin_num2=pin_num2+1;
	ADDK	11
	SACL	_pin_num2
L147:
	.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	L139
L148:
	.line	61
;>>>> 							if(pin_num3==30)
	LDPK	_pin_num3
	LAC	_pin_num3
	SUBK	30
	BNZ	L149
	.line	62
;>>>> 								pin_num3=1;
;>>>> 							else
	LACK	1
	SACL	_pin_num3
	B	L150
L149:
	.line	64
;>>>> 							pin_num3=pin_num3+1;
	ADDK	31
	SACL	_pin_num3
L150:
	.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	L139
L151:
	.line	68
;>>>> 							if(pin_num4==30)
	LDPK	_pin_num4
	LAC	_pin_num4
	SUBK	30
	BNZ	L152
	.line	69
;>>>> 								pin_num4=1;
;>>>> 							else
	LACK	1
	SACL	_pin_num4
	B	L153
L152:
	.line	71
;>>>> 							pin_num4=pin_num4+1;
	ADDK	31
	SACL	_pin_num4
L153:
	.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	L139
L140:
	.line	44
	SSXM
	LDPK	_caidan
	LAC	_caidan
	SUBK	1
	BZ	L141
	SUBK	1
	BZ	L145
	SUBK	1
	BZ	L148
	SUBK	1
	BZ	L151
L139:
	.line	76
;>>>> 			if(KEY_DOWN==1)
;>>>> 				switch(caidan)
;>>>> 						case 1:
	LDPK	_KEY_DOWN
	LAC	_KEY_DOWN
	SUBK	1
	BNZ	L154
	B	L155
L156:
	.line	81
;>>>> 							if(hand_num==1)
	LDPK	_hand_num
	LAC	_hand_num
	SUBK	1
	BNZ	L157
	.line	82
;>>>> 								hand_num=8;
;>>>> 							else
	LACK	8
	SACL	_hand_num
	B	L158
L157:
	.line	84
;>>>> 							hand_num=hand_num-1;
	SACL	_hand_num
L158:
	.line	85
;>>>> 							HAND_SHOW(hand_num);
	MAR	* ,AR1
	SACL	*+
	CALL	_HAND_SHOW
	MAR	*-
	.line	86
;>>>> 							break;
;>>>> 						case 2:
	B	L154
L160:
	.line	88
;>>>> 							if(pin_num2==1)
	LDPK	_pin_num2
	LAC	_pin_num2
	SUBK	1
	BNZ	L161
	.line	89
;>>>> 								pin_num2=10;
;>>>> 							else
	LACK	10
	SACL	_pin_num2
	B	L162
L161:
	.line	91
;>>>> 							pin_num2=pin_num2-1;
	SACL	_pin_num2
L162:
	.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	L154
L163:
	.line	95
;>>>> 							if(pin_num3==1)
	LDPK	_pin_num3
	LAC	_pin_num3
	SUBK	1
	BNZ	L164
	.line	96
;>>>> 								pin_num3=30;
;>>>> 							else
	LACK	30
	SACL	_pin_num3
	B	L165
L164:
	.line	98
;>>>> 							pin_num3=pin_num3+1;
	ADDK	2
	SACL	_pin_num3
L165:
	.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:

⌨️ 快捷键说明

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