📄 splc501sys.lst
字号:
//Usage:
// FG_GetBMPMode()
// FG_GetLineStyle()
// FG_GetRectStyle()
// FG_GetCircleStyle()
// FG_GetEllipseStyle()
// FG_GetCharMode()
///////////////////////////////////////////////////////////////////
.public _FG_GetBMPMode
_FG_GetBMPMode: .proc
0000B57F 88 DA PUSH BP,BP TO [SP]
0000B580 11 93 01 02 r1=[R_GraphicMode_temp]
0000B582 09 B3 3F FE r1&=bmp_mode_bit_clear
0000B584 19 D3 01 02 [R_GraphicMode_temp]=r1
0000B586 11 93 44 02 r1=[R_GraphicMode]
0000B588 09 B3 C0 01 r1&=bmp_mode_bit
0000B58A 11 A3 01 02 r1|=[R_GraphicMode_temp]
0000B58C 19 D3 01 02 [R_GraphicMode_temp]=r1
0000B58E 88 98 pop bp,bp from [sp]
0000B58F 90 9A retf
.endp
//*****************************************************************
.public _FG_GetLineStyle
_FG_GetLineStyle: .proc
0000B590 88 DA PUSH BP,BP TO [SP]
0000B591 11 93 01 02 r1=[R_GraphicMode_temp]
0000B593 09 B3 C3 FF r1&=dotted_mode_bit_clear
0000B595 19 D3 01 02 [R_GraphicMode_temp]=r1
0000B597 11 93 44 02 r1=[R_GraphicMode]
0000B599 7C B2 r1&=dotted_mode_bit
0000B59A 11 A3 01 02 r1|=[R_GraphicMode_temp]
0000B59C 19 D3 01 02 [R_GraphicMode_temp]=r1
0000B59E 88 98 pop bp,bp from [sp]
0000B59F 90 9A retf
.endp
//*****************************************************************
.public _FG_GetRectStyle
_FG_GetRectStyle: .proc
0000B5A0 40 F0 90 B5 call _FG_GetLineStyle
0000B5A2 90 9A retf
.endp
//*****************************************************************
.public _FG_GetCircleStyle
_FG_GetCircleStyle: .proc
0000B5A3 40 F0 90 B5 call _FG_GetLineStyle
0000B5A5 90 9A retf
.endp
//*****************************************************************
.public _FG_GetEllipseStyle
_FG_GetEllipseStyle: .proc
0000B5A6 40 F0 90 B5 call _FG_GetLineStyle
0000B5A8 90 9A retf
.endp
//*****************************************************************
.public _FG_GetCharMode
_FG_GetCharMode: .proc
0000B5A9 40 F0 7F B5 call _FG_GetBMPMode
0000B5AB 90 9A retf
.endp
///////////////////////////////////////////////////////////////////
//Function Name: FG_SetBMPMode
//Parameters: Mode
//Description: Set bitmap put style.
//Mode: DG_BMP_COVER(default)
// DG_BMP_and
// DG_BMP_XOR
//Destroy: r1,r2
//Memory Modified: R_GraphicMode
//Usage:
// FG_SetBMPMode(short Mode)
//Example:
// FG_SetBMPMode(DG_BMP_clear)
///////////////////////////////////////////////////////////////////
.public _FG_SetBMPMode
_FG_SetBMPMode: .proc
0000B5AC 88 DA PUSH BP,BP TO [SP]
0000B5AD 00 93 r1=sp
0000B5AE 05 95 r2=bp
0000B5AF 01 25 r2-=r1
0000B5B0 44 44 cmp r2,0x04
0000B5B1 05 5E je L_no_SetBMPMode_Parameters //parmeters?
0000B5B2 00 9B bp=sp
0000B5B3 44 0A bp+=0x04
0000B5B4 C5 92 r1=[bp] //get parmeters
0000B5B5 40 42 cmp r1,DG_BMP_COVER
0000B5B6 07 4E jne L_SetBMPMode_1_Parameters
L_SetBMPMode_0_Parameters:
L_no_SetBMPMode_Parameters:
0000B5B7 11 93 44 02 r1=[R_GraphicMode]
0000B5B9 09 B3 3F FE r1&=bmp_mode_bit_clear
0000B5BB 19 D3 44 02 [R_GraphicMode]=r1
0000B5BD 15 EE jmp l_SetBMPMode_end
L_SetBMPMode_1_Parameters:
0000B5BE 41 42 cmp r1,DG_BMP_CLEAR
0000B5BF 09 4E jne L_SetBMPMode_2_Parameters
0000B5C0 11 93 44 02 r1=[R_GraphicMode]
0000B5C2 09 B3 3F FE r1&=bmp_mode_bit_clear
0000B5C4 09 A3 00 01 r1|=BMP_mode_CLEAR
0000B5C6 19 D3 44 02 [R_GraphicMode]=r1
0000B5C8 0A EE jmp l_SetBMPMode_end
L_SetBMPMode_2_Parameters:
0000B5C9 42 42 cmp r1,DG_BMP_XOR
0000B5CA 08 4E jne l_SetBMPMode_end
0000B5CB 11 93 44 02 r1=[R_GraphicMode]
0000B5CD 09 B3 3F FE r1&=bmp_mode_bit_clear
0000B5CF 09 A3 C0 00 r1|=BMP_mode_XOR
0000B5D1 19 D3 44 02 [R_GraphicMode]=r1
l_SetBMPMode_end:
0000B5D3 40 F0 7F B5 call _FG_GetBMPMode
0000B5D5 88 98 pop bp,bp from [sp]
0000B5D6 90 9A retf
.endp
//*****************************************************************
.public _FG_SetCharMode
_FG_SetCharMode:
0000B5D7 80 FE AC B5 goto _FG_SetBMPMode
//*****************************************************************
.public _FG_SetLineStyle
_FG_SetLineStyle:
0000B5D9 88 DA PUSH BP,BP TO [SP]
0000B5DA 00 93 r1=sp
0000B5DB 05 95 r2=bp
0000B5DC 01 25 r2-=r1
0000B5DD 44 44 cmp r2,0x04
0000B5DE 05 5E je L_no_SetLineMode_Parameters //parmeters?
0000B5DF 00 9B bp=sp
0000B5E0 44 0A bp+=0x04
0000B5E1 C5 92 r1=[bp] //get parmeters
L_cover_SetLineMode_Parameters:
0000B5E2 40 42 cmp r1,DG_LINE_COVER
0000B5E3 06 4E jne L_erase_SetLineMode_Parameters
L_no_SetLineMode_Parameters:
0000B5E4 11 93 44 02 r1=[R_GraphicMode]
0000B5E6 09 B3 C7 FF r1&=line_mode_bit_clear
0000B5E8 19 D3 44 02 [R_GraphicMode]=r1
L_erase_SetLineMode_Parameters:
0000B5EA 41 42 cmp r1,DG_LINE_ERASE
0000B5EB 08 4E jne L_solid_SetLineMode_Parameters
0000B5EC 11 93 44 02 r1=[R_GraphicMode]
0000B5EE 09 B3 C7 FF r1&=line_mode_bit_clear
0000B5F0 48 A2 r1|=line_mode_ERASE
0000B5F1 19 D3 44 02 [R_GraphicMode]=r1
0000B5F3 3B EE jmp l_SetLineMode_end
L_solid_SetLineMode_Parameters:
0000B5F4 42 42 cmp r1,DG_LINE_HOLLOW
0000B5F5 08 4E jne L_dotted_SetLineMode_Parameters
0000B5F6 11 93 44 02 r1=[R_GraphicMode]
0000B5F8 09 B3 C7 FF r1&=line_mode_bit_clear
0000B5FA 50 A2 r1|=line_mode_HOLLOW
0000B5FB 19 D3 44 02 [R_GraphicMode]=r1
0000B5FD 31 EE jmp l_SetLineMode_end
L_dotted_SetLineMode_Parameters:
0000B5FE 43 42 cmp r1,DG_LINE_DOTTED
0000B5FF 08 4E jne L_solid_cover_SetLineMode
0000B600 11 93 44 02 r1=[R_GraphicMode]
0000B602 09 B3 C7 FF r1&=line_mode_bit_clear
0000B604 58 A2 r1|=line_mode_DOTTED
0000B605 19 D3 44 02 [R_GraphicMode]=r1
0000B607 27 EE jmp l_SetLineMode_end
L_solid_cover_SetLineMode:
0000B608 44 42 cmp r1,DG_LINE_HOLLOW_ERASE
0000B609 08 4E jne L_dotted_cover_SetLineMode
0000B60A 11 93 44 02 r1=[R_GraphicMode]
0000B60C 09 B3 C7 FF r1&=line_mode_bit_clear
0000B60E 60 A2 r1|=line_mode_HOLLOW_ERASE
0000B60F 19 D3 44 02 [R_GraphicMode]=r1
0000B611 1D EE jmp l_SetLineMode_end
L_dotted_cover_SetLineMode:
0000B612 45 42 cmp r1,DG_LINE_DOTTED_COVER
0000B613 08 4E jne L_solid_xor_SetLineMode
0000B614 11 93 44 02 r1=[R_GraphicMode]
0000B616 09 B3 C7 FF r1&=line_mode_bit_clear
0000B618 68 A2 r1|=line_mode_DOTTED_COVER
0000B619 19 D3 44 02 [R_GraphicMode]=r1
0000B61B 13 EE jmp l_SetLineMode_end
L_solid_xor_SetLineMode:
0000B61C 46 42 cmp r1,DG_LINE_SOLID_XOR
0000B61D 08 4E jne L_dotted_xor_SetLineMode
0000B61E 11 93 44 02 r1=[R_GraphicMode]
0000B620 09 B3 C7 FF r1&=line_mode_bit_clear
0000B622 70 A2 r1|=line_mode_SOLID_XOR
0000B623 19 D3 44 02 [R_GraphicMode]=r1
0000B625 09 EE jmp l_SetLineMode_end
L_dotted_xor_SetLineMode:
0000B626 47 42 cmp r1,DG_LINE_DOTTED_XOR
0000B627 07 4E jne l_SetLineMode_end
0000B628 11 93 44 02 r1=[R_GraphicMode]
0000B62A 09 B3 C7 FF r1&=line_mode_bit_clear
0000B62C 78 A2 r1|=line_mode_DOTTED_XOR
0000B62D 19 D3 44 02 [R_GraphicMode]=r1
l_SetLineMode_end:
0000B62F 40 F0 90 B5 call _FG_GetLineStyle
0000B631 88 98 pop bp,bp from [sp]
0000B632 90 9A retf
//*****************************************************************
.public _FG_SetRectStyle
_FG_SetRectStyle:
0000B633 80 FE D9 B5 goto _FG_SetLineStyle
//*****************************************************************
.public _FG_SetCircleStyle
_FG_SetCircleStyle:
0000B635 80 FE D9 B5 goto _FG_SetLineStyle
//*****************************************************************
.public _FG_SetEllipseStyle
_FG_SetEllipseStyle:
0000B637 80 FE D9 B5 goto _FG_SetLineStyle
//*****************************************************************
FG_SetMode: .proc
L_SetMode_cover_Parameters:
0000B639 40 42 cmp r1,DG_PIXEL_COVER
0000B63A 07 4E jne L_SetMode_clear_Parameters
0000B63B 11 93 01 02 r1=[R_GraphicMode_temp]
0000B63D 09 B3 C7 FF r1&=line_mode_bit_clear
0000B63F 19 D3 01 02 [R_GraphicMode_temp]=r1
0000B641 13 EE jmp l_SetMode_end
L_SetMode_clear_Parameters:
0000B642 41 42 cmp r1,DG_PIXEL_CLEAR
0000B643 08 4E
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -