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

📄 lcdsub.asm

📁 2407嵌入式系统程序(c语言)
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	RET

	.endfunc	468,000000000H,19

	.sym	_LCD_CLEAR,_LCD_CLEAR,32,2,0
	.globl	_LCD_CLEAR

	.func	469
;>>>> 	void LCD_CLEAR(void)
;>>>> 	{   int i,j;
******************************************************
* FUNCTION DEF : _LCD_CLEAR
******************************************************
_LCD_CLEAR:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,3
	LAR	AR0,*0+,AR2

	.sym	_i,1,4,1,16
	.sym	_j,2,4,1,16
	.line	3
;>>>> 		j=0xFFB9;
	LARK	AR2,2
	MAR	*0+
	SPLK	#-71,*-
	.line	4
;>>>> 		for(i=0;i<4;i++)
	LACK	0
	SACL	* 
	SSXM
	LAC	* 
	SUBK	4
	BGEZ	L96
	MAR	*+,AR1
L95:
	.line	7
;>>>> 			LCD_1616('A',LCD_INITIALWORD,j,0xFF40);
	LACK	-192
	SACL	*+,AR2
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	8
;>>>> 			LCD_1616('A',LCD_INITIALWORD,j,0xFF50);
	LACK	-176
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	9
;>>>> 			LCD_1616('A',LCD_INITIALWORD,j,0xFF60);
	LACK	-160
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	10
;>>>> 			LCD_1616('A',LCD_INITIALWORD,j,0xFF70);
	LACK	-144
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	13
;>>>> 			LCD_1616('B',LCD_INITIALWORD,j,0xFF40);
	LACK	-192
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	66
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	14
;>>>> 			LCD_1616('B',LCD_INITIALWORD,j,0xFF50);
	LACK	-176
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	66
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	15
;>>>> 			LCD_1616('B',LCD_INITIALWORD,j,0xFF60);
	LACK	-160
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	66
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	16
;>>>> 			LCD_1616('B',LCD_INITIALWORD,j,0xFF70);
	LACK	-144
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	66
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	19
;>>>> 			LCD_1616('C',LCD_INITIALWORD,j,0xFF40);
	LACK	-192
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	67
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	20
;>>>> 			LCD_1616('C',LCD_INITIALWORD,j,0xFF50);
	LACK	-176
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	67
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	21
;>>>> 			LCD_1616('C',LCD_INITIALWORD,j,0xFF60);
	LACK	-160
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	67
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	22
;>>>> 			LCD_1616('C',LCD_INITIALWORD,j,0xFF70);
	LACK	-144
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	67
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	23
;>>>> 			j++;
	MAR	* ,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* 
	ADDK	1
	SACL	* 
	.line	24
;>>>> 			j++;
	ADDK	1
	SACL	*-
	.line	4
	LAC	* 
	ADDK	1
	SACL	* 
	SSXM
	LAC	*+,AR1
	SUBK	4
	BLZ	L95
L96:
EPI0_16:
	.line	26
	MAR	* ,AR1
	SBRK	4
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	494,000000000H,3

	.sym	_CLEAR_BAR,_CLEAR_BAR,32,2,0
	.globl	_CLEAR_BAR

	.func	495
;>>>> 	void CLEAR_BAR(void)
;>>>> 	{	int i,j;
******************************************************
* FUNCTION DEF : _CLEAR_BAR
******************************************************
_CLEAR_BAR:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,3
	LAR	AR0,*0+,AR2

	.sym	_i,1,4,1,16
	.sym	_j,2,4,1,16
	.line	3
;>>>> 		j=0xFFBF;
	LARK	AR2,2
	MAR	*0+
	SPLK	#-65,*-
	.line	4
;>>>> 		for(i=0;i<1;i++,j++)
	LACK	0
	SACL	* 
	SSXM
	LAC	* 
	BGZ	L98
	MAR	*+,AR1
L97:
	.line	7
;>>>> 			LCD_1616('A',LCD_INITIALWORD,j,0xFF40);
	LACK	-192
	SACL	*+,AR2
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	8
;>>>> 			LCD_1616('A',LCD_INITIALWORD,j,0xFF50);
	LACK	-176
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	9
;>>>> 			LCD_1616('A',LCD_INITIALWORD,j,0xFF60);
	LACK	-160
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	10
;>>>> 			LCD_1616('A',LCD_INITIALWORD,j,0xFF70);
	LACK	-144
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	13
;>>>> 			LCD_1616('B',LCD_INITIALWORD,j,0xFF40);
	LACK	-192
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	66
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	14
;>>>> 			LCD_1616('B',LCD_INITIALWORD,j,0xFF50);
	LACK	-176
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	66
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	15
;>>>> 			LCD_1616('B',LCD_INITIALWORD,j,0xFF60);
	LACK	-160
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	66
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	16
;>>>> 			LCD_1616('B',LCD_INITIALWORD,j,0xFF70);
	LACK	-144
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	66
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	19
;>>>> 			LCD_1616('C',LCD_INITIALWORD,j,0xFF40);
	LACK	-192
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	67
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	20
;>>>> 			LCD_1616('C',LCD_INITIALWORD,j,0xFF50);
	LACK	-176
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	67
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	21
;>>>> 			LCD_1616('C',LCD_INITIALWORD,j,0xFF60);
	LACK	-160
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	67
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	22
;>>>> 			LCD_1616('C',LCD_INITIALWORD,j,0xFF70);
	LACK	-144
	SACL	*+,AR2
	LARK	AR2,2
	MAR	*0+
	LAC	* ,AR1
	SACL	*+
	LALK	_LCD_INITIALWORD+0
	SACL	*+
	LACK	67
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	4
	MAR	* ,AR2
	LARK	AR2,1
	MAR	*0+
	LAC	* 
	ADDK	1
	SACL	*+
	LAC	* 
	ADDK	1
	SACL	*-
	SSXM
	LAC	*+,AR1
	BLEZ	L97
L98:
EPI0_17:
	.line	24
	MAR	* ,AR1
	SBRK	4
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	518,000000000H,3

	.sym	_LCD_INITIALIZE,_LCD_INITIALIZE,32,2,0
	.globl	_LCD_INITIALIZE

	.func	519
;>>>> 	void LCD_INITIALIZE(void)
******************************************************
* FUNCTION DEF : _LCD_INITIALIZE
******************************************************
_LCD_INITIALIZE:
	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,1
	LAR	AR0,*0+

	.line	2
;>>>> 	{	LCD_1616('A',HANZIZIKU,0xFFBB,0xFF40);
	LACK	-192
	SACL	*+
	LACK	-69
	SACL	*+
	LALK	_HANZIZIKU+0
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	3
;>>>> 		LCD_1616('A',HANZIZIKU+16,0xFFBB,0xFF50);
	LACK	-176
	SACL	*+
	LACK	-69
	SACL	*+
	LALK	_HANZIZIKU+16
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	4
;>>>> 		LCD_1616('A',HANZIZIKU+32,0xFFBB,0xFF60);
	LACK	-160
	SACL	*+
	LACK	-69
	SACL	*+
	LALK	_HANZIZIKU+32
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	5
;>>>> 		LCD_1616('A',HANZIZIKU+48,0xFFBB,0xFF70);
	LACK	-144
	SACL	*+
	LACK	-69
	SACL	*+
	LALK	_HANZIZIKU+48
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	6
;>>>> 		LCD_1616('B',HANZIZIKU+64,0xFFBB,0xFF40);
	LACK	-192
	SACL	*+
	LACK	-69
	SACL	*+
	LALK	_HANZIZIKU+64
	SACL	*+
	LACK	66
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	7
;>>>> 		LCD_1616('B',HANZIZIKU+80,0xFFBB,0xFF50);
	LACK	-176
	SACL	*+
	LACK	-69
	SACL	*+
	LALK	_HANZIZIKU+80
	SACL	*+
	LACK	66
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	8
;>>>> 		LCD_1616('B',HANZIZIKU+96,0xFFBB,0xFF60);
	LACK	-160
	SACL	*+
	LACK	-69
	SACL	*+
	LALK	_HANZIZIKU+96
	SACL	*+
	LACK	66
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	9
;>>>> 		LCD_1616('B',HANZIZIKU+112,0xFFBB,0xFF70);
	LACK	-144
	SACL	*+
	LACK	-69
	SACL	*+
	LALK	_HANZIZIKU+112
	SACL	*+
	LACK	66
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	10
;>>>> 		LCD_1616('C',HANZIZIKU+128,0xFFBB,0xFF40);
	LACK	-192
	SACL	*+
	LACK	-69
	SACL	*+
	LALK	_HANZIZIKU+128
	SACL	*+
	LACK	67
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	11
;>>>> 		LCD_1616('C',HANZIZIKU+144,0xFFBB,0xFF50);
	LACK	-176
	SACL	*+
	LACK	-69
	SACL	*+
	LALK	_HANZIZIKU+144
	SACL	*+
	LACK	67
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	12
;>>>> 		LCD_1616('C',HANZIZIKU+160,0xFFBB,0xFF60);
	LACK	-160
	SACL	*+
	LACK	-69
	SACL	*+
	LALK	_HANZIZIKU+160
	SACL	*+
	LACK	67
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
EPI0_18:
	.line	13
	SBRK	2
	LAR	AR0,*-
	PSHD	*
	RET

	.endfunc	531,000000000H,1

	.sym	_LCD_STARTMEAU,_LCD_STARTMEAU,32,2,0
	.globl	_LCD_STARTMEAU

	.func	533
;>>>> 	void LCD_STARTMEAU(char MEAU_NUM)
******************************************************
* FUNCTION DEF : _LCD_STARTMEAU
******************************************************
_LCD_STARTMEAU:

LF19	.set	0

	POPD	*+
	SAR	AR0,*+
	SAR	AR1,*
	LARK	AR0,33
	LAR	AR0,*0+

	.sym	_MEAU_NUM,-3+LF19,2,9,16
	.sym	_HANZI_CON,1,52,1,512,,32
	.line	2
;>>>> 	    int HANZI_CON[32];
;>>>> 	    switch(MEAU_NUM)
;>>>> 	    	{	case '1':
	B	L99
L100:
	.line	6
;>>>> 					LCD_1616('A',HANZI_KAISHI,0xFFBB,0xFF40);
	MAR	* ,AR1
	LACK	-192
	SACL	*+
	LACK	-69
	SACL	*+
	LALK	_HANZI_KAISHI+0
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	7
;>>>> 					LCD_1616('A',HANZI_KAISHI+16,0xFFBB,0xFF50);
	LACK	-176
	SACL	*+
	LACK	-69
	SACL	*+
	LALK	_HANZI_KAISHI+16
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	8
;>>>> 					LCD_1616('A',HANZI_GONGZUO,0xFFBD,0xFF40);
	LACK	-192
	SACL	*+
	LACK	-67
	SACL	*+
	LALK	_HANZI_GONGZUO+0
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	9
;>>>> 					LCD_1616('A',HANZI_GONGZUO+16,0xFFBD,0xFF50);
	LACK	-176
	SACL	*+
	LACK	-67
	SACL	*+
	LALK	_HANZI_GONGZUO+16
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	10
;>>>> 					break;
;>>>> 				case '2':	
	B	L101
L102:
	.line	12
;>>>> 					LCD_1616CON('A',CON_HANZI(HANZI_CON,HANZI_KAISHI),0xFFBB,0xFF40);   /* 改变地方*/
	MAR	* ,AR1
	LACK	-192
	SACL	*+
	LACK	-69
	SACL	*+
	LALK	_HANZI_KAISHI+0
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	CALL	_CON_HANZI
	SBRK	2
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616CON
	SBRK	4
	.line	13
;>>>> 					LCD_1616CON('A',CON_HANZI(HANZI_CON,HANZI_KAISHI+16),0xFFBB,0xFF50);
	LACK	-176
	SACL	*+
	LACK	-69
	SACL	*+
	LALK	_HANZI_KAISHI+16
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	CALL	_CON_HANZI
	SBRK	2
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616CON
	SBRK	4
	.line	14
;>>>> 					LCD_1616CON('A',CON_HANZI(HANZI_CON,HANZI_GONGZUO),0xFFBD,0xFF40);
	LACK	-192
	SACL	*+
	LACK	-67
	SACL	*+
	LALK	_HANZI_GONGZUO+0
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	CALL	_CON_HANZI
	SBRK	2
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616CON
	SBRK	4
	.line	15
;>>>> 					LCD_1616CON('A',CON_HANZI(HANZI_CON,HANZI_GONGZUO+16),0xFFBD,0xFF50);
	LACK	-176
	SACL	*+
	LACK	-67
	SACL	*+
	LALK	_HANZI_GONGZUO+16
	SACL	*+,AR3
	LARK	AR3,1
	MAR	*0+,AR1
	SAR	AR3,*+
	CALL	_CON_HANZI
	SBRK	2
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616CON
	SBRK	4
	.line	16
;>>>> 					MAINMEAUFLAG=0x0001;
	LACK	1
	LDPK	_MAINMEAUFLAG
	SACL	_MAINMEAUFLAG
	.line	17
;>>>> 					break;
;>>>> 				case '3':	
	B	L101
L103:
	.line	19
;>>>> 					LCD_1616('A',HANZI_GONGZUO,0xFFBB,0xFF68);
	MAR	* ,AR1
	LACK	-152
	SACL	*+
	LACK	-69
	SACL	*+
	LALK	_HANZI_GONGZUO+0
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	20
;>>>> 					LCD_1616('A',HANZI_CANSHU,0xFFBD,0xFF68);
	LACK	-152
	SACL	*+
	LACK	-67
	SACL	*+
	LALK	_HANZI_CANSHU+0
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_1616
	SBRK	4
	.line	21
;>>>> 					LCD_ORDER('A',0xFFBB);
	LACK	-69
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_ORDER
	SBRK	2
	.line	22
;>>>> 					LCD_ORDER('A',0xFF78);
	LACK	-136
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_ORDER
	SBRK	2
	.line	23
;>>>> 					LCD_HANZIHALF('A',HANZI_GONGZUO+16);
	LALK	_HANZI_GONGZUO+16
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_HANZIHALF
	SBRK	2
	.line	24
;>>>> 					LCD_ORDER('A',0xFFBA);
	LACK	-70
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_ORDER
	SBRK	2
	.line	25
;>>>> 					LCD_ORDER('A',0xFF78);
	LACK	-136
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_ORDER
	SBRK	2
	.line	26
;>>>> 					LCD_HANZIHALF('A',HANZI_GONGZUO+24);
	LALK	_HANZI_GONGZUO+24
	SACL	*+
	LACK	65
	SACL	*+
	CALL	_LCD_HANZIHALF
	SBRK	2
	.line	27
;>>>> 					L

⌨️ 快捷键说明

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