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

📄 lcd_61.asm

📁 LCD1602的显示模块程序
💻 ASM
📖 第 1 页 / 共 3 页
字号:
	.dw '.stabs "lcddata:p1",160,0,0,7',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB5-_lcd_wrdata1
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "position:4",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "cmd:4",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE5-_lcd_wrdata1
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME9-_lcd_wrdata1
	.dw 0x0d,0x0a
.code
LME9:
.code
.debug
	.dw '.stabs "lcd_string:F19",36,0,0,',0,0,offset _lcd_string,seg _lcd_string,0x0d,0x0a
.CODE
.public _lcd_string
_lcd_string:	.proc
.debug
	.dw '.stabn 0x44,0,134,',0,0
	.dd LM107-_lcd_string
	.dw 0x0d,0x0a
.code
LM107:
	// total=2, vars=2
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=2
	bp=sp+1

	R1=BP+5
	[bp+1]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,134,',0,0
	.dd LM108-_lcd_string
	.dw 0x0d,0x0a
.code
LM108:
LBB6:
	R1=0	// QImode move
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,135,',0,0
	.dd LM109-_lcd_string
	.dw 0x0d,0x0a
.code
LM109:
L69:
	R3=[bp+1]	// QImode move
	R2=[R3]	// QImode move
	R1=R2	// QImode move
	R1 = R1 + [BP]	//addqi3
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	CMP R2,0	// QImode test
	NSJNZ L71	//QImode NE
	pc=L70	// Indirect jump
L71:
.debug
	.dw '.stabn 0x44,0,136,',0,0
	.dd LM110-_lcd_string
	.dw 0x0d,0x0a
.code
LM110:
	R1=[bp+1]	// QImode move
	R2=[R1]	// QImode move
	R1=R2	// QImode move
	R1 = R1 + [BP]	//addqi3
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	[SP--]=R2	// QImode move
	call _lcd_wrdata	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,137,',0,0
	.dd LM111-_lcd_string
	.dw 0x0d,0x0a
.code
LM111:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,138,',0,0
	.dd LM112-_lcd_string
	.dw 0x0d,0x0a
.code
LM112:
	R1=1	// QImode move
	[28690]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,139,',0,0
	.dd LM113-_lcd_string
	.dw 0x0d,0x0a
.code
LM113:
	pc=L69	// Indirect jump
L70:
.debug
	.dw '.stabn 0x44,0,140,',0,0
	.dd LM114-_lcd_string
	.dw 0x0d,0x0a
.code
LM114:
LBE6:
.debug
	.dw '.stabn 0x44,0,140,',0,0
	.dd LM115-_lcd_string
	.dw 0x0d,0x0a
.code
LM115:
L68:

	sp+=2
	pop bp from [sp]
	retf
	.endp	// end of lcd_string

.debug
	.dw '.stabs "strpoint:p21=*4",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB6-_lcd_string
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "i:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE6-_lcd_string
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME10-_lcd_string
	.dw 0x0d,0x0a
.code
LME10:
.code
.debug
	.dw '.stabs "lcd_init:F19",36,0,0,',0,0,offset _lcd_init,seg _lcd_init,0x0d,0x0a
.CODE
.public _lcd_init
_lcd_init:	.proc
.debug
	.dw '.stabn 0x44,0,142,',0,0
	.dd LM116-_lcd_init
	.dw 0x0d,0x0a
.code
LM116:
	// total=1, vars=1
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=1
	bp=sp+1

	R1=BP+4
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,142,',0,0
	.dd LM117-_lcd_init
	.dw 0x0d,0x0a
.code
LM117:
	R1=56	// QImode move
	[SP--]=R1	// QImode move
	call _lcd_wrcmd	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,143,',0,0
	.dd LM118-_lcd_init
	.dw 0x0d,0x0a
.code
LM118:
	R1=12	// QImode move
	[SP--]=R1	// QImode move
	call _lcd_wrcmd	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,144,',0,0
	.dd LM119-_lcd_init
	.dw 0x0d,0x0a
.code
LM119:
	R1=6	// QImode move
	[SP--]=R1	// QImode move
	call _lcd_wrcmd	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,145,',0,0
	.dd LM120-_lcd_init
	.dw 0x0d,0x0a
.code
LM120:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _lcd_wrcmd	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,146,',0,0
	.dd LM121-_lcd_init
	.dw 0x0d,0x0a
.code
LM121:
	R1=0	// QImode move
	[_lcdcounter]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,147,',0,0
	.dd LM122-_lcd_init
	.dw 0x0d,0x0a
.code
LM122:
.debug
	.dw '.stabn 0x44,0,147,',0,0
	.dd LM123-_lcd_init
	.dw 0x0d,0x0a
.code
LM123:
L73:

	sp+=1
	pop bp from [sp]
	retf
	.endp	// end of lcd_init

.debug
	.dw '.stabf ',0,0
	.dd LME11-_lcd_init
	.dw 0x0d,0x0a
.code
LME11:
.code
.debug
	.dw '.stabs "lcd_cls:F19",36,0,0,',0,0,offset _lcd_cls,seg _lcd_cls,0x0d,0x0a
.CODE
.public _lcd_cls
_lcd_cls:	.proc
.debug
	.dw '.stabn 0x44,0,149,',0,0
	.dd LM124-_lcd_cls
	.dw 0x0d,0x0a
.code
LM124:
	// total=1, vars=1
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=1
	bp=sp+1

	R1=BP+4
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,149,',0,0
	.dd LM125-_lcd_cls
	.dw 0x0d,0x0a
.code
LM125:
	R1=1	// QImode move
	[SP--]=R1	// QImode move
	call _lcd_wrcmd	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,150,',0,0
	.dd LM126-_lcd_cls
	.dw 0x0d,0x0a
.code
LM126:
	R1=0	// QImode move
	[_lcdcounter]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,151,',0,0
	.dd LM127-_lcd_cls
	.dw 0x0d,0x0a
.code
LM127:
.debug
	.dw '.stabn 0x44,0,151,',0,0
	.dd LM128-_lcd_cls
	.dw 0x0d,0x0a
.code
LM128:
L74:

	sp+=1
	pop bp from [sp]
	retf
	.endp	// end of lcd_cls

.debug
	.dw '.stabf ',0,0
	.dd LME12-_lcd_cls
	.dw 0x0d,0x0a
.code
LME12:
.code
.debug
	.dw '.stabs "PortInit:F19",36,0,0,',0,0,offset _PortInit,seg _PortInit,0x0d,0x0a
.CODE
.public _PortInit
_PortInit:	.proc
.debug
	.dw '.stabn 0x44,0,154,',0,0
	.dd LM129-_PortInit
	.dw 0x0d,0x0a
.code
LM129:
	// total=0, vars=0
	// frame_pointer_needed: 1
	push bp to [sp]
	bp=sp+1

	R1=BP+3
.debug
	.dw '.stabn 0x44,0,155,',0,0
	.dd LM130-_PortInit
	.dw 0x0d,0x0a
.code
LM130:
	R2=(-65)	// QImode move
	[28674]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,156,',0,0
	.dd LM131-_PortInit
	.dw 0x0d,0x0a
.code
LM131:
	R2=(-1)	// QImode move
	[28675]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,157,',0,0
	.dd LM132-_PortInit
	.dw 0x0d,0x0a
.code
LM132:
	R2=(-1)	// QImode move
	[28672]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,158,',0,0
	.dd LM133-_PortInit
	.dw 0x0d,0x0a
.code
LM133:
	R2=(-65)	// QImode move
	[28673]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,160,',0,0
	.dd LM134-_PortInit
	.dw 0x0d,0x0a
.code
LM134:
	R2=(-1)	// QImode move
	[28679]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,161,',0,0
	.dd LM135-_PortInit
	.dw 0x0d,0x0a
.code
LM135:
	R2=(-1)	// QImode move
	[28680]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,162,',0,0
	.dd LM136-_PortInit
	.dw 0x0d,0x0a
.code
LM136:
	R2=(-1)	// QImode move
	[28677]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,164,',0,0
	.dd LM137-_PortInit
	.dw 0x0d,0x0a
.code
LM137:
.debug
	.dw '.stabn 0x44,0,164,',0,0
	.dd LM138-_PortInit
	.dw 0x0d,0x0a
.code
LM138:
L75:

	pop bp from [sp]
	retf
	.endp	// end of PortInit

.debug
	.dw '.stabf ',0,0
	.dd LME13-_PortInit
	.dw 0x0d,0x0a
.code
LME13:
.code
.debug
	.dw '.stabs "lcd_test:F19",36,0,0,',0,0,offset _lcd_test,seg _lcd_test,0x0d,0x0a
.CODE
.public _lcd_test
_lcd_test:	.proc
.debug
	.dw '.stabn 0x44,0,167,',0,0
	.dd LM139-_lcd_test
	.dw 0x0d,0x0a
.code
LM139:
	// total=2, vars=2
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=2
	bp=sp+1

	R1=BP+5
	[bp+1]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,167,',0,0
	.dd LM140-_lcd_test
	.dw 0x0d,0x0a
.code
LM140:
LBB7:
.debug
	.dw '.stabn 0x44,0,168,',0,0
	.dd LM141-_lcd_test
	.dw 0x0d,0x0a
.code
LM141:
	call _lcd_init	// call without return value
.debug
	.dw '.stabn 0x44,0,169,',0,0
	.dd LM142-_lcd_test
	.dw 0x0d,0x0a
.code
LM142:
	R1=0	// QImode move
	[BP]=R1	// QImode move
L77:
	R1=[BP]	// QImode move
	CMP R1,31	// QImode compare
	NSJNA L80	//QImode LEU
	pc=L78	// Indirect jump
L80:
	R1=[bp+1]	// QImode move
	R2=[R1]	// QImode move
	R1=R2	// QImode move
	R1 = R1 + [BP]	//addqi3
	[SP--]=R1	// QImode move
	call _lcd_wrdata	// call without return value
	SP = SP + 1	//SP
L79:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	pc=L77	// Indirect jump
L78:
.debug
	.dw '.stabn 0x44,0,170,',0,0
	.dd LM143-_lcd_test
	.dw 0x0d,0x0a
.code
LM143:
	R1=100	// QImode move
	[SP--]=R1	// QImode move
	call _hard_10ms	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,171,',0,0
	.dd LM144-_lcd_test
	.dw 0x0d,0x0a
.code
LM144:
LBE7:
.debug
	.dw '.stabn 0x44,0,171,',0,0
	.dd LM145-_lcd_test
	.dw 0x0d,0x0a
.code
LM145:
L76:

	sp+=2
	pop bp from [sp]
	retf
	.endp	// end of lcd_test

.debug
	.dw '.stabs "data1:p4",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB7-_lcd_test
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "j:4",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE7-_lcd_test
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME14-_lcd_test
	.dw 0x0d,0x0a
.code
LME14:
.text
LC0:
	.str 'N', 'i', 'e', 'x', 'o', 'i', 'n', 'g', ',', 'W', 'h', 'o', ' ', 'a', 'r', 'e', 'y', 'o', 'u', '.'
	.str ' ', '2', '0', '0', '6', '.', '1', '1', '.', '1', '8', '.', 0
	// length = 33
.code
.debug
	.dw '.stabs "main:F1",36,0,0,',0,0,offset _main,seg _main,0x0d,0x0a
.CODE
.public _main
_main:	.proc
.debug
	.dw '.stabn 0x44,0,174,',0,0
	.dd LM146-_main
	.dw 0x0d,0x0a
.code
LM146:
	// total=2, vars=2
	// frame_pointer_needed: 1
	push bp to [sp]
	sp-=2
	bp=sp+1

	R1=BP+5
	[bp+1]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,175,',0,0
	.dd LM147-_main
	.dw 0x0d,0x0a
.code
LM147:
LBB8:
.debug
	.dw '.stabn 0x44,0,177,',0,0
	.dd LM148-_main
	.dw 0x0d,0x0a
.code
LM148:
	call _PortInit	// call without return value
.debug
	.dw '.stabn 0x44,0,178,',0,0
	.dd LM149-_main
	.dw 0x0d,0x0a
.code
LM149:
	call _lcd_init	// call without return value
	call _soft_20ms	// call without return value
.debug
	.dw '.stabn 0x44,0,179,',0,0
	.dd LM150-_main
	.dw 0x0d,0x0a
.code
LM150:
	R1=48	// QImode move
	[SP--]=R1	// QImode move
	call _lcd_test	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,180,',0,0
	.dd LM151-_main
	.dw 0x0d,0x0a
.code
LM151:
L83:
	pc=L85	// Indirect jump
	pc=L84	// Indirect jump
L85:
.debug
	.dw '.stabn 0x44,0,182,',0,0
	.dd LM152-_main
	.dw 0x0d,0x0a
.code
LM152:
	call _lcd_init	// call without return value
.debug
	.dw '.stabn 0x44,0,184,',0,0
	.dd LM153-_main
	.dw 0x0d,0x0a
.code
LM153:
	R1=LC0	// QImode move
	[SP--]=R1	// QImode move
	call _lcd_string	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,185,',0,0
	.dd LM154-_main
	.dw 0x0d,0x0a
.code
LM154:
	R1=500	// QImode move
	[SP--]=R1	// QImode move
	call _hard_10ms	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,186,',0,0
	.dd LM155-_main
	.dw 0x0d,0x0a
.code
LM155:
	R1=64	// QImode move
	[SP--]=R1	// QImode move
	call _lcd_test	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,187,',0,0
	.dd LM156-_main
	.dw 0x0d,0x0a
.code
LM156:
	R1=500	// QImode move
	[SP--]=R1	// QImode move
	call _hard_10ms	// call without return value
	SP = SP + 1	//SP
.debug
	.dw '.stabn 0x44,0,188,',0,0
	.dd LM157-_main
	.dw 0x0d,0x0a
.code
LM157:
	R1=1	// QImode move
	[28690]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,189,',0,0
	.dd LM158-_main
	.dw 0x0d,0x0a
.code
LM158:
	pc=L83	// Indirect jump
L84:
.debug
	.dw '.stabn 0x44,0,190,',0,0
	.dd LM159-_main
	.dw 0x0d,0x0a
.code
LM159:
LBE8:
.debug
	.dw '.stabn 0x44,0,190,',0,0
	.dd LM160-_main
	.dw 0x0d,0x0a
.code
LM160:
L82:

	sp+=2
	pop bp from [sp]
	retf
	.endp	// end of main

.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB8-_main
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "j:4",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE8-_main
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME15-_main
	.dw 0x0d,0x0a
.code
LME15:
.iram
.public _sys10mscounter
_sys10mscounter:
	.dw 0
.iram
.public _lcdcounter
_lcdcounter:
	.dw 0
.iram
.public _lcdusing1
_lcdusing1:
	.dw 0
.iram
.public _lcdusing2
_lcdusing2:
	.dw 0
	.end

⌨️ 快捷键说明

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