lcd_dis.asm

来自「彩色LCD资料」· 汇编 代码 · 共 3,085 行 · 第 1/4 页

ASM
3,085
字号
	[SP--]=R1	// QImode move
	R4=[BP]	// QImode move
	R1=[R4]	// QImode move
	[SP--]=R1	// QImode move
	CALL _PutChar	// call without return value
	SP = SP + 3	//SP
.debug
	.dw '.stabn 0x44,0,140,',0,0
	.dd LM50-_PutString
	.dw 0x0d,0x0a
.code
LM50:
	R2=[BP]	// QImode move
	R1=[R2]	// QImode move
	R2=R1	// QImode move
	R2 = R2 + [_X_Witch]	//addqi3
	R3=[BP]	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,141,',0,0
	.dd LM51-_PutString
	.dw 0x0d,0x0a
.code
LM51:
	R4=[BP]	// QImode move
	R2=[R4]	// QImode move
	R1=R2	// QImode move
	R1 = R1 + [_X_Witch]	//addqi3
	CMP R1,239	// QImode compare
	NSJNG L37	//QImode LE
.debug
	.dw '.stabn 0x44,0,143,',0,0
	.dd LM52-_PutString
	.dw 0x0d,0x0a
.code
LM52:
	R1=0	// QImode move
	R2=[BP]	// QImode move
	[R2]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,144,',0,0
	.dd LM53-_PutString
	.dw 0x0d,0x0a
.code
LM53:
	R2=[BP]	// QImode move
	R3=[BP]	// QImode move
	R1=R3+1
	R3=319	// QImode move
	R2=R3	// QImode move
	R4=R1	// QImode move
	R2-=[R4]	// subqi3_r0R R2=R2-[R4]
	CMP R2,[_Y_Witch]	// QImode compare
	NSJNL L38	//QImode GE
	PC=L35	// jump
	PC=L37	// jump
L38:
.debug
	.dw '.stabn 0x44,0,145,',0,0
	.dd LM54-_PutString
	.dw 0x0d,0x0a
.code
LM54:
	R2=[BP]	// QImode move
	R2=[BP]	// QImode move
	R1=R2+1
	R2=[BP]	// QImode move
	R4=[BP]	// QImode move
	R3=R4+1
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R2	// QImode move
	R3 = R3 + [_Y_Witch]	//addqi3
	R2=R1	// QImode move
	[R2]=R3	// QImode move
L39:
L37:
.debug
	.dw '.stabn 0x44,0,147,',0,0
	.dd LM55-_PutString
	.dw 0x0d,0x0a
.code
LM55:
	R1=[BP]	// QImode move
	R3=[BP]	// QImode move
	R2=R3+2
	R3=[BP]	// QImode move
	R4=[BP]	// QImode move
	R1=R4+2
	R2=[BP]	// QImode move
	R2=[BP]	// QImode move
	R3=R2+2
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R2+1
	R2=R1	// QImode move
	[R2]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,148,',0,0
	.dd LM56-_PutString
	.dw 0x0d,0x0a
.code
LM56:
	PC=L34	// jump
L35:
.debug
	.dw '.stabn 0x44,0,149,',0,0
	.dd LM57-_PutString
	.dw 0x0d,0x0a
.code
LM57:
.debug
	.dw '.stabn 0x44,0,149,',0,0
	.dd LM58-_PutString
	.dw 0x0d,0x0a
.code
LM58:
L33:

	SP+=1
	POP BP from [SP]
	RETF
	.endp	// end of PutString

.debug
	.dw '.stabs "x:p1",160,0,0,4',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "y:p1",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "p:p21=*2",160,0,0,6',0x0d,0x0a
.CODE
.debug
	.dw '.stabf ',0,0
	.dd LME3-_PutString
	.dw 0x0d,0x0a
.code
LME3:
.code
.debug
	.dw '.stabs "SetPaintMode:F19",36,0,0,',0,0,offset _SetPaintMode,seg _SetPaintMode,0x0d,0x0a
.CODE
.public _SetPaintMode
_SetPaintMode:	.proc
.debug
	.dw '.stabn 0x44,0,200,',0,0
	.dd LM59-_SetPaintMode
	.dw 0x0d,0x0a
.code
LM59:
	// total=0, vars=0
	// frame_pointer_needed: 1
.debug
	.dw '.stabn 0xa6,0,0,0',0x0d, 0x0a
.code
	PUSH BP to [SP]
	BP=SP+1

	R1=BP+3
.debug
	.dw '.stabn 0x44,0,201,',0,0
	.dd LM60-_SetPaintMode
	.dw 0x0d,0x0a
.code
LM60:
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	[_Plot_Mode]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,202,',0,0
	.dd LM61-_SetPaintMode
	.dw 0x0d,0x0a
.code
LM61:
	R2=R1	// QImode move
	R3=R1+1
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	[_BMP_Color]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,203,',0,0
	.dd LM62-_SetPaintMode
	.dw 0x0d,0x0a
.code
LM62:
.debug
	.dw '.stabn 0x44,0,203,',0,0
	.dd LM63-_SetPaintMode
	.dw 0x0d,0x0a
.code
LM63:
L43:

	POP BP from [SP]
	RETF
	.endp	// end of SetPaintMode

.debug
	.dw '.stabs "Mode:p1",160,0,0,3',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "Color:p4",160,0,0,4',0x0d,0x0a
.CODE
.debug
	.dw '.stabf ',0,0
	.dd LME4-_SetPaintMode
	.dw 0x0d,0x0a
.code
LME4:
.code
.debug
	.dw '.stabs "PutPixel:F19",36,0,0,',0,0,offset _PutPixel,seg _PutPixel,0x0d,0x0a
.CODE
.public _PutPixel
_PutPixel:	.proc
.debug
	.dw '.stabn 0x44,0,214,',0,0
	.dd LM64-_PutPixel
	.dw 0x0d,0x0a
.code
LM64:
	// total=1, vars=1
	// frame_pointer_needed: 1
.debug
	.dw '.stabn 0xa6,0,0,1',0x0d, 0x0a
.code
	PUSH BP to [SP]
	SP-=1
	BP=SP+1

	R1=BP+4
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,215,',0,0
	.dd LM65-_PutPixel
	.dw 0x0d,0x0a
.code
LM65:
	R1=[_BMP_Color]	// QImode move
	[SP--]=R1	// QImode move
	R1=[BP]	// QImode move
	R3=[BP]	// QImode move
	R2=R3+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R2=[BP]	// QImode move
	R1=[R2]	// QImode move
	[SP--]=R1	// QImode move
	CALL _Write_Dot_LCD	// call without return value
	SP = SP + 3	//SP
.debug
	.dw '.stabn 0x44,0,216,',0,0
	.dd LM66-_PutPixel
	.dw 0x0d,0x0a
.code
LM66:
.debug
	.dw '.stabn 0x44,0,216,',0,0
	.dd LM67-_PutPixel
	.dw 0x0d,0x0a
.code
LM67:
L44:

	SP+=1
	POP BP from [SP]
	RETF
	.endp	// end of PutPixel

.debug
	.dw '.stabs "x:p1",160,0,0,4',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "y:p1",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabf ',0,0
	.dd LME5-_PutPixel
	.dw 0x0d,0x0a
.code
LME5:
.code
.debug
	.dw '.stabs "Line:F19",36,0,0,',0,0,offset _Line,seg _Line,0x0d,0x0a
.CODE
.public _Line
_Line:	.proc
.debug
	.dw '.stabn 0x44,0,227,',0,0
	.dd LM68-_Line
	.dw 0x0d,0x0a
.code
LM68:
	// total=8, vars=8
	// frame_pointer_needed: 1
.debug
	.dw '.stabn 0xa6,0,0,8',0x0d, 0x0a
.code
	PUSH BP to [SP]
	SP-=8
	BP=SP+1

	R1=BP+11
	[BP+4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,228,',0,0
	.dd LM69-_Line
	.dw 0x0d,0x0a
.code
LM69:
LBB3:
	R1=BP	// QImode move
	R2=BP+2
	R1=0	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,229,',0,0
	.dd LM70-_Line
	.dw 0x0d,0x0a
.code
LM70:
	R1=BP	// QImode move
	R2=BP+3
	R1=1	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,230,',0,0
	.dd LM71-_Line
	.dw 0x0d,0x0a
.code
LM71:
	R2=[BP+4]	// QImode move
	R2=[BP+4]	// QImode move
	R1=R2+1
	R2=[BP+4]	// QImode move
	R4=[BP+4]	// QImode move
	R3=R4+3
	R2=R1	// QImode move
	R1=[R2]	// QImode move
	R4=R3	// QImode move
	CMP R1,[R4]	// QImode compare
	NSJNG L46	//QImode LE
.debug
	.dw '.stabn 0x44,0,232,',0,0
	.dd LM72-_Line
	.dw 0x0d,0x0a
.code
LM72:
	R2=[BP+4]	// QImode move
	R1=[R2]	// QImode move
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,233,',0,0
	.dd LM73-_Line
	.dw 0x0d,0x0a
.code
LM73:
	R1=[BP+4]	// QImode move
	R3=[BP+4]	// QImode move
	R2=R3+2
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	R2=[BP+4]	// QImode move
	[R2]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,234,',0,0
	.dd LM74-_Line
	.dw 0x0d,0x0a
.code
LM74:
	R1=[BP+4]	// QImode move
	R3=[BP+4]	// QImode move
	R2=R3+2
	R1=[BP]	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,235,',0,0
	.dd LM75-_Line
	.dw 0x0d,0x0a
.code
LM75:
	R1=[BP+4]	// QImode move
	R1=[BP+4]	// QImode move
	R2=R1+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,236,',0,0
	.dd LM76-_Line
	.dw 0x0d,0x0a
.code
LM76:
	R2=[BP+4]	// QImode move
	R4=[BP+4]	// QImode move
	R1=R4+1
	R2=[BP+4]	// QImode move
	R2=[BP+4]	// QImode move
	R3=R2+3
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,237,',0,0
	.dd LM77-_Line
	.dw 0x0d,0x0a
.code
LM77:
	R1=[BP+4]	// QImode move
	R4=[BP+4]	// QImode move
	R2=R4+3
	R1=[BP]	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
L46:
.debug
	.dw '.stabn 0x44,0,239,',0,0
	.dd LM78-_Line
	.dw 0x0d,0x0a
.code
LM78:
	R1=[BP+4]	// QImode move
	R4=[BP+4]	// QImode move
	R2=R4+2
	R1=R2	// QImode move
	R3=[R1]	// QImode move
	R1=R3	// QImode move
	R2=[BP+4]	// QImode move
	R1-=[R2]	// subqi3_r0R R1=R1-[R2]
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,240,',0,0
	.dd LM79-_Line
	.dw 0x0d,0x0a
.code
LM79:
	R2=BP	// QImode move
	R1=BP+1
	R3=[BP+4]	// QImode move
	R3=[BP+4]	// QImode move
	R2=R3+3
	R4=[BP+4]	// QImode move
	R4=[BP+4]	// QImode move
	R3=R4+1
	R4=R2	// QImode move
	R4=[R4]	// QImode move
	[BP+7]=R4	// QImode move
	R2=[BP+7]	// QImode move
	R4=R3	// QImode move
	R2-=[R4]	// subqi3_r0R R2=R2-[R4]
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,241,',0,0
	.dd LM80-_Line
	.dw 0x0d,0x0a
.code
LM80:
	R1=[_BMP_Color]	// QImode move
	[SP--]=R1	// QImode move
	R1=[BP+4]	// QImode move
	R4=[BP+4]	// QImode move
	R2=R4+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R4=[BP+4]	// QImode move
	R1=[R4]	// QImode move
	[SP--]=R1	// QImode move
	CALL _Write_Dot_LCD	// call without return value
	SP = SP + 3	//SP
.debug
	.dw '.stabn 0x44,0,242,',0,0
	.dd LM81-_Line
	.dw 0x0d,0x0a
.code
LM81:
	R1=[BP]	// QImode move
	CMP R1,0	// QImode test
	NSJG L47	//QImode GT
.debug
	.dw '.stabn 0x44,0,244,',0,0
	.dd LM82-_Line
	.dw 0x0d,0x0a
.code
LM82:
	R2=[BP+4]	// QImode move
	R2=[BP+4]	// QImode move
	R1=R2+2
	R4=[BP+4]	// QImode move
	R3=[R4]	// QImode move
	R2=R3	// QImode move
	R3=R1	// QImode move
	R2-=[R3]	// subqi3_r0R R2=R2-[R3]
	[BP]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,245,',0,0
	.dd LM83-_Line
	.dw 0x0d,0x0a
.code
LM83:
	R1=BP	// QImode move
	R2=BP+3
	R1=(-1)	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
L47:
.debug
	.dw '.stabn 0x44,0,247,',0,0
	.dd LM84-_Line
	.dw 0x0d,0x0a
.code
LM84:
	R1=BP	// QImode move
	R2=BP+1
	R1=[BP]	// QImode move
	R3=R2	// QImode move
	CMP R1,[R3]	// QImode compare
	NSJNG L48	//QImode LE
.debug
	.dw '.stabn 0x44,0,249,',0,0
	.dd LM85-_Line
	.dw 0x0d,0x0a
.code
LM85:
L49:
	R1=[BP+4]	// QImode move
	R4=[BP+4]	// QImode move
	R2=R4+2
	R3=[BP+4]	// QImode move
	R1=[R3]	// QImode move
	R4=R2	// QImode move
	CMP R1,[R4]	// QImode compare
	NSJNZ L51	//QImode NE
	PC=L50	// jump
L51:
.debug
	.dw '.stabn 0x44,0,251,',0,0
	.dd LM86-_Line
	.dw 0x0d,0x0a
.code
LM86:
	R1=BP	// QImode move
	R2=BP+2
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	CMP R1,0	// QImode test
	NSJNG L52	//QImode LE
.debug
	.dw '.stabn 0x44,0,253,',0,0
	.dd LM87-_Line
	.dw 0x0d,0x0a
.code
LM87:
	R2=[BP+4]	// QImode move
	R4=[BP+4]	// QImode move
	R1=R4+1
	R2=[BP+4]	// QImode move
	R2=[BP+4]	// QImode move
	R3=R2+1
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R2+1
	R2=R1	// QImode move
	[R2]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,254,',0,0
	.dd LM88-_Line
	.dw 0x0d,0x0a
.code
LM88:
	R2=BP	// QImode move
	R1=BP+2
	R3=BP	// QImode move
	R2=BP+2
	R3=BP	// QImode move
	R4=BP+1
	R3=R4	// QImode move
	R3=[R3]	// QImode move
	[BP+5]=R3	// QImode move
	R3=[BP+5]	// QImode move
	R3-=[BP]	// subqi3_r0R R3=R3-[BP]
	R4=R2	// QImode move
	R4=[R4]	// QImode move
	[BP+7]=R4	// QImode move
	R2=[BP+7]	// QImode move
	R2 = R2 + R3	//addqi3
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,255,',0,0
	.dd LM89-_Line
	.dw 0x0d,0x0a
.code
LM89:
	PC=L53	// jump
L52:
.debug
	.dw '.stabn 0x44,0,256,',0,0
	.dd LM90-_Line
	.dw 0x0d,0x0a
.code
LM90:
	R2=BP	// QImode move
	R1=BP+2
	R3=BP	// QImode move
	R2=BP+2
	R4=BP	// QImode move
	R3=BP+1
	R4=R2	// QImode move
	R4=[R4]	// QImode move
	[BP+7]=R4	// QImode move
	R2=[BP+7]	// QImode move
	R4=R3	// QImode move
	R2 = R2 + [R4]	//addqi3
	R3=R1	// QImode move
	[R3]=R2	// QImode move
L53:
.debug
	.dw '.stabn 0x44,0,257,',0,0
	.dd LM91-_Line
	.dw 0x0d,0x0a
.code
LM91:
	R2=BP	// QImode move
	R1=BP+3
	R4=[BP+4]	// QImode move
	R3=[R4]	// QImode move
	R2=R3	// QImode move
	R3=R1	// QImode move
	R2 = R2 + [R3]	//addqi3
	R4=[BP+4]	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,258,',0,0
	.dd LM92-_Line
	.dw 0x0d,0x0a
.code
LM92:
	R2=[BP+4]	// QImode move
	R1=[R2]	// QImode move
	CMP R1,239	// QImode compare
	NSJG L55	//QImode GT
	R1=[BP+4]	// QImode move
	R3=[BP+4]	// QImode move
	R2=R3+1
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	CMP R1,319	// QImode compare
	NSJG L55	//QImode GT
	PC=L54	// jump
L55:
	PC=L50	// jump
L54:
.debug
	.dw '.stabn 0x44,0,259,',0,0
	.dd LM93-_Line
	.dw 0x0d,0x0a
.code
LM93:
	R1=[_BMP_Color]	// QImode move
	[SP--]=R1	// QImode move
	R1=[BP+4]	// QImode move
	R1=[BP+4]	// QImode move
	R2=R1+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R4=[BP+4]	// QImode move
	R1=[R4]	// QImode move
	[SP--]=R1	// QImode move
	CALL _Write_Dot_LCD	// call without return value
	SP = SP + 3	//SP
.debug
	.dw '.stabn 0x44,0,260,',0,0
	.dd LM94-_Line
	.dw 0x0d,0x0a
.code
LM94:
	PC=L49	// jump
L50:
.debug
	.dw '.stabn 0x44,0,261,',0,0
	.dd LM95-_Line
	.dw 0x0d,0x0a
.code
LM95:
	PC=L56	// jump
L48:
.debug
	.dw '.stabn 0x44,0,264,',0,0
	.dd LM96-_Line
	.dw 0x0d,0x0a
.code
LM96:
L57:
	R2=[BP+4]	// QImode move
	R2=[BP+4]	// QImode move
	R1=R2+1
	R2=[BP+4]	// QImode move
	R4=[BP+4]	// QImode move
	R3=R4+3
	R2=R1	// QImode move
	R1=[R2]	// QImode move
	R4=R3	// QImode move
	CMP R1,[R4]	// QImode compare
	NSJNZ L59	//QImode NE
	PC=L56	// jump
L59:
.debug
	.dw '.stabn 0x44,0,266,',0,0
	.dd LM97-_Line
	.dw 0x0d,0x0a
.code
LM97:
	R1=BP	// QImode move
	R2=BP+2
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	CMP R1,0	// QImode test
	NSJNG L60	//QImode LE
.debug
	.dw '.stabn 0x44,0,268,',0,0
	.dd LM98-_Line
	.dw 0x0d,0x0a
.code
LM98:
	R2=BP	// QImode move
	R1=BP+3
	R4=[BP+4]	// QImode move
	R3=[R4]	// QImode move
	R2=R3	// QImode move
	R3=R1	// QImode move
	R2 = R2 + [R3]	//addqi3
	R4=[BP+4]	// QImode move
	[R4]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,269,',0,0
	.dd LM99-_Line
	.dw 0x0d,0x0a
.code
LM99:
	R2=BP	// QImode move
	R1=BP+2
	R3=BP	// QImode move
	R2=BP+2
	R3=BP	// QImode move
	R3=BP+1
	[BP+7]=R3	// QImode move
	R4=[BP]	// QImode move
	[BP+6]=R4	// QImode move
	R3=[BP+6]	// QImode move
	R4=[BP+7]	// QImode move
	R3-=[R4]	// subqi3_r0R R3=R3-[R4]
	R4=R2	// QImode move
	R4=[R4]	// QImode move
	[BP+7]=R4	// QImode move
	R2=[BP+7]	// QImode move
	R2 = R2 + R3	//addqi3
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,270,',0,0
	.dd LM100-_Line
	.dw 0x0d,0x0a
.code

⌨️ 快捷键说明

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