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

📄 drv_lcd.ms

📁 一款SmartPhone的驱动代码
💻 MS
📖 第 1 页 / 共 4 页
字号:
	.loc	68
	ld.w	%r12,0x0
	ld.w	%r13,0x1	; 	xld.w	%r13,0x00000001		; 1
	ld.w	%r14,%r12
	ext	SetLcdFPFrame@rh	; 	xcall	SetLcdFPFrame
	ext	SetLcdFPFrame@rm
	call	SetLcdFPFrame@rl

	.loc	69
	ld.w	%r12,0x4	; 	xld.w	%r12,0x00000004		; 4
	ext	SetSerialLcdClkDivide@rh	; 	xcall	SetSerialLcdClkDivide
	ext	SetSerialLcdClkDivide@rm
	call	SetSerialLcdClkDivide@rl

	.loc	70
	ld.w	%r12,0x0
	ld.w	%r13,0x3	; 	xld.w	%r13,0x00000003		; 3
	ext	SetLcdSif@rh	; 	xcall	SetLcdSif
	ext	SetLcdSif@rm
	call	SetLcdSif@rl

	.loc	73
	ld.w	%r12,0x0
	ld.w	%r13,0x3	; 	xld.w	%r13,0x00000003		; 3
	ext	InitLut@rh	; 	xcall	InitLut
	ext	InitLut@rm
	call	InitLut@rl

	.loc	75
	ld.w	%r12,0x0
	ld.w	%r13,0x1	; 	xld.w	%r13,0x00000001		; 1
	ext	SetLutBypassEnable@rh	; 	xcall	SetLutBypassEnable
	ext	SetLutBypassEnable@rm
	call	SetLutBypassEnable@rl

	.loc	76
	ld.w	%r12,0x1	; 	xld.w	%r12,0x00000001		; 1
	ld.w	%r13,%r12
	ext	SetLutBypassEnable@rh	; 	xcall	SetLutBypassEnable
	ext	SetLutBypassEnable@rm
	call	SetLutBypassEnable@rl

	.loc	78
	ld.w	%r12,0x0
	ext	SelectDispMode@rh	; 	xcall	SelectDispMode
	ext	SelectDispMode@rm
	call	SelectDispMode@rl

	.loc	81
	ld.w	%r12,0x0
	ld.w	%r13,0x10	; 	xld.w	%r13,0x00000010		; 16
	ext	SetDisplayMode@rh	; 	xcall	SetDisplayMode
	ext	SetDisplayMode@rm
	call	SetDisplayMode@rl

	.loc	84
	ld.w	%r12,0x1	; 	xld.w	%r12,0x00000001		; 1
	ext	SetOutputPort@rh	; 	xcall	SetOutputPort
	ext	SetOutputPort@rm
	call	SetOutputPort@rl

	.loc	86
	ext	halDelayUS@rm	; 	xcall	halDelayUS
	call	halDelayUS@rl

	.loc	89
	ext	0x3		; 	xld.w	%r12,0x000000c9		; 201
	ld.w	%r12,0x9
	ext	Write_lcd_com@rh	; 	xcall	Write_lcd_com
	ext	Write_lcd_com@rm
	call	Write_lcd_com@rl

	.loc	90
	ext	0x3		; 	xld.w	%r12,0x000000f8		; 248
	ld.w	%r12,0x38
	ext	Write_lcd_param@rh	; 	xcall	Write_lcd_param
	ext	Write_lcd_param@rm
	call	Write_lcd_param@rl

	.loc	91
	ld.w	%r12,0x0
	ext	Write_lcd_param@rh	; 	xcall	Write_lcd_param
	ext	Write_lcd_param@rm
	call	Write_lcd_param@rl

	.loc	92
	ext	0x3		; 	xld.w	%r12,0x000000f0		; 240
	ld.w	%r12,0x30
	ext	Write_lcd_param@rh	; 	xcall	Write_lcd_param
	ext	Write_lcd_param@rm
	call	Write_lcd_param@rl

	.loc	93
	ld.w	%r12,0x0
	ext	Write_lcd_param@rh	; 	xcall	Write_lcd_param
	ext	Write_lcd_param@rm
	call	Write_lcd_param@rl

	.loc	94
	ld.w	%r12,0x2	; 	xld.w	%r12,0x00000002		; 2
	ext	Write_lcd_param@rh	; 	xcall	Write_lcd_param
	ext	Write_lcd_param@rm
	call	Write_lcd_param@rl

	.loc	95
	ext	halDelayUS@rm	; 	xcall	halDelayUS
	call	halDelayUS@rl

	.loc	97
	ext	0x3		; 	xld.w	%r12,0x000000ca		; 202
	ld.w	%r12,0xa
	ext	Write_lcd_com@rh	; 	xcall	Write_lcd_com
	ext	Write_lcd_com@rm
	call	Write_lcd_com@rl

	.loc	98
	ext	0x3		; 	xld.w	%r12,0x000000cf		; 207
	ld.w	%r12,0xf
	ext	Write_lcd_param@rh	; 	xcall	Write_lcd_param
	ext	Write_lcd_param@rm
	call	Write_lcd_param@rl

	.loc	99
	ld.w	%r12,0x1	; 	xld.w	%r12,0x00000001		; 1
	ext	Write_lcd_param@rh	; 	xcall	Write_lcd_param
	ext	Write_lcd_param@rm
	call	Write_lcd_param@rl

	.loc	100
	ld.w	%r12,0x6	; 	xld.w	%r12,0x00000006		; 6
	ext	Write_lcd_param@rh	; 	xcall	Write_lcd_param
	ext	Write_lcd_param@rm
	call	Write_lcd_param@rl

	.loc	101
	ld.w	%r12,0x18	; 	xld.w	%r12,0x00000018		; 24
	ext	Write_lcd_param@rh	; 	xcall	Write_lcd_param
	ext	Write_lcd_param@rm
	call	Write_lcd_param@rl

	.loc	102
	ld.w	%r12,0x4	; 	xld.w	%r12,0x00000004		; 4
	ext	Write_lcd_param@rh	; 	xcall	Write_lcd_param
	ext	Write_lcd_param@rm
	call	Write_lcd_param@rl

	.loc	103
	ld.w	%r12,0x0
	ext	Write_lcd_param@rh	; 	xcall	Write_lcd_param
	ext	Write_lcd_param@rm
	call	Write_lcd_param@rl

	.loc	104
	ext	halDelayUS@rm	; 	xcall	halDelayUS
	call	halDelayUS@rl

	.loc	106
	ext	0x3		; 	xld.w	%r12,0x000000cb		; 203
	ld.w	%r12,0xb
	ext	Write_lcd_com@rh	; 	xcall	Write_lcd_com
	ext	Write_lcd_com@rm
	call	Write_lcd_com@rl

	.loc	107
	ext	0x0		; 	xld.w	%r12,0x00000020		; 32
	ld.w	%r12,0x20
	ext	GCP64+0x0@h	; 	xld.w	%r13,GCP64
	ext	GCP64+0x0@m
	ld.w	%r13,GCP64+0x0@l
	ext	Write_lcd_param_loop@rh	; 	xcall	Write_lcd_param_loop
	ext	Write_lcd_param_loop@rm
	call	Write_lcd_param_loop@rl

	.loc	108
	ext	halDelayUS@rm	; 	xcall	halDelayUS
	call	halDelayUS@rl

	.loc	111
	ext	0x2		; 	xld.w	%r12,0x00000094		; 148
	ld.w	%r12,0x14
	ext	Write_lcd_com@rh	; 	xcall	Write_lcd_com
	ext	Write_lcd_com@rm
	call	Write_lcd_com@rl

	.loc	112
	ext	halDelayUS@rm	; 	xcall	halDelayUS
	call	halDelayUS@rl

	.loc	114
	ext	0x2		; 	xld.w	%r12,0x000000af		; 175
	ld.w	%r12,0x2f
	ext	Write_lcd_com@rh	; 	xcall	Write_lcd_com
	ext	Write_lcd_com@rm
	call	Write_lcd_com@rl

	.loc	115
	ext	halDelayUS@rm	; 	xcall	halDelayUS
	call	halDelayUS@rl

	.loc	120
	ext	init_timer3_8bit@rh	; 	xcall	init_timer3_8bit
	ext	init_timer3_8bit@rm
	call	init_timer3_8bit@rl

	.loc	121
	ext	VRAM+0x0@h	; 	xld.w	%r12,VRAM
	ext	VRAM+0x0@m
	ld.w	%r12,VRAM+0x0@l
	ext	0x3ff		; 	xld.w	%r13,0x0000ffff		; 65535
	ld.w	%r13,0x3f
	ext	0x294		; 	xld.w	%r14,0x0000a500		; 42240
	ld.w	%r14,0x0
	ext	memset@rh	; 	xcall	memset
	ext	memset@rm
	call	memset@rl

	.loc	122
	ext	VRAM+0x0@h	; 	xld.w	%r12,VRAM
	ext	VRAM+0x0@m
	ld.w	%r12,VRAM+0x0@l
	ext	init_hsdma3@rh	; 	xcall	init_hsdma3
	ext	init_hsdma3@rm
	call	init_hsdma3@rl

	.loc	124
	.def	bend,	scl	110,	type	0x0,	endef
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.align	1
	.def	Dlcd_Show_Coordinate,	val	Dlcd_Show_Coordinate,	scl	2,	type	0x21,	endef
	.global	Dlcd_Show_Coordinate

	.loc	126
	.def	ent,	scl	101,	type	0x0,	endef
Dlcd_Show_Coordinate:
;	.frame	%sp,4,$31		# vars= 0, regs= 1/0, args= 0, extra= 0
;	.mask	0x80000000,-4
;	.fmask	0x00000000,0
	.def	x,	val	12,	scl	17,	type	0x5,	endef
	.def	y,	val	13,	scl	17,	type	0x5,	endef
	.def	c,	val	14,	scl	17,	type	0x3,	endef

	.loc	128
	.def	begin,	scl	100,	type	0x0,	endef
	.def	Temp,	val	11,	scl	4,	type	0x3,	endef

	.loc	129
	ld.w	%r11,0x0
	ext	VRAM-0x6e0@h	; 	xld.w	%r4,VRAM-1760
	ext	VRAM-0x6e0@m
	ld.w	%r4,VRAM-0x6e0@l
	ext	0x2		; 	xld.w	%r15,0x000000b0		; 176
	ld.w	%r15,0x30
__LX17:				; __L17:

	.loc	130
	ld.h	%r10,%r11
	add	%r10,%r13
	mlt.w	%r10,%r15
	ld.w	%r10,%alr
	add	%r10,%r12
	sll	%r10,0x1	; 	xsll	%r10,1
	add	%r10,%r4
	ld.h	[%r10],%r14	; 	xld.h	[%r10],%r14

	.loc	129
	add	%r11,0x1	; 	xadd	%r11,%r11,1
	ld.h	%r10,%r11
	cmp	%r10,0x9	; 	xcmp	%r10,9
	jrle	__LX17		; 	xjrle	__L17

	.loc	131
	ld.w	%r11,0x0
	ext	VRAM-0xa@h	; 	xld.w	%r15,VRAM-10
	ext	VRAM-0xa@m
	ld.w	%r15,VRAM-0xa@l
	ext	0x2		; 	xld.w	%r10,0x000000b0		; 176
	ld.w	%r10,0x30
	mlt.w	%r13,%r10
	ld.w	%r13,%alr
__LX22:				; __L22:

	.loc	132
	ld.h	%r10,%r11
	add	%r10,%r12
	ld.w	%r5,%r13
	add	%r5,%r10
	ld.w	%r10,%r5
	sll	%r10,0x1	; 	xsll	%r10,1
	add	%r10,%r15
	ld.h	[%r10],%r14	; 	xld.h	[%r10],%r14

	.loc	131
	add	%r11,0x1	; 	xadd	%r11,%r11,1
	ld.h	%r10,%r11
	cmp	%r10,0x9	; 	xcmp	%r10,9
	jrle	__LX22		; 	xjrle	__L22

	.loc	135
	.def	bend,	scl	110,	type	0x0,	endef
	ret
	.def	end,	scl	111,	type	0x0,	endef
	.def	VRAM,	val	VRAM,	scl	2,	dim	42240,	size	84480,	type	0x33,	endef

	.comm	VRAM 84480
	.def	DISCTL_DATA1,	val	DISCTL_DATA1,	scl	2,	dim	5,	size	10,	type	0x3d,	endef
	.def	DISCTL_DATA2,	val	DISCTL_DATA2,	scl	2,	dim	6,	size	12,	type	0x3d,	endef
	.def	GCP64,	val	GCP64,	scl	2,	dim	32,	size	64,	type	0x3d,	endef
	.def	pVRAM,	val	pVRAM,	scl	2,	type	0x13,	endef

	.endfile

⌨️ 快捷键说明

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