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 + -
显示快捷键?