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