lcd_dis.asm

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

ASM
3,085
字号
LM100:
	PC=L61	// jump
L60:
.debug
	.dw '.stabn 0x44,0,271,',0,0
	.dd LM101-_Line
	.dw 0x0d,0x0a
.code
LM101:
	R2=BP	// QImode move
	R1=BP+2
	R2=BP	// QImode move
	R3=BP+2
	R2=R3	// QImode move
	R4=[R2]	// QImode move
	R2=R4	// QImode move
	R2 = R2 + [BP]	//addqi3
	R3=R1	// QImode move
	[R3]=R2	// QImode move
L61:
.debug
	.dw '.stabn 0x44,0,272,',0,0
	.dd LM102-_Line
	.dw 0x0d,0x0a
.code
LM102:
	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,273,',0,0
	.dd LM103-_Line
	.dw 0x0d,0x0a
.code
LM103:
	R3=[BP+4]	// QImode move
	R1=[R3]	// QImode move
	CMP R1,238	// QImode compare
	NSJG L63	//QImode GT
	R1=[BP+4]	// QImode move
	R4=[BP+4]	// QImode move
	R2=R4+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	CMP R1,318	// QImode compare
	NSJG L63	//QImode GT
	PC=L62	// jump
L63:
	PC=L56	// jump
L62:
.debug
	.dw '.stabn 0x44,0,274,',0,0
	.dd LM104-_Line
	.dw 0x0d,0x0a
.code
LM104:
	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,275,',0,0
	.dd LM105-_Line
	.dw 0x0d,0x0a
.code
LM105:
	PC=L57	// jump
L58:
L56:
.debug
	.dw '.stabn 0x44,0,277,',0,0
	.dd LM106-_Line
	.dw 0x0d,0x0a
.code
LM106:
LBE3:
.debug
	.dw '.stabn 0x44,0,277,',0,0
	.dd LM107-_Line
	.dw 0x0d,0x0a
.code
LM107:
L45:

	SP+=8
	POP BP from [SP]
	RETF
	.endp	// end of Line

.debug
	.dw '.stabs "s_x:p1",160,0,0,11',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "s_y:p1",160,0,0,12',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "e_x:p1",160,0,0,13',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "e_y:p1",160,0,0,14',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB3-_Line
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "Offset_x:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "Offset_y:1",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "Offset_k:1",128,0,0,2',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "Err_d:1",128,0,0,3',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE3-_Line
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME6-_Line
	.dw 0x0d,0x0a
.code
LME6:
.code
.debug
	.dw '.stabs "W_Red_Dot:F19",36,0,0,',0,0,offset _W_Red_Dot,seg _W_Red_Dot,0x0d,0x0a
.CODE
.public _W_Red_Dot
_W_Red_Dot:	.proc
.debug
	.dw '.stabn 0x44,0,310,',0,0
	.dd LM108-_W_Red_Dot
	.dw 0x0d,0x0a
.code
LM108:
	// 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,311,',0,0
	.dd LM109-_W_Red_Dot
	.dw 0x0d,0x0a
.code
LM109:
	R1=[BP]	// QImode move
	R3=[BP]	// QImode move
	R2=R3+4
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	CMP R1,0	// QImode test
	NSJNG L76	//QImode LE
.debug
	.dw '.stabn 0x44,0,313,',0,0
	.dd LM110-_W_Red_Dot
	.dw 0x0d,0x0a
.code
LM110:
	R2=[BP]	// QImode move
	R2=[BP]	// QImode move
	R1=R2+1
	R3=[BP]	// QImode move
	R3=[BP]	// QImode move
	R2=R3+3
	R4=R1	// QImode move
	R3=[R4]	// QImode move
	R1=R3	// QImode move
	R3=R2	// QImode move
	R1 = R1 + [R3]	//addqi3
	[SP--]=R1	// QImode move
	R2=[BP]	// QImode move
	R4=[BP]	// QImode move
	R1=R4+2
	R2=[BP]	// QImode move
	R3=[R2]	// QImode move
	R2=R3	// QImode move
	R3=R1	// QImode move
	R2-=[R3]	// subqi3_r0R R2=R2-[R3]
	[SP--]=R2	// QImode move
	R2=[BP]	// QImode move
	R4=[BP]	// QImode move
	R1=R4+1
	R3=[BP]	// QImode move
	R3=[BP]	// QImode move
	R2=R3+3
	R4=R1	// QImode move
	R3=[R4]	// QImode move
	R1=R3	// QImode move
	R3=R2	// QImode move
	R1 = R1 + [R3]	//addqi3
	[SP--]=R1	// QImode move
	R2=[BP]	// QImode move
	R4=[BP]	// QImode move
	R1=R4+2
	R2=[BP]	// QImode move
	R3=[R2]	// QImode move
	R2=R3	// QImode move
	R3=R1	// QImode move
	R2 = R2 + [R3]	//addqi3
	[SP--]=R2	// QImode move
	CALL _Line	// call without return value
	SP = SP + 4	//SP
.debug
	.dw '.stabn 0x44,0,314,',0,0
	.dd LM111-_W_Red_Dot
	.dw 0x0d,0x0a
.code
LM111:
	R2=[BP]	// QImode move
	R4=[BP]	// QImode move
	R1=R4+1
	R3=[BP]	// QImode move
	R3=[BP]	// QImode move
	R2=R3+3
	R4=R1	// QImode move
	R3=[R4]	// QImode move
	R1=R3	// QImode move
	R3=R2	// QImode move
	R1-=[R3]	// subqi3_r0R R1=R1-[R3]
	[SP--]=R1	// QImode move
	R2=[BP]	// QImode move
	R4=[BP]	// QImode move
	R1=R4+2
	R2=[BP]	// QImode move
	R3=[R2]	// QImode move
	R2=R3	// QImode move
	R3=R1	// QImode move
	R2-=[R3]	// subqi3_r0R R2=R2-[R3]
	[SP--]=R2	// QImode move
	R2=[BP]	// QImode move
	R4=[BP]	// QImode move
	R1=R4+1
	R3=[BP]	// QImode move
	R3=[BP]	// QImode move
	R2=R3+3
	R4=R1	// QImode move
	R3=[R4]	// QImode move
	R1=R3	// QImode move
	R3=R2	// QImode move
	R1-=[R3]	// subqi3_r0R R1=R1-[R3]
	[SP--]=R1	// QImode move
	R2=[BP]	// QImode move
	R4=[BP]	// QImode move
	R1=R4+2
	R2=[BP]	// QImode move
	R3=[R2]	// QImode move
	R2=R3	// QImode move
	R3=R1	// QImode move
	R2 = R2 + [R3]	//addqi3
	[SP--]=R2	// QImode move
	CALL _Line	// call without return value
	SP = SP + 4	//SP
.debug
	.dw '.stabn 0x44,0,315,',0,0
	.dd LM112-_W_Red_Dot
	.dw 0x0d,0x0a
.code
LM112:
	PC=L77	// jump
L76:
.debug
	.dw '.stabn 0x44,0,318,',0,0
	.dd LM113-_W_Red_Dot
	.dw 0x0d,0x0a
.code
LM113:
	R2=[BP]	// QImode move
	R4=[BP]	// QImode move
	R1=R4+1
	R3=[BP]	// QImode move
	R3=[BP]	// QImode move
	R2=R3+3
	R4=R1	// QImode move
	R3=[R4]	// QImode move
	R1=R3	// QImode move
	R3=R2	// QImode move
	R1 = R1 + [R3]	//addqi3
	[SP--]=R1	// QImode move
	R2=[BP]	// QImode move
	R4=[BP]	// QImode move
	R1=R4+2
	R2=[BP]	// QImode move
	R3=[R2]	// QImode move
	R2=R3	// QImode move
	R3=R1	// QImode move
	R2 = R2 + [R3]	//addqi3
	[SP--]=R2	// QImode move
	CALL _PutPixel	// call without return value
	SP = SP + 2	//SP
.debug
	.dw '.stabn 0x44,0,319,',0,0
	.dd LM114-_W_Red_Dot
	.dw 0x0d,0x0a
.code
LM114:
	R2=[BP]	// QImode move
	R4=[BP]	// QImode move
	R1=R4+1
	R3=[BP]	// QImode move
	R3=[BP]	// QImode move
	R2=R3+3
	R4=R1	// QImode move
	R3=[R4]	// QImode move
	R1=R3	// QImode move
	R3=R2	// QImode move
	R1 = R1 + [R3]	//addqi3
	[SP--]=R1	// QImode move
	R2=[BP]	// QImode move
	R4=[BP]	// QImode move
	R1=R4+2
	R2=[BP]	// QImode move
	R3=[R2]	// QImode move
	R2=R3	// QImode move
	R3=R1	// QImode move
	R2-=[R3]	// subqi3_r0R R2=R2-[R3]
	[SP--]=R2	// QImode move
	CALL _PutPixel	// call without return value
	SP = SP + 2	//SP
.debug
	.dw '.stabn 0x44,0,320,',0,0
	.dd LM115-_W_Red_Dot
	.dw 0x0d,0x0a
.code
LM115:
	R2=[BP]	// QImode move
	R4=[BP]	// QImode move
	R1=R4+1
	R3=[BP]	// QImode move
	R3=[BP]	// QImode move
	R2=R3+3
	R4=R1	// QImode move
	R3=[R4]	// QImode move
	R1=R3	// QImode move
	R3=R2	// QImode move
	R1-=[R3]	// subqi3_r0R R1=R1-[R3]
	[SP--]=R1	// QImode move
	R2=[BP]	// QImode move
	R4=[BP]	// QImode move
	R1=R4+2
	R2=[BP]	// QImode move
	R3=[R2]	// QImode move
	R2=R3	// QImode move
	R3=R1	// QImode move
	R2 = R2 + [R3]	//addqi3
	[SP--]=R2	// QImode move
	CALL _PutPixel	// call without return value
	SP = SP + 2	//SP
.debug
	.dw '.stabn 0x44,0,321,',0,0
	.dd LM116-_W_Red_Dot
	.dw 0x0d,0x0a
.code
LM116:
	R2=[BP]	// QImode move
	R4=[BP]	// QImode move
	R1=R4+1
	R3=[BP]	// QImode move
	R3=[BP]	// QImode move
	R2=R3+3
	R4=R1	// QImode move
	R3=[R4]	// QImode move
	R1=R3	// QImode move
	R3=R2	// QImode move
	R1-=[R3]	// subqi3_r0R R1=R1-[R3]
	[SP--]=R1	// QImode move
	R2=[BP]	// QImode move
	R4=[BP]	// QImode move
	R1=R4+2
	R2=[BP]	// QImode move
	R3=[R2]	// QImode move
	R2=R3	// QImode move
	R3=R1	// QImode move
	R2-=[R3]	// subqi3_r0R R2=R2-[R3]
	[SP--]=R2	// QImode move
	CALL _PutPixel	// call without return value
	SP = SP + 2	//SP
L77:
.debug
	.dw '.stabn 0x44,0,323,',0,0
	.dd LM117-_W_Red_Dot
	.dw 0x0d,0x0a
.code
LM117:
.debug
	.dw '.stabn 0x44,0,323,',0,0
	.dd LM118-_W_Red_Dot
	.dw 0x0d,0x0a
.code
LM118:
L75:

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

.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 "a:p1",160,0,0,6',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "b:p1",160,0,0,7',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "mode:p1",160,0,0,8',0x0d,0x0a
.CODE
.debug
	.dw '.stabf ',0,0
	.dd LME7-_W_Red_Dot
	.dw 0x0d,0x0a
.code
LME7:
.code
.debug
	.dw '.stabs "W_Red_Err:F19",36,0,0,',0,0,offset _W_Red_Err,seg _W_Red_Err,0x0d,0x0a
.CODE
.public _W_Red_Err
_W_Red_Err:	.proc
.debug
	.dw '.stabn 0x44,0,334,',0,0
	.dd LM119-_W_Red_Err
	.dw 0x0d,0x0a
.code
LM119:
	// total=6, vars=6
	// frame_pointer_needed: 1
.debug
	.dw '.stabn 0xa6,0,0,6',0x0d, 0x0a
.code
	PUSH BP to [SP]
	SP-=6
	BP=SP+1

	R1=BP+9
LBB4:
.debug
	.dw '.stabn 0x44,0,337,',0,0
	.dd LM120-_W_Red_Err
	.dw 0x0d,0x0a
.code
LM120:
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	R4=R2	// QImode move
	R3=[R4]	// QImode move
	R2=R3+1
	R4=R1	// QImode move
	R3=[R4]	// QImode move
	R4=R3	// QImode move
	R4=[R4]	// QImode move
	[BP+5]=R4	// QImode move
	R3=[BP+5]	// QImode move
	R3=R3+1
	[BP+4]=R3	// QImode move
	R3=[BP+4]	// QImode move
	MR=R2*R3	// R3=R2*R3 16bit=16bit*16bit
	R2=R3	// QImode move
	[BP]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,338,',0,0
	.dd LM121-_W_Red_Err
	.dw 0x0d,0x0a
.code
LM121:
	R3=BP	// QImode move
	R2=BP+1
	R3=R1	// QImode move
	R4=R1+1
	[BP+5]=R4	// QImode move
	R4=[BP+5]	// QImode move
	R3=[R4]	// QImode move
	R4=R1	// QImode move
	R4=R1+1
	[BP+2]=R4	// QImode move
	R4=[BP+2]	// QImode move
	R4=[R4]	// QImode move
	[BP+5]=R4	// QImode move
	R4=R3	// QImode move
	R4=[R4]	// QImode move
	[BP+4]=R4	// QImode move
	R3=[BP+5]	// QImode move
	R3=[R3]	// QImode move
	[BP+5]=R3	// QImode move
	R3=[BP+4]	// QImode move
	R4=[BP+5]	// QImode move
	MR=R3*R4	// R3=R3*R4 16bit=16bit*16bit
	[BP+4]=R3	// QImode move
	R4=[BP+4]	// QImode move
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,339,',0,0
	.dd LM122-_W_Red_Err
	.dw 0x0d,0x0a
.code
LM122:
	R3=BP	// QImode move
	R2=BP+1
	R4=[BP]	// QImode move
	R3=R4	// QImode move
	R4=R2	// QImode move
	R3 = R3 + [R4]	//addqi3
	[BP]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,340,',0,0
	.dd LM123-_W_Red_Err
	.dw 0x0d,0x0a
.code
LM123:
	R3=BP	// QImode move
	R2=BP+1
	R3=R1	// QImode move
	R3=R1+2
	[BP+5]=R3	// QImode move
	R4=[BP+5]	// QImode move
	R3=[R4]	// QImode move
	R4=R1	// QImode move
	R4=R1+2
	[BP+3]=R4	// QImode move
	R4=[BP+3]	// QImode move
	R4=[R4]	// QImode move
	[BP+5]=R4	// QImode move
	R4=R3	// QImode move
	R4=[R4]	// QImode move
	[BP+4]=R4	// QImode move
	R3=[BP+5]	// QImode move
	R3=[R3]	// QImode move
	[BP+5]=R3	// QImode move
	R3=[BP+4]	// QImode move
	R4=[BP+5]	// QImode move
	MR=R3*R4	// R3=R3*R4 16bit=16bit*16bit
	[BP+4]=R3	// QImode move
	R4=[BP+4]	// QImode move
	R3=R2	// QImode move
	[R3]=R4	// QImode move
.debug
	.dw '.stabn 0x44,0,341,',0,0
	.dd LM124-_W_Red_Err
	.dw 0x0d,0x0a
.code
LM124:
	R3=BP	// QImode move
	R2=BP+1
	R4=[BP]	// QImode move
	R3=R4	// QImode move
	R4=R2	// QImode move
	R3-=[R4]	// subqi3_r0R R3=R3-[R4]
	[BP]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,342,',0,0
	.dd LM125-_W_Red_Err
	.dw 0x0d,0x0a
.code
LM125:
	R2=[BP]	// QImode move
	CMP R2,0	// QImode test
	NSJL L80	//QImode LT
.debug
	.dw '.stabn 0x44,0,344,',0,0
	.dd LM126-_W_Red_Err
	.dw 0x0d,0x0a
.code
LM126:
	R2=R1	// QImode move
	R3=R1+1
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R4=[BP]	// QImode move
	R3=R4	// QImode move
	R4=R2	// QImode move
	R3-=[R4]	// subqi3_r0R R3=R3-[R4]
	[BP]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,345,',0,0
	.dd LM127-_W_Red_Err
	.dw 0x0d,0x0a
.code
LM127:
	R2=[BP]	// QImode move
	CMP R2,0	// QImode test
	NSJL L80	//QImode LT
	R2=R1	// QImode move
	R3=R1+1
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R1	// QImode move
	R3=R1+1
	[BP+5]=R3	// QImode move
	R4=[BP+5]	// QImode move
	R3=[R4]	// QImode move
	R4=R3	// QImode move
	R4=[R4]	// QImode move
	[BP+5]=R4	// QImode move
	R4=[BP+5]	// QImode move
	R3=R4+(-1)
	R4=R2	// QImode move
	[R4]=R3	// QImode move
L81:
L80:
.debug
	.dw '.stabn 0x44,0,347,',0,0
	.dd LM128-_W_Red_Err
	.dw 0x0d,0x0a
.code
LM128:
	R3=R1	// QImode move
	R2=[R3]	// QImode move
	R4=R1	// QImode move
	R3=[R4]	// QImode move
	R4=R3	// QImode move
	R4=[R4]	// QImode move
	[BP+5]=R4	// QImode move
	R4=[BP+5]	// QImode move
	R3=R4+1
	R4=R2	// QImode move
	[R4]=R3	// QImode move
.debug
	.dw '.stabn 0x44,0,348,',0,0
	.dd LM129-_W_Red_Err
	.dw 0x0d,0x0a
.code
LM129:
LBE4:
.debug
	.dw '.stabn 0x44,0,348,',0,0
	.dd LM130-_W_Red_Err
	.dw 0x0d,0x0a
.code
LM130:
L79:

	SP+=6
	POP BP from [SP]
	RETF
	.endp	// end of W_Red_Err

.debug
	.dw '.stabs "a:p22=*1",160,0,0,9',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "b:p22",160,0,0,10',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "r:p22",160,0,0,11',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB4-_W_Red_Err
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "R_Error:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "uiTemp:4",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE4-_W_Red_Err
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME8-_W_Red_Err
	.dw 0x0d,0x0a
.code
LME8:
.code
.debug
	.dw '.stabs "Circle:F19",36,0,0,',0,0,offset _Circle,seg _Circle,0x0d,0x0a
.CODE
.public _Circle
_Circle:	.proc
.debug
	.dw '.stabn 0x44,0,359,',0,0
	.dd LM131-_Circle
	.dw 0x0d,0x0a
.code
LM131:
	// total=5, vars=5
	// frame_pointer_needed: 1
.debug
	.dw '.stabn 0xa6,0,0,5',0x0d, 0x0a
.code
	PUSH BP to [SP]
	SP-=5
	BP=SP+1

	R1=BP+8
	[BP+4]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,360,',0,0
	.dd LM132-_Circle
	.dw 0x0d,0x0a
.code
LM132:
LBB5:
	R1=0	// QImode move
	[BP]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+3
	R1=0	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,363,',0,0
	.dd LM133-_Circle
	.dw 0x0d,0x0a
.code
LM133:
	R2=BP	// QImode move
	R1=BP+1
	R2=[BP+4]	// QImode move
	R4=[BP+4]	// QImode move
	R3=R4+2
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,364,',0,0
	.dd LM134-_Circle
	.dw 0x0d,0x0a
.code
LM134:
	R2=BP	// QImode move
	R1=BP+2
	R2=[BP+4]	// QImode move
	R4=[BP+4]	// QImode move
	R3=R4+2
	R4=R3	// QImode move
	R2=[R4]	// QImode move
	R3=R1	// QImode move
	[R3]=R2	// QImode move
.debug
	.dw '.stabn 0x44,0,365,',0,0
	.dd LM135-_Circle

⌨️ 快捷键说明

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