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