lcd_dis.asm

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

ASM
3,085
字号
	.dw 0x0d,0x0a
.code
LM135:
L85:
	PC=L87	// jump
	PC=L86	// jump
L87:
.debug
	.dw '.stabn 0x44,0,367,',0,0
	.dd LM136-_Circle
	.dw 0x0d,0x0a
.code
LM136:
	R1=[BP+4]	// QImode move
	R4=[BP+4]	// QImode move
	R2=R4+3
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+1
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	[SP--]=R1	// QImode move
	R1=[BP]	// 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 _W_Red_Dot	// call without return value
	SP = SP + 5	//SP
.debug
	.dw '.stabn 0x44,0,368,',0,0
	.dd LM137-_Circle
	.dw 0x0d,0x0a
.code
LM137:
	R2=[BP+4]	// QImode move
	R1=R2+2
	[SP--]=R1	// QImode move
	R1=BP+1
	[SP--]=R1	// QImode move
	[SP--]=BP	// QImode move
	CALL _W_Red_Err	// call without return value
	SP = SP + 3	//SP
.debug
	.dw '.stabn 0x44,0,369,',0,0
	.dd LM138-_Circle
	.dw 0x0d,0x0a
.code
LM138:
	R1=BP	// QImode move
	R2=BP+2
	R1=[BP]	// QImode move
	R3=R2	// QImode move
	CMP R1,[R3]	// QImode compare
	NSJNZ L88	//QImode NE
.debug
	.dw '.stabn 0x44,0,371,',0,0
	.dd LM139-_Circle
	.dw 0x0d,0x0a
.code
LM139:
	R1=[BP+4]	// QImode move
	R4=[BP+4]	// QImode move
	R2=R4+3
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+1
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	[SP--]=R1	// QImode move
	R1=[BP]	// 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 _W_Red_Dot	// call without return value
	SP = SP + 5	//SP
.debug
	.dw '.stabn 0x44,0,372,',0,0
	.dd LM140-_Circle
	.dw 0x0d,0x0a
.code
LM140:
	PC=L86	// jump
L88:
.debug
	.dw '.stabn 0x44,0,374,',0,0
	.dd LM141-_Circle
	.dw 0x0d,0x0a
.code
LM141:
	R1=[BP+4]	// QImode move
	R1=[BP+4]	// QImode move
	R2=R1+3
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+3
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	[SP--]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+2
	R3=R2	// QImode move
	R1=[R3]	// 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 _W_Red_Dot	// call without return value
	SP = SP + 5	//SP
.debug
	.dw '.stabn 0x44,0,375,',0,0
	.dd LM142-_Circle
	.dw 0x0d,0x0a
.code
LM142:
	R2=[BP+4]	// QImode move
	R1=R2+2
	[SP--]=R1	// QImode move
	R1=BP+2
	[SP--]=R1	// QImode move
	R1=BP+3
	[SP--]=R1	// QImode move
	CALL _W_Red_Err	// call without return value
	SP = SP + 3	//SP
.debug
	.dw '.stabn 0x44,0,376,',0,0
	.dd LM143-_Circle
	.dw 0x0d,0x0a
.code
LM143:
	R1=BP	// QImode move
	R2=BP+2
	R1=[BP]	// QImode move
	R3=R2	// QImode move
	CMP R1,[R3]	// QImode compare
	NSJNZ L89	//QImode NE
.debug
	.dw '.stabn 0x44,0,378,',0,0
	.dd LM144-_Circle
	.dw 0x0d,0x0a
.code
LM144:
	R1=[BP+4]	// QImode move
	R4=[BP+4]	// QImode move
	R2=R4+3
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+3
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	[SP--]=R1	// QImode move
	R1=BP	// QImode move
	R2=BP+2
	R3=R2	// QImode move
	R1=[R3]	// 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 _W_Red_Dot	// call without return value
	SP = SP + 5	//SP
.debug
	.dw '.stabn 0x44,0,379,',0,0
	.dd LM145-_Circle
	.dw 0x0d,0x0a
.code
LM145:
	PC=L86	// jump
L89:
.debug
	.dw '.stabn 0x44,0,381,',0,0
	.dd LM146-_Circle
	.dw 0x0d,0x0a
.code
LM146:
	PC=L85	// jump
L86:
.debug
	.dw '.stabn 0x44,0,382,',0,0
	.dd LM147-_Circle
	.dw 0x0d,0x0a
.code
LM147:
LBE5:
.debug
	.dw '.stabn 0x44,0,382,',0,0
	.dd LM148-_Circle
	.dw 0x0d,0x0a
.code
LM148:
L84:

	SP+=5
	POP BP from [SP]
	RETF
	.endp	// end of Circle

.debug
	.dw '.stabs "x:p1",160,0,0,8',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "y:p1",160,0,0,9',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "r:p1",160,0,0,10',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "mode:p1",160,0,0,11',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB5-_Circle
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "arx1:1",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "ary1:1",128,0,0,1',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "arx2:1",128,0,0,2',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "ary2:1",128,0,0,3',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE5-_Circle
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME9-_Circle
	.dw 0x0d,0x0a
.code
LME9:
.code
.debug
	.dw '.stabs "Rectangle:F19",36,0,0,',0,0,offset _Rectangle,seg _Rectangle,0x0d,0x0a
.CODE
.public _Rectangle
_Rectangle:	.proc
.debug
	.dw '.stabn 0x44,0,400,',0,0
	.dd LM149-_Rectangle
	.dw 0x0d,0x0a
.code
LM149:
	// total=2, vars=2
	// frame_pointer_needed: 1
.debug
	.dw '.stabn 0xa6,0,0,2',0x0d, 0x0a
.code
	PUSH BP to [SP]
	SP-=2
	BP=SP+1

	R1=BP+5
	[BP+1]=R1	// QImode move
LBB6:
.debug
	.dw '.stabn 0x44,0,403,',0,0
	.dd LM150-_Rectangle
	.dw 0x0d,0x0a
.code
LM150:
	R1=[BP+1]	// QImode move
	R3=[BP+1]	// QImode move
	R2=R3+4
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	CMP R1,0	// QImode test
	NSJNZ L93	//QImode NE
.debug
	.dw '.stabn 0x44,0,405,',0,0
	.dd LM151-_Rectangle
	.dw 0x0d,0x0a
.code
LM151:
	R1=[BP+1]	// QImode move
	R1=[BP+1]	// QImode move
	R2=R1+3
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R4=[BP+1]	// QImode move
	R1=[R4]	// QImode move
	[SP--]=R1	// QImode move
	R1=[BP+1]	// QImode move
	R1=[BP+1]	// QImode move
	R2=R1+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R4=[BP+1]	// QImode move
	R1=[R4]	// QImode move
	[SP--]=R1	// QImode move
	CALL _Line	// call without return value
	SP = SP + 4	//SP
.debug
	.dw '.stabn 0x44,0,406,',0,0
	.dd LM152-_Rectangle
	.dw 0x0d,0x0a
.code
LM152:
	R1=[BP+1]	// QImode move
	R1=[BP+1]	// QImode move
	R2=R1+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R1=[BP+1]	// QImode move
	R4=[BP+1]	// QImode move
	R2=R4+2
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R1=[BP+1]	// QImode move
	R4=[BP+1]	// QImode move
	R2=R4+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R4=[BP+1]	// QImode move
	R1=[R4]	// QImode move
	[SP--]=R1	// QImode move
	CALL _Line	// call without return value
	SP = SP + 4	//SP
.debug
	.dw '.stabn 0x44,0,407,',0,0
	.dd LM153-_Rectangle
	.dw 0x0d,0x0a
.code
LM153:
	R1=[BP+1]	// QImode move
	R1=[BP+1]	// QImode move
	R2=R1+3
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R4=[BP+1]	// QImode move
	R2=[R4]	// QImode move
	R1=R2+1
	[SP--]=R1	// QImode move
	R1=[BP+1]	// QImode move
	R1=[BP+1]	// QImode move
	R2=R1+3
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R1=[BP+1]	// QImode move
	R4=[BP+1]	// QImode move
	R2=R4+2
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	CALL _Line	// call without return value
	SP = SP + 4	//SP
.debug
	.dw '.stabn 0x44,0,408,',0,0
	.dd LM154-_Rectangle
	.dw 0x0d,0x0a
.code
LM154:
	R1=[BP+1]	// QImode move
	R4=[BP+1]	// QImode move
	R2=R4+1
	R1=R2	// QImode move
	R3=[R1]	// QImode move
	R1=R3+1
	[SP--]=R1	// QImode move
	R1=[BP+1]	// QImode move
	R3=[BP+1]	// QImode move
	R2=R3+2
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	[SP--]=R1	// QImode move
	R1=[BP+1]	// QImode move
	R1=[BP+1]	// QImode move
	R2=R1+3
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R1=[BP+1]	// QImode move
	R4=[BP+1]	// QImode move
	R2=R4+2
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	CALL _Line	// call without return value
	SP = SP + 4	//SP
.debug
	.dw '.stabn 0x44,0,409,',0,0
	.dd LM155-_Rectangle
	.dw 0x0d,0x0a
.code
LM155:
	PC=L94	// jump
L93:
.debug
	.dw '.stabn 0x44,0,414,',0,0
	.dd LM156-_Rectangle
	.dw 0x0d,0x0a
.code
LM156:
	R1=[BP+1]	// QImode move
	R4=[BP+1]	// QImode move
	R2=R4+2
	R3=[BP+1]	// QImode move
	R1=[R3]	// QImode move
	R4=R2	// QImode move
	CMP R1,[R4]	// QImode compare
	NSJNA L95	//QImode LEU
.debug
	.dw '.stabn 0x44,0,416,',0,0
	.dd LM157-_Rectangle
	.dw 0x0d,0x0a
.code
LM157:
	R2=[BP+1]	// QImode move
	R1=[R2]	// QImode move
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,417,',0,0
	.dd LM158-_Rectangle
	.dw 0x0d,0x0a
.code
LM158:
	R1=[BP+1]	// QImode move
	R3=[BP+1]	// QImode move
	R2=R3+2
	R4=R2	// QImode move
	R1=[R4]	// QImode move
	R2=[BP+1]	// QImode move
	[R2]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,418,',0,0
	.dd LM159-_Rectangle
	.dw 0x0d,0x0a
.code
LM159:
	R1=[BP+1]	// QImode move
	R3=[BP+1]	// QImode move
	R2=R3+2
	R1=[BP]	// QImode move
	R4=R2	// QImode move
	[R4]=R1	// QImode move
L95:
.debug
	.dw '.stabn 0x44,0,420,',0,0
	.dd LM160-_Rectangle
	.dw 0x0d,0x0a
.code
LM160:
	R2=[BP+1]	// QImode move
	R2=[BP+1]	// QImode move
	R1=R2+1
	R2=[BP+1]	// QImode move
	R4=[BP+1]	// QImode move
	R3=R4+3
	R2=R1	// QImode move
	R1=[R2]	// QImode move
	R4=R3	// QImode move
	CMP R1,[R4]	// QImode compare
	NSJNA L96	//QImode LEU
.debug
	.dw '.stabn 0x44,0,422,',0,0
	.dd LM161-_Rectangle
	.dw 0x0d,0x0a
.code
LM161:
	R1=[BP+1]	// QImode move
	R1=[BP+1]	// QImode move
	R2=R1+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[BP]=R1	// QImode move
.debug
	.dw '.stabn 0x44,0,423,',0,0
	.dd LM162-_Rectangle
	.dw 0x0d,0x0a
.code
LM162:
	R2=[BP+1]	// QImode move
	R4=[BP+1]	// QImode move
	R1=R4+1
	R2=[BP+1]	// QImode move
	R2=[BP+1]	// 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,424,',0,0
	.dd LM163-_Rectangle
	.dw 0x0d,0x0a
.code
LM163:
	R1=[BP+1]	// QImode move
	R4=[BP+1]	// QImode move
	R2=R4+3
	R1=[BP]	// QImode move
	R3=R2	// QImode move
	[R3]=R1	// QImode move
L96:
.debug
	.dw '.stabn 0x44,0,426,',0,0
	.dd LM164-_Rectangle
	.dw 0x0d,0x0a
.code
LM164:
	R1=[BP+1]	// QImode move
	R4=[BP+1]	// QImode move
	R2=R4+1
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[BP]=R1	// QImode move
L97:
	R1=[BP+1]	// QImode move
	R4=[BP+1]	// QImode move
	R2=R4+3
	R1=[BP]	// QImode move
	R3=R2	// QImode move
	CMP R1,[R3]	// QImode compare
	NSJNA L100	//QImode LEU
	PC=L94	// jump
L100:
.debug
	.dw '.stabn 0x44,0,428,',0,0
	.dd LM165-_Rectangle
	.dw 0x0d,0x0a
.code
LM165:
	R1=[BP]	// QImode move
	[SP--]=R1	// QImode move
	R1=[BP+1]	// QImode move
	R4=[BP+1]	// QImode move
	R2=R4+2
	R3=R2	// QImode move
	R1=[R3]	// QImode move
	[SP--]=R1	// QImode move
	R1=[BP]	// QImode move
	[SP--]=R1	// QImode move
	R4=[BP+1]	// QImode move
	R1=[R4]	// QImode move
	[SP--]=R1	// QImode move
	CALL _Line	// call without return value
	SP = SP + 4	//SP
.debug
	.dw '.stabn 0x44,0,426,',0,0
	.dd LM166-_Rectangle
	.dw 0x0d,0x0a
.code
LM166:
L99:
	R1=[BP]	// QImode move
	R2=R1+1
	[BP]=R2	// QImode move
	PC=L97	// jump
L98:
L94:
.debug
	.dw '.stabn 0x44,0,431,',0,0
	.dd LM167-_Rectangle
	.dw 0x0d,0x0a
.code
LM167:
LBE6:
.debug
	.dw '.stabn 0x44,0,431,',0,0
	.dd LM168-_Rectangle
	.dw 0x0d,0x0a
.code
LM168:
L92:

	SP+=2
	POP BP from [SP]
	RETF
	.endp	// end of Rectangle

.debug
	.dw '.stabs "left:p4",160,0,0,5',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "top:p4",160,0,0,6',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "right:p4",160,0,0,7',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "bottom:p4",160,0,0,8',0x0d,0x0a
.CODE
.debug
	.dw '.stabs "Mode:p4",160,0,0,9',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xc0,0,0,',0,0
	.dd LBB6-_Rectangle
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabs "uiTemp:4",128,0,0,0',0x0d,0x0a
.CODE
.debug
	.dw '.stabn 0xe0,0,0,',0,0
	.dd LBE6-_Rectangle
	.dw 0x0d,0x0a
.code
.debug
	.dw '.stabf ',0,0
	.dd LME10-_Rectangle
	.dw 0x0d,0x0a
.code
LME10:
.code
.debug
	.dw '.stabs "ClrScreen:F19",36,0,0,',0,0,offset _ClrScreen,seg _ClrScreen,0x0d,0x0a
.CODE
.public _ClrScreen
_ClrScreen:	.proc
.debug
	.dw '.stabn 0x44,0,443,',0,0
	.dd LM169-_ClrScreen
	.dw 0x0d,0x0a
.code
LM169:
	// 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,444,',0,0
	.dd LM170-_ClrScreen
	.dw 0x0d,0x0a
.code
LM170:
	R2=[BP]	// QImode move
	R1=[R2]	// QImode move
	CMP R1,0	// QImode test
	NSJNZ L106	//QImode NE
.debug
	.dw '.stabn 0x44,0,445,',0,0
	.dd LM171-_ClrScreen
	.dw 0x0d,0x0a
.code
LM171:
	R1=(-1)	// QImode move
	[SP--]=R1	// QImode move
	CALL _LCD_Fill	// call without return value
	SP = SP + 1	//SP
	PC=L107	// jump
L106:
.debug
	.dw '.stabn 0x44,0,447,',0,0
	.dd LM172-_ClrScreen
	.dw 0x0d,0x0a
.code
LM172:
	R1=[_BMP_Color]	// QImode move
	[SP--]=R1	// QImode move
	CALL _LCD_Fill	// call without return value
	SP = SP + 1	//SP
L107:
.debug
	.dw '.stabn 0x44,0,448,',0,0
	.dd LM173-_ClrScreen
	.dw 0x0d,0x0a
.code
LM173:
.debug
	.dw '.stabn 0x44,0,448,',0,0
	.dd LM174-_ClrScreen
	.dw 0x0d,0x0a
.code
LM174:
L105:

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

.debug
	.dw '.stabs "Mode:p4",160,0,0,4',0x0d,0x0a
.CODE
.debug
	.dw '.stabf ',0,0
	.dd LME11-_ClrScreen
	.dw 0x0d,0x0a
.code
LME11:
.iram
.public _X_Witch
_X_Witch:
	.dw 0
.iram
.public _Y_Witch
_Y_Witch:
	.dw 0
.iram
.public _Font_Wrod
_Font_Wrod:
	.dw 0
.iram
.public _Char_TAB
_Char_TAB:
	.dw 0
.iram
.public _Plot_Mode
_Plot_Mode:
	.dw 0
.iram
.public _BMP_Color
_BMP_Color:
	.dw 0
.iram
.public _Char_Color
_Char_Color:
	.dw 0
.external _LCD_Fill
.external _Write_Dot_LCD
.external _GB32
.external _Asii1529
.external _Asii0816
	.end

⌨️ 快捷键说明

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