Rev 3453 | Rev 4187 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3453 | Rev 3904 | ||
---|---|---|---|
1 | ;#___________________________________________________________________________________________________ |
1 | ;#___________________________________________________________________________________________________ |
2 | ;****************************************************************************************************| |
2 | ;****************************************************************************************************| |
3 | ; Program Palitra (c) Sergei Steshin (Akyltist) | |
3 | ; Program Palitra (c) Sergei Steshin (Akyltist) | |
4 | ;----------------------------------------------------------------------------------------------------| |
4 | ;----------------------------------------------------------------------------------------------------| |
5 | ;; Charset:DOS-866 Font:Courier New Size:9pt | |
5 | ;; Charset:DOS-866 Font:Courier New Size:9pt | |
6 | ;..................................................................................................... |
6 | ;..................................................................................................... |
7 | ;; compiler: FASM 1.69.31 | |
7 | ;; compiler: FASM 1.69.31 | |
8 | ;; version: 0.3.0 | |
8 | ;; version: 0.3.0 | |
9 | ;; last update: 08/11/2012 | |
9 | ;; last update: 08/11/2012 | |
10 | ;; e-mail: dr.steshin@gmail.com | |
10 | ;; e-mail: dr.steshin@gmail.com | |
11 | ;..................................................................................................... |
11 | ;..................................................................................................... |
12 | ;; History: | |
12 | ;; History: | |
13 | ;; 0.1.0 - ¥à¢ ï ¢¥àá¨ï ¯à®£à ¬¬ë. | |
13 | ;; 0.1.0 - ¥à¢ ï ¢¥àá¨ï ¯à®£à ¬¬ë. | |
14 | ;; 0.2.0 - á¯à ¢«¥® ¯®¯ ¤ ¨¥ ¢ á¥âªã, ¡¥à¥âáï ¡«¨¦ ©è¨© ¯® ¤¨ £® «¨ ¯¨ªá¥«ì. | |
14 | ;; 0.2.0 - á¯à ¢«¥® ¯®¯ ¤ ¨¥ ¢ á¥âªã, ¡¥à¥âáï ¡«¨¦ ©è¨© ¯® ¤¨ £® «¨ ¯¨ªá¥«ì. | |
15 | ;; - ®¡ ¢«¥ë ¯®«§ãª¨, ¤«ï ॣ㫨஢ ¨ï rgb á®áâ ¢«ïîé¨å 梥⠨ ¢ë¢®¤ íâ¨å á®áâ ¢«ïîé¨å. | |
15 | ;; - ®¡ ¢«¥ë ¯®«§ãª¨, ¤«ï ॣ㫨஢ ¨ï rgb á®áâ ¢«ïîé¨å 梥⠨ ¢ë¢®¤ íâ¨å á®áâ ¢«ïîé¨å. | |
16 | ;; - ¡à ¢ë¢®¤ 梥⠢ ¡¨ ஬ ¢¨¤¥ (¯®ª § ¥ ¤®¡®áâìî ¨ ¥ ªâã «ì®áâìî). | |
16 | ;; - ¡à ¢ë¢®¤ 梥⠢ ¡¨ ஬ ¢¨¤¥ (¯®ª § ¥ ¤®¡®áâìî ¨ ¥ ªâã «ì®áâìî). | |
17 | ;; - ¥«ª ï ª®á¬¥â¨ª . | |
17 | ;; - ¥«ª ï ª®á¬¥â¨ª . | |
18 | ;; 0.3.0 - ®¡ ¢«¥® ¯¥à¥ª«î票¥ ¢¨¤®¢ 梥⮢ëå á奬 (ª®¯ª NEXT) | |
18 | ;; 0.3.0 - ®¡ ¢«¥® ¯¥à¥ª«î票¥ ¢¨¤®¢ 梥⮢ëå á奬 (ª®¯ª NEXT) | |
19 | ;; - «ãçè¥ë ¯®«§ãª¨, ¯à®¨§¢®¤¨âáï ®¡à ¡®âª ¦ â¨ï à冷¬ á ¯®«§ãª®¬. | |
19 | ;; - «ãçè¥ë ¯®«§ãª¨, ¯à®¨§¢®¤¨âáï ®¡à ¡®âª ¦ â¨ï à冷¬ á ¯®«§ãª®¬. | |
20 | ;; - ¨á«® á¥â®ª ¢ 梥⮢®© á奬¥ 㬥ì襮 á 6 ¤® 4 (ªà â®áâì 256, ¨ ç¥ ¤ã¡«¨à®¢ ¨¥ 梥â ).| |
20 | ;; - ¨á«® á¥â®ª ¢ 梥⮢®© á奬¥ 㬥ì襮 á 6 ¤® 4 (ªà â®áâì 256, ¨ ç¥ ¤ã¡«¨à®¢ ¨¥ 梥â ).| |
21 | ;; - ¥«ª ï ª®á¬¥â¨ª . | |
21 | ;; - ¥«ª ï ª®á¬¥â¨ª . | |
22 | ;; 0.4.0 - ®¡ ¢«¥® ¯¥à¥ª«î票¥ ¬¥¦¤ã ¤¢ã¬ï 梥⠬¨ | |
22 | ;; 0.4.0 - ®¡ ¢«¥® ¯¥à¥ª«î票¥ ¬¥¦¤ã ¤¢ã¬ï 梥⠬¨ | |
23 | ;; - ®¡ ¢«¥ ¯®«§ã®ª ॣ㫨஢ ¨ï ¯à®§à ç®á⨠(¡¥§ ¢¨§ã «¨§ 樨). | |
23 | ;; - ®¡ ¢«¥ ¯®«§ã®ª ॣ㫨஢ ¨ï ¯à®§à ç®á⨠(¡¥§ ¢¨§ã «¨§ 樨). | |
24 | ;; - ®¡ ¢«¥® ¢ëà ¢¨¢ ¨¥ § 票© rgba ¯® æ¥âàã, ¢ § ¢¨á¨¬®á⨠®â ¤«¨ë. | |
24 | ;; - ®¡ ¢«¥® ¢ëà ¢¨¢ ¨¥ § 票© rgba ¯® æ¥âàã, ¢ § ¢¨á¨¬®á⨠®â ¤«¨ë. | |
25 | ;; - ®á¬¥â¨ç¥áª¨¥ ¯à ¢ª¨. | |
25 | ;; - ®á¬¥â¨ç¥áª¨¥ ¯à ¢ª¨. | |
26 | ;; - ¥¡®«ìè ï ®¯â¨¬¨§ æ¨ï. | |
26 | ;; - ¥¡®«ìè ï ®¯â¨¬¨§ æ¨ï. | |
27 | ;; 0.5.0 - ®¡ ¢«¥ ª®¯ª ᬥë ä® à ¡®ç¥£® á⮫ (®â Leency). | |
27 | ;; 0.5.0 - ®¡ ¢«¥ ª®¯ª ᬥë ä® à ¡®ç¥£® á⮫ (®â Leency). | |
28 | ;; - ®¡ ¢«¥® ¨§¬¥¥¨¥ ä® à ¡®ç¥£® á⮫ £à ¤¨¥â®© § «¨¢ª®©. | |
28 | ;; - ®¡ ¢«¥® ¨§¬¥¥¨¥ ä® à ¡®ç¥£® á⮫ £à ¤¨¥â®© § «¨¢ª®©. | |
29 | ;; - ®á¬¥â¨ç¥áª¨¥ ¯à ¢ª¨. | |
29 | ;; - ®á¬¥â¨ç¥áª¨¥ ¯à ¢ª¨. | |
30 | ;; - ¥¡®«ìè ï ¤¥®¯â¨¬¨§ æ¨ï. | |
30 | ;; - ¥¡®«ìè ï ¤¥®¯â¨¬¨§ æ¨ï. | |
31 | ;; 0.6.0 - ®¡ ¢«¥ ¢®§¬®¦®áâì § ¯ãáª á ¯ à ¬¥âà ¬¨ | |
31 | ;; 0.6.0 - ®¡ ¢«¥ ¢®§¬®¦®áâì § ¯ãáª á ¯ à ¬¥âà ¬¨ | |
32 | ;; - ®¡ ¢«¥ ०¨¬ H (hidden) ¯à®¨§¢®¤¨â § ¬¥ã ä® à ¡®ç¥£® á⮫ £à ¤¨¥â®© § «¨¢ª®©. | |
32 | ;; - ®¡ ¢«¥ ०¨¬ H (hidden) ¯à®¨§¢®¤¨â § ¬¥ã ä® à ¡®ç¥£® á⮫ £à ¤¨¥â®© § «¨¢ª®©. | |
33 | ;; - ®«ìè ï ¤¥®¯â¨¬¨§ æ¨ï. | |
33 | ;; - ®«ìè ï ¤¥®¯â¨¬¨§ æ¨ï. | |
34 | ;; 0.7.0 - ®¡ ¢«¥ ¯¨¯¥âª - ¢ë¡®à á।îî ª®¯ªã ¬ëè¨ | |
34 | ;; 0.7.0 - ®¡ ¢«¥ ¯¨¯¥âª - ¢ë¡®à á।îî ª®¯ªã ¬ëè¨ | |
- | 35 | ;; 0.7.5 - ¦ ⨥ ¯à ¢®© ª« ¢¨è¥© ¬ëè¨ ï祩ªã á 梥⮬ ãáâ ¢«¨¢ ¥â ¥ ®á®¢®©, ¤®¯®«. 梥â | |
|
- | 36 | ;; - ¬¥ì襮 ¬¥àæ ¨¥ ¯à¨ à ¡®â¥ ¯¨¯¥âª¨ | |
|
35 | ;..................................................................................................... |
37 | ;..................................................................................................... |
36 | ;; All rights reserved. | |
38 | ;; All rights reserved. | |
37 | ;; | |
39 | ;; | |
38 | ;; Redistribution and use in source and binary forms, with or without modification, are permitted | |
40 | ;; Redistribution and use in source and binary forms, with or without modification, are permitted | |
39 | ;; provided that the following conditions are met: | |
41 | ;; provided that the following conditions are met: | |
40 | ;; * Redistributions of source code must retain the above copyright notice, this list of | |
42 | ;; * Redistributions of source code must retain the above copyright notice, this list of | |
41 | ;; conditions and the following disclaimer. | |
43 | ;; conditions and the following disclaimer. | |
42 | ;; * Redistributions in binary form must reproduce the above copyright notice, this list of | |
44 | ;; * Redistributions in binary form must reproduce the above copyright notice, this list of | |
43 | ;; conditions and the following disclaimer in the documentation and/or other materials | |
45 | ;; conditions and the following disclaimer in the documentation and/or other materials | |
44 | ;; provided with the distribution. | |
46 | ;; provided with the distribution. | |
45 | ;; * Neither the name of the |
47 | ;; * Neither the name of the |
46 | ;; endorse or promote products derived from this software without specific prior written | |
48 | ;; endorse or promote products derived from this software without specific prior written | |
47 | ;; permission. | |
49 | ;; permission. | |
48 | ;; | |
50 | ;; | |
49 | ;; THIS SOFTWARE IS PROVIDED BY Sergei Steshin ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, | |
51 | ;; THIS SOFTWARE IS PROVIDED BY Sergei Steshin ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, | |
50 | ;; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A | |
52 | ;; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A | |
51 | ;; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL |
53 | ;; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL |
52 | ;; INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED | |
54 | ;; INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED | |
53 | ;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | |
55 | ;; TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | |
54 | ;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
56 | ;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
55 | ;; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | |
57 | ;; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | |
56 | ;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
58 | ;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
57 | ;....................................................................................................| |
59 | ;....................................................................................................| |
58 | 60 | ||
59 | 61 | ||
60 | ;#___________________________________________________________________________________________________ |
62 | ;#___________________________________________________________________________________________________ |
61 | ;****************************************************************************************************| |
63 | ;****************************************************************************************************| |
62 | ; | |
64 | ; | |
63 | ;----------------------------------------------------------------------------------------------------/ |
65 | ;----------------------------------------------------------------------------------------------------/ |
64 | use32 |
66 | use32 |
65 | org 0x0 |
67 | org 0x0 |
66 | db 'MENUET01' |
68 | db 'MENUET01' |
67 | dd 0x01 |
69 | dd 0x01 |
68 | dd START |
70 | dd START |
69 | dd I_END |
71 | dd I_END |
70 | dd I_END+4096 |
72 | dd I_END+4096 |
71 | dd I_END+4096 |
73 | dd I_END+4096 |
72 | dd params |
74 | dd params |
73 | dd 0x0 |
75 | dd 0x0 |
74 | 76 | ||
75 | include '..\..\..\macros.inc' |
77 | include '..\..\..\macros.inc' |
76 | 78 | ||
77 | WIN_W equ 295 ; è¨à¨ ®ª |
79 | WIN_W equ 295 ; è¨à¨ ®ª |
78 | WIN_H equ 195 ; ¢ëá®â ®ª |
80 | WIN_H equ 195 ; ¢ëá®â ®ª |
79 | WIN_X equ 250 ; ª®®à¤¨ â å ®ª |
81 | WIN_X equ 250 ; ª®®à¤¨ â å ®ª |
80 | WIN_Y equ 190 ; ª®®à¤¨ â ã ®ª |
82 | WIN_Y equ 190 ; ª®®à¤¨ â ã ®ª |
81 | 83 | ||
82 | panel: |
84 | panel: |
83 | file "panel.raw" |
85 | file "panel.raw" |
84 | 86 | ||
85 | START: |
87 | START: |
86 | mcall 68,11 ; ¨¨æ¨ «¨§ æ¨ï ªãç¨ |
88 | mcall 68,11 ; ¨¨æ¨ «¨§ æ¨ï ªãç¨ |
87 | mcall 40,0x27 ; ãáâ ¢«¨¢ ¥¬ ¬ áªã ᮡë⨩ |
89 | mcall 40,0x27 ; ãáâ ¢«¨¢ ¥¬ ¬ áªã ᮡë⨩ |
88 | include 'params_init.inc' ; ®¡à ¡®âª ¯ à ¬¥â஢ ª®¬ ¤®© áâப¨ |
90 | include 'params_init.inc' ; ®¡à ¡®âª ¯ à ¬¥â஢ ª®¬ ¤®© áâப¨ |
89 | 91 | ||
90 | ;#___________________________________________________________________________________________________ |
92 | ;#___________________________________________________________________________________________________ |
91 | ;****************************************************************************************************| |
93 | ;****************************************************************************************************| |
92 | ; - | |
94 | ; - | |
93 | ;----------------------------------------------------------------------------------------------------/ |
95 | ;----------------------------------------------------------------------------------------------------/ |
94 | red: |
96 | red: |
95 | call draw_main ; ¢ë§ë¢ ¥¬ ¯¥à¥à¨á®¢ªã ®ª ¯à¨«®¦¥¨ï |
97 | call draw_main ; ¢ë§ë¢ ¥¬ ¯¥à¥à¨á®¢ªã ®ª ¯à¨«®¦¥¨ï |
96 | still: |
98 | still: |
97 | mcall 10 ; äãªæ¨ï 10 - ¦¤ âì ᮡëâ¨ï |
99 | mcall 10 ; äãªæ¨ï 10 - ¦¤ âì ᮡëâ¨ï |
98 | cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª® ? |
100 | cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª® ? |
99 | je red ; ¥á«¨ ¤ - ¬¥âªã red |
101 | je red ; ¥á«¨ ¤ - ¬¥âªã red |
100 | cmp eax,2 ; ¦ â ª« ¢¨è ? |
102 | cmp eax,2 ; ¦ â ª« ¢¨è ? |
101 | je key ; ¥á«¨ ¤ - key |
103 | je key ; ¥á«¨ ¤ - key |
102 | cmp eax,3 ; ¦ â ª®¯ª ? |
104 | cmp eax,3 ; ¦ â ª®¯ª ? |
103 | je button ; ¥á«¨ ¤ - button |
105 | je button ; ¥á«¨ ¤ - button |
104 | cmp eax,6 ; ᮡë⨥ ®â ¬ëè¨ ¢¥ ®ª |
106 | cmp eax,6 ; ᮡë⨥ ®â ¬ëè¨ ¢¥ ®ª |
105 | je mouse ; ¥á«¨ ¤ - button |
107 | je mouse ; ¥á«¨ ¤ - button |
106 | jmp still ; ¥á«¨ ¤à㣮¥ ᮡë⨥ - ¢ ç «® 横« |
108 | jmp still ; ¥á«¨ ¤à㣮¥ ᮡë⨥ - ¢ ç «® 横« |
107 | ;end_still |
109 | ;end_still |
108 | 110 | ||
109 | key: ; ¦ â ª« ¢¨è ª« ¢¨ âãॠ|
111 | key: ; ¦ â ª« ¢¨è ª« ¢¨ âãॠ|
110 | mcall 2 ; äãªæ¨ï 2 - áç¨â âì ª®¤ ᨬ¢®« (¢ ah) (âãâ ¢ ¯à¨æ¨¯¥ ¥ 㦠) |
112 | mcall 2 ; äãªæ¨ï 2 - áç¨â âì ª®¤ ᨬ¢®« (¢ ah) (âãâ ¢ ¯à¨æ¨¯¥ ¥ 㦠) |
111 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
113 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
112 | ;end_key |
114 | ;end_key |
113 | 115 | ||
114 | mouse: |
116 | mouse: |
115 | mov eax,[renmode] |
117 | cmp [renmode],2 |
116 | cmp eax,2 |
- | |
117 | jnz still |
118 | jne left |
118 | call cyrcle_draw |
119 | call cyrcle_draw |
- | 120 | jmp center |
|
- | 121 | left: |
|
- | 122 | mcall 37,2 |
|
- | 123 | cmp al,1b |
|
- | 124 | jne right |
|
- | 125 | mov [mouse_f],1 |
|
- | 126 | jmp still |
|
- | 127 | right: |
|
- | 128 | cmp al,10b |
|
- | 129 | jne still |
|
- | 130 | mov [mouse_f],2 |
|
- | 131 | jmp still |
|
- | 132 | center: |
|
119 | mcall 37,2 |
133 | mcall 37,2 |
120 | cmp al,100b |
134 | cmp al,100b |
121 | jne still |
135 | jne still |
- | 136 | mov [mouse_f],3 |
|
122 | mov [color],edx |
137 | mov [color],edx |
123 | call draw_result |
138 | call draw_result |
124 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
139 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
125 | ;end_mouse |
140 | ;end_mouse |
126 | 141 | ||
127 | button: |
142 | button: |
128 | mcall 17 ; 17 - ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
143 | mcall 17 ; 17 - ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
129 | cmp ah, 1 ; ¥á«¨ ¦ â ª®¯ª á ®¬¥à®¬ 1, |
144 | cmp ah, 1 ; ¥á«¨ ¦ â ª®¯ª á ®¬¥à®¬ 1, |
130 | jz bexit ; ¢ë室¨¬ |
145 | jz bexit ; ¢ë室¨¬ |
131 | ;®¡à ¡®âª ª®¯ª¨ Next |
146 | ;®¡à ¡®âª ª®¯ª¨ Next |
132 | cmp ah, 12 ; ¥á«¨ ¦ â ª®¯ª NEXT |
147 | cmp ah, 12 ; ¥á«¨ ¦ â ª®¯ª NEXT |
133 | jne next_bg ; ¢ë室¨¬ |
148 | jne next_bg ; ¢ë室¨¬ |
134 | inc [pnext] ; 㢥«¨ç¨¢ ¥¬ ¯à¨ ¦ ⨨ ®¬¥à ¯ «¨âàë |
149 | inc [pnext] ; 㢥«¨ç¨¢ ¥¬ ¯à¨ ¦ ⨨ ®¬¥à ¯ «¨âàë |
135 | mov [renmode],0 ; ¢ª«îç ¥¬ æ¢¥â®¢ë¥ á奬ë |
150 | mov [renmode],0 ; ¢ª«îç ¥¬ æ¢¥â®¢ë¥ á奬ë |
136 | mov eax,[pnext] ; § ®á¨¬ § 票¥ ¢ ¥ å |
151 | mov eax,[pnext] ; § ®á¨¬ § 票¥ ¢ ¥ å |
137 | cmp al,6 ; áà ¢¨¢ ¥¬ á § ¥ë¬ ª®«¨ç¥á⢮¬ ¯ «¨âà |
152 | cmp al,6 ; áà ¢¨¢ ¥¬ á § ¥ë¬ ª®«¨ç¥á⢮¬ ¯ «¨âà |
138 | jne next_redraw ; ¥á«¨ ¥ ¡®«ìè¥ ¬ ªá¨¬ã¬ â® ¢ë§®¢ ®âà¨á®¢ª¨ |
153 | jne next_redraw ; ¥á«¨ ¥ ¡®«ìè¥ ¬ ªá¨¬ã¬ â® ¢ë§®¢ ®âà¨á®¢ª¨ |
139 | xor eax,eax ; ¨ ç¥ § ã«ï¥¬ ¯ «¨âàã default |
154 | xor eax,eax ; ¨ ç¥ § ã«ï¥¬ ¯ «¨âàã default |
140 | mov [pnext],eax ; ¨ § ¯®¬¨ ¥¬ çâ® á¡à®á¨«¨ ¯ «¨âàã default |
155 | mov [pnext],eax ; ¨ § ¯®¬¨ ¥¬ çâ® á¡à®á¨«¨ ¯ «¨âàã default |
141 | next_redraw: |
156 | next_redraw: |
142 | call draw_palitra ; |
157 | call draw_palitra ; |
143 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
158 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
144 | next_bg: |
159 | next_bg: |
145 | cmp ah, 14 ; ®¯ª BACKGROUND |
160 | cmp ah, 14 ; ®¯ª BACKGROUND |
146 | jne circle_bg ; ¥á«¨ ¥ ¦ â â® ¢ë室¨¬ |
161 | jne circle_bg ; ¥á«¨ ¥ ¦ â â® ¢ë室¨¬ |
147 | call set_background ; ¨ ç¥ ãáâ ¢«¨¢ ¥¬ ä® |
162 | call set_background ; ¨ ç¥ ãáâ ¢«¨¢ ¥¬ ä® |
148 | jmp still ; ¨ ®¦¨¤ ¨¥ ᮡëâ¨ï |
163 | jmp still ; ¨ ®¦¨¤ ¨¥ ᮡëâ¨ï |
149 | circle_bg: |
164 | circle_bg: |
150 | cmp ah, 15 ; ®¯ª à㣮¢ ï ¯ «¨âà |
165 | cmp ah, 15 ; ®¯ª à㣮¢ ï ¯ «¨âà |
151 | jne next_end ; ¥á«¨ ¥ ¦ â â® ¢ë室¨¬ |
166 | jne next_end ; ¥á«¨ ¥ ¦ â â® ¢ë室¨¬ |
152 | mov [renmode],2 ; ¢ª«îç ¥¬ ®âà¨á®¢ªã ªà㣮¢®© ¯ «¨âàë |
167 | mov [renmode],2 ; ¢ª«îç ¥¬ ®âà¨á®¢ªã ªà㣮¢®© ¯ «¨âàë |
153 | call draw_palitra ; |
168 | call draw_palitra ; |
154 | jmp still ; ¨ ®¦¨¤ ¨¥ ᮡëâ¨ï |
169 | jmp still ; ¨ ®¦¨¤ ¨¥ ᮡëâ¨ï |
155 | next_end: |
170 | next_end: |
156 | cmp ah,13 ; COLOR SWAP |
171 | cmp ah,13 ; COLOR SWAP |
157 | jne color_swap_end |
172 | jne color_swap_end |
158 | push [color2] |
173 | push [color2] |
159 | push [color] |
174 | push [color] |
160 | pop [color2] |
175 | pop [color2] |
161 | pop [color] |
176 | pop [color] |
162 | call draw_result |
177 | call draw_result |
163 | jmp still ; ã室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
178 | jmp still ; ã室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
164 | color_swap_end: |
179 | color_swap_end: |
165 | cmp ah, 7 ; ஢¥à塞 ¦ â ª®¯ª á ID=7 |
180 | cmp ah, 7 ; ஢¥à塞 ¦ â ª®¯ª á ID=7 |
166 | jne color_button ; ᫨ ¥ ¦ â , â® ¨¤ñ¬ ¤ «ìè¥ |
181 | jne color_button ; ᫨ ¥ ¦ â , â® ¨¤ñ¬ ¤ «ìè¥ |
167 | call mouse_get ; ç¥ ¢ª«îç ¥¬ ®¡à ¡®â稪 ¬ëè¨, ç⮡ë áç¨â âì § 票¥ 梥â á ¯ «¨âàë |
182 | call mouse_get ; ç¥ ¢ª«îç ¥¬ ®¡à ¡®â稪 ¬ëè¨, ç⮡ë áç¨â âì § 票¥ 梥â á ¯ «¨âàë |
168 | jmp still ; ã室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
183 | jmp still ; ã室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
169 | color_button: ; 𠪮®à¤¨ â ¤«ï ¯®«§ãª®¢ RGBA |
184 | color_button: ; 𠪮®à¤¨ â ¤«ï ¯®«§ãª®¢ RGBA |
170 | push eax ; § ¯®¬¨ ¥¬ ¥ å |
185 | push eax ; § ¯®¬¨ ¥¬ ¥ å |
171 | call mouse_local ; ¯®«ãç ¥¬ «®ª «ìë¥ ª®®à¤¨ âë |
186 | call mouse_local ; ¯®«ãç ¥¬ «®ª «ìë¥ ª®®à¤¨ âë |
172 | mov ebx,137 ; ¨¦ïï £à ¨æ ¯®«§ãª ¯® |
187 | mov ebx,137 ; ¨¦ïï £à ¨æ ¯®«§ãª ¯® |
173 | mov ecx,[mouse_y] ; § ¨á¨¬ ¢ ¥áå § 票¥ ªãàá®à ¯® |
188 | mov ecx,[mouse_y] ; § ¨á¨¬ ¢ ¥áå § 票¥ ªãàá®à ¯® |
174 | sub ebx,ecx ; 室¨¬ à §®áâì (â.¥. ªã¤ á¬¥é ¥âáï ¯®«§ã®ª) |
189 | sub ebx,ecx ; 室¨¬ à §®áâì (â.¥. ªã¤ á¬¥é ¥âáï ¯®«§ã®ª) |
175 | mov ecx,3 ; § ®á¨¬ ¢ ¥áå æ¨äàã 3 (256/3=85, £¤¥ 85-¢ëá®â ¯®«§ãª®¢) |
190 | mov ecx,3 ; § ®á¨¬ ¢ ¥áå æ¨äàã 3 (256/3=85, £¤¥ 85-¢ëá®â ¯®«§ãª®¢) |
176 | imul ecx,ebx ; 室¨¬ ¨áâ¨ë© ¯ à ¬¥âà 梥â á ãçñ⮬ ¬ áèâ ¡ ¯®«§ãª ---+ |
191 | imul ecx,ebx ; 室¨¬ ¨áâ¨ë© ¯ à ¬¥âà 梥â á ãçñ⮬ ¬ áèâ ¡ ¯®«§ãª ---+ |
177 | pop eax ; ¢®ááâ ¢«¨¢ ¥¬ ¥ å : |
192 | pop eax ; ¢®ááâ ¢«¨¢ ¥¬ ¥ å : |
178 | ;red_button: ; à áë© à¥ª¡ à : |
193 | ;red_button: ; à áë© à¥ª¡ à : |
179 | cmp ah, 8 ; ID=8 : |
194 | cmp ah, 8 ; ID=8 : |
180 | jne green_button ; ¥á«¨ ¥â, â® ¯à®¢¥à塞 §¥«ñë© â४¡ à : |
195 | jne green_button ; ¥á«¨ ¥â, â® ¯à®¢¥à塞 §¥«ñë© â४¡ à : |
181 | mov [cred],cl ; ¨ ç¥ ¯à¨á¢ ¨¢ ¥¬ § 票¥, ªà ᮬã 梥âã ᯥªâà <------+ |
196 | mov [cred],cl ; ¨ ç¥ ¯à¨á¢ ¨¢ ¥¬ § 票¥, ªà ᮬã 梥âã ᯥªâà <------+ |
182 | call set_spectr ; ãáâ ¢«¨¢ ¥¬ ᯥªâà |
197 | call set_spectr ; ãáâ ¢«¨¢ ¥¬ ᯥªâà |
183 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
198 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
184 | green_button: |
199 | green_button: |
185 | cmp ah, 9 |
200 | cmp ah, 9 |
186 | jne blue_button |
201 | jne blue_button |
187 | mov [cgreen],cl |
202 | mov [cgreen],cl |
188 | call set_spectr |
203 | call set_spectr |
189 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
204 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
190 | blue_button: |
205 | blue_button: |
191 | cmp ah, 10 |
206 | cmp ah, 10 |
192 | jne alpha_button |
207 | jne alpha_button |
193 | mov [cblue],cl |
208 | mov [cblue],cl |
194 | call set_spectr |
209 | call set_spectr |
195 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
210 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
196 | alpha_button: |
211 | alpha_button: |
197 | cmp ah, 11 |
212 | cmp ah, 11 |
198 | jne still |
213 | jne still |
199 | mov [calpha],cl |
214 | mov [calpha],cl |
200 | call set_spectr |
215 | call set_spectr |
201 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
216 | jmp still ; 室¨¬ ®¦¨¤ ¨¥ ¤à㣮£® ᮡëâ¨ï |
202 | bexit: |
217 | bexit: |
203 | mcall -1 ; ¨ ç¥ ª®¥æ ¯à®£à ¬¬ë |
218 | mcall -1 ; ¨ ç¥ ª®¥æ ¯à®£à ¬¬ë |
204 | ;end_button |
219 | ;end_button |
205 | 220 | ||
206 | ;#___________________________________________________________________________________________________ |
221 | ;#___________________________________________________________________________________________________ |
207 | ;****************************************************************************************************| |
222 | ;****************************************************************************************************| |
208 | ; | |
223 | ; | |
209 | ;----------------------------------------------------------------------------------------------------/ |
224 | ;----------------------------------------------------------------------------------------------------/ |
210 | draw_main: |
225 | draw_main: |
211 | mov eax,12 ; äãªæ¨ï 12: ®§ ç ¥â, çâ® ¡ã¤¥â à¨á®¢ âìáï ®ª® |
226 | mov eax,12 ; äãªæ¨ï 12: ®§ ç ¥â, çâ® ¡ã¤¥â à¨á®¢ âìáï ®ª® |
212 | mov ebx,1 ; 1, ç «® à¨á®¢ ¨ï |
227 | mov ebx,1 ; 1, ç «® à¨á®¢ ¨ï |
213 | int 0x40 ; à¥àë¢ ¨¥ |
228 | int 0x40 ; à¥àë¢ ¨¥ |
214 | 229 | ||
215 | mov eax,48 ; ãªæ¨ï 48 - á⨫¨ ®â®¡à ¦¥¨ï ®ª® |
230 | mov eax,48 ; ãªæ¨ï 48 - á⨫¨ ®â®¡à ¦¥¨ï ®ª® |
216 | mov ebx,3 ; ®¤äãªæ¨ï 3 - ¯®«ãç¨âì áâ ¤ àâë¥ æ¢¥â ®ª®. |
231 | mov ebx,3 ; ®¤äãªæ¨ï 3 - ¯®«ãç¨âì áâ ¤ àâë¥ æ¢¥â ®ª®. |
217 | mov ecx,sc ; ª § â¥«ì ¡ãä¥à à §¬¥à®¬ edx ¡ ©â, ¯®¤ áâàãªâãàã |
232 | mov ecx,sc ; ª § â¥«ì ¡ãä¥à à §¬¥à®¬ edx ¡ ©â, ¯®¤ áâàãªâãàã |
218 | mov edx,sizeof.system_colors ; §¬¥à â ¡«¨æë 梥⮢ (¤®«¦¥ ¡ëâì 40 ¡ ©â) |
233 | mov edx,sizeof.system_colors ; §¬¥à â ¡«¨æë 梥⮢ (¤®«¦¥ ¡ëâì 40 ¡ ©â) |
219 | int 0x40 ; à¥àë¢ ¨¥ |
234 | int 0x40 ; à¥àë¢ ¨¥ |
220 | 235 | ||
221 | mov eax,48 ; ãªæ¨ï 48 - á⨫¨ ®â®¡à ¦¥¨ï ®ª®. |
236 | mov eax,48 ; ãªæ¨ï 48 - á⨫¨ ®â®¡à ¦¥¨ï ®ª®. |
222 | mov ebx,4 ; ®¤äãªæ¨ï 4 - ¢®§¢à é ¥â eax = ¢ëá®â ᪨ . |
237 | mov ebx,4 ; ®¤äãªæ¨ï 4 - ¢®§¢à é ¥â eax = ¢ëá®â ᪨ . |
223 | int 0x40 ; à¥àë¢ ¨¥ |
238 | int 0x40 ; à¥àë¢ ¨¥ |
224 | mov ecx,eax ; ¯®¬¨ ¥¬ ¢ëá®âã ᪨ |
239 | mov ecx,eax ; ¯®¬¨ ¥¬ ¢ëá®âã ᪨ |
225 | 240 | ||
226 | mov edi,[runmode] |
241 | mov edi,[runmode] |
227 | cmp edi,2 |
242 | cmp edi,2 |
228 | jne no_hiddenmode |
243 | jne no_hiddenmode |
229 | mov edi,hidden |
244 | mov edi,hidden |
230 | jmp set_title |
245 | jmp set_title |
231 | no_hiddenmode: |
246 | no_hiddenmode: |
232 | cmp edi,3 |
247 | cmp edi,3 |
233 | jne no_dialogmode |
248 | jne no_dialogmode |
234 | mov edi,hidden |
249 | mov edi,hidden |
235 | jmp set_title |
250 | jmp set_title |
236 | no_dialogmode: |
251 | no_dialogmode: |
237 | mov edi,title ; £®«®¢®ª ®ª |
252 | mov edi,title ; £®«®¢®ª ®ª |
238 | set_title: |
253 | set_title: |
239 | 254 | ||
240 | xor eax,eax ; ç¨é ¥¬ eax (mov eax,0) (ãªæ¨ï 0) |
255 | xor eax,eax ; ç¨é ¥¬ eax (mov eax,0) (ãªæ¨ï 0) |
241 | mov ebx,WIN_X shl 16+WIN_W ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x] |
256 | mov ebx,WIN_X shl 16+WIN_W ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x] |
242 | add ecx,WIN_Y shl 16+WIN_H ; ëá®â ᪨ + [ª®®à¤¨ â ¯® y]*65536 + [à §¬¥à ¯® y] (168 ¤«ï ¢¥àᨨ 0.2) |
257 | add ecx,WIN_Y shl 16+WIN_H ; ëá®â ᪨ + [ª®®à¤¨ â ¯® y]*65536 + [à §¬¥à ¯® y] (168 ¤«ï ¢¥àᨨ 0.2) |
243 | mov edx,[sc.work] ; ¨¤¨¬® áâ¨«ì ®ª ¯® ¤¥ä®«âã |
258 | mov edx,[sc.work] ; ¨¤¨¬® áâ¨«ì ®ª ¯® ¤¥ä®«âã |
244 | or edx,0x34000000 ; «¨ ®ª® ᮠ᪨®¬ 䨪á¨à®¢ ëå à §¬¥à®¢ |
259 | or edx,0x34000000 ; «¨ ®ª® ᮠ᪨®¬ 䨪á¨à®¢ ëå à §¬¥à®¢ |
245 | 260 | ||
246 | int 0x40 ; à¥àë¢ ¨¥ |
261 | int 0x40 ; à¥àë¢ ¨¥ |
247 | 262 | ||
248 | 263 | ||
249 | call draw_palitra ; |
264 | call draw_palitra ; |
250 | call draw_result ; |
265 | call draw_result ; |
251 | 266 | ||
252 | mov eax,8 ; ãªæ¨ï 8 - ®¯à¥¤¥«¨âì/㤠«¨âì ª®¯ªã |
267 | mov eax,8 ; ãªæ¨ï 8 - ®¯à¥¤¥«¨âì/㤠«¨âì ª®¯ªã |
253 | mov ebx,110 shl 16+147 ; ç «ìë¥ ª®®à¤¨ âë ¯® å [ª-â x]*65536 + [à §¬¥à] |
268 | mov ebx,110 shl 16+147 ; ç «ìë¥ ª®®à¤¨ âë ¯® å [ª-â x]*65536 + [à §¬¥à] |
254 | mov ecx,9 shl 16+147 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
269 | mov ecx,9 shl 16+147 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
255 | mov edx,0x60000007 ; ç «ì®¥ ID ª®¯®ª - 0xXYnnnnnn |
270 | mov edx,0x60000007 ; ç «ì®¥ ID ª®¯®ª - 0xXYnnnnnn |
256 | int 0x40 |
271 | int 0x40 |
257 | 272 | ||
258 | mov ebx,13 shl 16+12 ; ç «ìë¥ ª®®à¤¨ âë ¯® å [ª-â x]*65536 + [à §¬¥à] |
273 | mov ebx,13 shl 16+12 ; ç «ìë¥ ª®®à¤¨ âë ¯® å [ª-â x]*65536 + [à §¬¥à] |
259 | mov edx,0x60000008 ; ID = 8 |
274 | mov edx,0x60000008 ; ID = 8 |
260 | mov ecx,51 shl 16+85 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
275 | mov ecx,51 shl 16+85 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
261 | int 0x40 ; ¨á㥬 ¥¢¨¤¨¬ãî ª®¯ªã ¯®¤ á« ©¤¥à®¬ red |
276 | int 0x40 ; ¨á㥬 ¥¢¨¤¨¬ãî ª®¯ªã ¯®¤ á« ©¤¥à®¬ red |
262 | add ebx,23 shl 16 ; ®¡ ¢«ï¥¬ |
277 | add ebx,23 shl 16 ; ®¡ ¢«ï¥¬ |
263 | inc edx ; ID = 9 |
278 | inc edx ; ID = 9 |
264 | int 0x40 ; ¨á㥬 ¥¢¨¤¨¬ãî ª®¯ªã ¯®¤ á« ©¤¥à®¬ green |
279 | int 0x40 ; ¨á㥬 ¥¢¨¤¨¬ãî ª®¯ªã ¯®¤ á« ©¤¥à®¬ green |
265 | add ebx,23 shl 16 ; ®¡ ¢«ï¥¬ |
280 | add ebx,23 shl 16 ; ®¡ ¢«ï¥¬ |
266 | inc edx ; ID = 10 |
281 | inc edx ; ID = 10 |
267 | int 0x40 ; ¨á㥬 ¥¢¨¤¨¬ãî ª®¯ªã ¯®¤ á« ©¤¥à®¬ blue |
282 | int 0x40 ; ¨á㥬 ¥¢¨¤¨¬ãî ª®¯ªã ¯®¤ á« ©¤¥à®¬ blue |
268 | add ebx,23 shl 16 ; ®¡ ¢«ï¥¬ |
283 | add ebx,23 shl 16 ; ®¡ ¢«ï¥¬ |
269 | inc edx ; ID = 11 |
284 | inc edx ; ID = 11 |
270 | int 0x40 ; ¨á㥬 ¥¢¨¤¨¬ãî ª®¯ªã ¯®¤ á« ©¤¥à®¬ alpha |
285 | int 0x40 ; ¨á㥬 ¥¢¨¤¨¬ãî ª®¯ªã ¯®¤ á« ©¤¥à®¬ alpha |
271 | 286 | ||
272 | mov eax,8 ; ãªæ¨ï 8 - ®¯à¥¤¥«¨âì/㤠«¨âì ª®¯ªã ( ) |
287 | mov eax,8 ; ãªæ¨ï 8 - ®¯à¥¤¥«¨âì/㤠«¨âì ª®¯ªã ( ) |
273 | mov ebx,11 shl 16+20 ; ç «ìë¥ ª®®à¤¨ âë ¯® å [ª-â x]*65536 + [à §¬¥à] |
288 | mov ebx,11 shl 16+20 ; ç «ìë¥ ª®®à¤¨ âë ¯® å [ª-â x]*65536 + [à §¬¥à] |
274 | mov ecx,12 shl 16+20 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
289 | mov ecx,12 shl 16+20 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
275 | mov edx,0x6000000D ; ID = 13 |
290 | mov edx,0x6000000D ; ID = 13 |
276 | int 0x40 |
291 | int 0x40 |
277 | 292 | ||
278 | call draw_bottom_panel |
293 | call draw_bottom_panel |
279 | call draw_left_panel |
294 | call draw_left_panel |
280 | 295 | ||
281 | mov eax,12 ; äãªæ¨ï 12: ®§ ç ¥â, çâ® ¡ã¤¥â à¨á®¢ âìáï ®ª® |
296 | mov eax,12 ; äãªæ¨ï 12: ®§ ç ¥â, çâ® ¡ã¤¥â à¨á®¢ âìáï ®ª® |
282 | mov ebx,2 ; 2 - ª®¥æ à¨á®¢ ¨ï |
297 | mov ebx,2 ; 2 - ª®¥æ à¨á®¢ ¨ï |
283 | int 0x40 ; à¥àë¢ ¨¥ |
298 | int 0x40 ; à¥àë¢ ¨¥ |
284 | ret |
299 | ret |
285 | 300 | ||
286 | ;#___________________________________________________________________________________________________ |
301 | ;#___________________________________________________________________________________________________ |
287 | ;****************************************************************************************************| |
302 | ;****************************************************************************************************| |
288 | ; | |
303 | ; | |
289 | ;----------------------------------------------------------------------------------------------------/ |
304 | ;----------------------------------------------------------------------------------------------------/ |
290 | 305 | ||
291 | 306 | ||
292 | ;------------------------------------------------------------------------------------------------+ |
307 | ;------------------------------------------------------------------------------------------------+ |
293 | draw_left_panel: ; âà¨á®¢ª ¡®ª®¢®© ¯ ¥«¨ |
308 | draw_left_panel: ; âà¨á®¢ª ¡®ª®¢®© ¯ ¥«¨ |
294 | ;................................................................................................. |
309 | ;................................................................................................. |
295 | mov eax,8 ; button_next_colorsheme |
310 | mov eax,8 ; button_next_colorsheme |
296 | mov ebx,266 shl 16+16 ; [x] + [size] |
311 | mov ebx,266 shl 16+16 ; [x] + [size] |
297 | mov ecx,9 shl 16+16 ; [y] + [size] |
312 | mov ecx,9 shl 16+16 ; [y] + [size] |
298 | mov edx,0x6000000C ; ID = 12 |
313 | mov edx,0x6000000C ; ID = 12 |
299 | mov esi,[sc.work_button] ; RGB |
314 | mov esi,[sc.work_button] ; RGB |
300 | int 0x40 ; call |
315 | int 0x40 ; call |
301 | ; circle diagram |
316 | ; circle diagram |
302 | add ecx,19 shl 16 ; move rect |
317 | add ecx,19 shl 16 ; move rect |
303 | mov edx,0x6000000F ; ID = 15 |
318 | mov edx,0x6000000F ; ID = 15 |
304 | int 0x40 ; call |
319 | int 0x40 ; call |
305 | 320 | ||
306 | mov eax,7 ; 7 - ®¬¥à äãªæ¨¨ |
321 | mov eax,7 ; 7 - ®¬¥à äãªæ¨¨ |
307 | mov ebx,panel ; 㪠§ â¥«ì ¨§®¡à ¦¥¨¥ ¢ ä®à¬ ⥠BBGGRRBBGGRR... |
322 | mov ebx,panel ; 㪠§ â¥«ì ¨§®¡à ¦¥¨¥ ¢ ä®à¬ ⥠BBGGRRBBGGRR... |
308 | mov ecx, 16 shl 16 + 149 ; [à §¬¥à ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ y] |
323 | mov ecx, 16 shl 16 + 149 ; [à §¬¥à ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ y] |
309 | mov edx,266 shl 16 + 9 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
324 | mov edx,266 shl 16 + 9 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
310 | int 0x40 |
325 | int 0x40 |
311 | 326 | ||
312 | ;mov eax,13 ; draw rect |
327 | ;mov eax,13 ; draw rect |
313 | ;mov ebx,266 shl 16+16 ; [x] + [size] |
328 | ;mov ebx,266 shl 16+16 ; [x] + [size] |
314 | ;mov ecx,9 shl 16+16 ; [y] + [size] |
329 | ;mov ecx,9 shl 16+16 ; [y] + [size] |
315 | ;mov edx,0x666666 ; RGB |
330 | ;mov edx,0x666666 ; RGB |
316 | ;push esi ; backup esi |
331 | ;push esi ; backup esi |
317 | ;mov esi,8 ; counter=8 |
332 | ;mov esi,8 ; counter=8 |
318 | ;draw_lpanel: ; loop label |
333 | ;draw_lpanel: ; loop label |
319 | ; int 0x40 ; call draw black rect |
334 | ; int 0x40 ; call draw black rect |
320 | ; add ecx,19 shl 16 ; move rect |
335 | ; add ecx,19 shl 16 ; move rect |
321 | ; dec esi ; decrement counter |
336 | ; dec esi ; decrement counter |
322 | ; cmp esi,0 ; if counter!=zero |
337 | ; cmp esi,0 ; if counter!=zero |
323 | ; jne draw_lpanel ; then goto label |
338 | ; jne draw_lpanel ; then goto label |
324 | ; mov esi,8 ; else counter=8 |
339 | ; mov esi,8 ; else counter=8 |
325 | ; mov ebx,267 shl 16+14 ; [x] + [size] |
340 | ; mov ebx,267 shl 16+14 ; [x] + [size] |
326 | ; mov ecx,10 shl 16+14 ; [y] + [size] |
341 | ; mov ecx,10 shl 16+14 ; [y] + [size] |
327 | ; mov edx,0xF3F3F3 ; RGB |
342 | ; mov edx,0xF3F3F3 ; RGB |
328 | ;draw_lpanel2: ; 2 loop label |
343 | ;draw_lpanel2: ; 2 loop label |
329 | ; int 0x40 ; call draw white rect |
344 | ; int 0x40 ; call draw white rect |
330 | ; add ecx,19 shl 16 ; move rect |
345 | ; add ecx,19 shl 16 ; move rect |
331 | ; dec esi ; decrement counter |
346 | ; dec esi ; decrement counter |
332 | ; cmp esi,0 ; if counter!=0 |
347 | ; cmp esi,0 ; if counter!=0 |
333 | ; jne draw_lpanel2 ; then goto label2 |
348 | ; jne draw_lpanel2 ; then goto label2 |
334 | ;pop esi ; restore esi |
349 | ;pop esi ; restore esi |
335 | ; draw_left_arrow for button_next_colorsheme |
350 | ; draw_left_arrow for button_next_colorsheme |
336 | ;mov eax,4 ; Write string |
351 | ;mov eax,4 ; Write string |
337 | ;mov ebx,272 shl 16+13 ; [x] + [y] |
352 | ;mov ebx,272 shl 16+13 ; [x] + [y] |
338 | ;mov ecx,0x0 ; RGB |
353 | ;mov ecx,0x0 ; RGB |
339 | ;mov edx,larrow ; string pointer |
354 | ;mov edx,larrow ; string pointer |
340 | ;mov esi,1 ; count symbol |
355 | ;mov esi,1 ; count symbol |
341 | ;int 0x40 ; call |
356 | ;int 0x40 ; call |
342 | ;mov eax,38 ; draw line |
357 | ;mov eax,38 ; draw line |
343 | ;mov ebx,270 shl 16+272 ; [start x] + [end x] |
358 | ;mov ebx,270 shl 16+272 ; [start x] + [end x] |
344 | ;mov ecx,16 shl 16+16 ; [start y] + [end y] |
359 | ;mov ecx,16 shl 16+16 ; [start y] + [end y] |
345 | ;mov edx,0x0 ; RGB |
360 | ;mov edx,0x0 ; RGB |
346 | ;int 0x40 ; call |
361 | ;int 0x40 ; call |
347 | ret ; return |
362 | ret ; return |
348 | ;................................................................................................. |
363 | ;................................................................................................. |
349 | 364 | ||
350 | 365 | ||
351 | ;------------------------------------------------------------------------------------------------+ |
366 | ;------------------------------------------------------------------------------------------------+ |
352 | draw_bottom_panel: ; âà¨á®¢ª ¨¦¥© ¯ ¥«¨ |
367 | draw_bottom_panel: ; âà¨á®¢ª ¨¦¥© ¯ ¥«¨ |
353 | ;................................................................................................. |
368 | ;................................................................................................. |
354 | mov eax,8 ; draw button |
369 | mov eax,8 ; draw button |
355 | mov ebx,92 shl 16+100 ; [x] + [size] |
370 | mov ebx,92 shl 16+100 ; [x] + [size] |
356 | mov ecx,169 shl 16+16 ; [y] + [size] |
371 | mov ecx,169 shl 16+16 ; [y] + [size] |
357 | mov edx,14 ; ID = 14 |
372 | mov edx,14 ; ID = 14 |
358 | mov esi,[sc.work_button] ; RGB |
373 | mov esi,[sc.work_button] ; RGB |
359 | int 0x40 ; call |
374 | int 0x40 ; call |
360 | mov eax,4 ; Write string |
375 | mov eax,4 ; Write string |
361 | mov ebx,113 shl 16+174 ; [x] + [y] |
376 | mov ebx,113 shl 16+174 ; [x] + [y] |
362 | mov ecx,[sc.work_button_text] ; RGB |
377 | mov ecx,[sc.work_button_text] ; RGB |
363 | mov edx,bground ; string pointer |
378 | mov edx,bground ; string pointer |
364 | mov esi,10 ; count symbol |
379 | mov esi,10 ; count symbol |
365 | int 0x40 ; call |
380 | int 0x40 ; call |
366 | mov eax,38 ; draw line |
381 | mov eax,38 ; draw line |
367 | mov ebx,4 shl 16+282 ; [start x] + [end x] |
382 | mov ebx,4 shl 16+282 ; [start x] + [end x] |
368 | mov ecx,163 shl 16+163 ; [start y] + [end y] |
383 | mov ecx,163 shl 16+163 ; [start y] + [end y] |
369 | mov edx,0x00666666 ; RGB |
384 | mov edx,0x00666666 ; RGB |
370 | int 0x40 ; call |
385 | int 0x40 ; call |
371 | ret ; return |
386 | ret ; return |
372 | ;................................................................................................. |
387 | ;................................................................................................. |
373 | 388 | ||
374 | mouse_global: |
389 | mouse_global: |
375 | ;................................................................................................. |
390 | ;................................................................................................. |
376 | ; ®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ |
391 | ; ®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ |
377 | ;................................................................................................. |
392 | ;................................................................................................. |
378 | mov eax,37 ; ãªæ¨ï 37 - à ¡®â á ¬ëèìî |
393 | mov eax,37 ; ãªæ¨ï 37 - à ¡®â á ¬ëèìî |
379 | mov ebx,0 ; ¬ ã¦ë £«®¡ «ìë¥ ª®®à¤¨ âë |
394 | mov ebx,0 ; ¬ ã¦ë £«®¡ «ìë¥ ª®®à¤¨ âë |
380 | int 0x40 ; eax = x*65536 + y, (x,y)=ª®®à¤¨ âë ªãàá®à ¬ëè¨ |
395 | int 0x40 ; eax = x*65536 + y, (x,y)=ª®®à¤¨ âë ªãàá®à ¬ëè¨ |
381 | mov ecx,eax ; |
396 | mov ecx,eax ; |
382 | shr ecx,16 ; ecx = x+1 |
397 | shr ecx,16 ; ecx = x+1 |
383 | movzx edx,ax ; edx = y+1 |
398 | movzx edx,ax ; edx = y+1 |
384 | dec ecx ; ecx = x |
399 | dec ecx ; ecx = x |
385 | dec edx ; edx = y |
400 | dec edx ; edx = y |
386 | mov [mouse_x],ecx ; mouse_x = x |
401 | mov [mouse_x],ecx ; mouse_x = x |
387 | mov [mouse_y],edx ; mouse_y = y |
402 | mov [mouse_y],edx ; mouse_y = y |
388 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
403 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
389 | ;end_mouse_global |
404 | ;end_mouse_global |
390 | 405 | ||
391 | mouse_local: |
406 | mouse_local: |
392 | ;................................................................................................. |
407 | ;................................................................................................. |
393 | ; ®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® ®ª |
408 | ; ®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® ®ª |
394 | ;................................................................................................. |
409 | ;................................................................................................. |
395 | mov eax,37 ; ãªæ¨ï 37 - à ¡®â á ¬ëèìî |
410 | mov eax,37 ; ãªæ¨ï 37 - à ¡®â á ¬ëèìî |
396 | mov ebx,1 ; ¬ ã¦ë £«®¡ «ìë¥ ª®®à¤¨ âë |
411 | mov ebx,1 ; ¬ ã¦ë £«®¡ «ìë¥ ª®®à¤¨ âë |
397 | int 0x40 ; eax = x*65536 + y, (x,y)=ª®®à¤¨ âë ªãàá®à ¬ëè¨ |
412 | int 0x40 ; eax = x*65536 + y, (x,y)=ª®®à¤¨ âë ªãàá®à ¬ëè¨ |
398 | mov ecx,eax ; |
413 | mov ecx,eax ; |
399 | shr ecx,16 ; ecx = x+1 |
414 | shr ecx,16 ; ecx = x+1 |
400 | movzx edx,ax ; edx = y+1 |
415 | movzx edx,ax ; edx = y+1 |
401 | dec ecx ; ecx = x |
416 | dec ecx ; ecx = x |
402 | dec edx ; edx = y |
417 | dec edx ; edx = y |
403 | mov [mouse_x],ecx ; mouse_x = x |
418 | mov [mouse_x],ecx ; mouse_x = x |
404 | mov [mouse_y],edx ; mouse_y = y |
419 | mov [mouse_y],edx ; mouse_y = y |
405 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
420 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
406 | ;end_mouse_local |
421 | ;end_mouse_local |
407 | 422 | ||
408 | set_background: |
423 | set_background: |
409 | ;................................................................................................. |
424 | ;................................................................................................. |
410 | ; áâ ¢«¨¢ ¥â ä® à ¡®ç¥£® á⮫ |
425 | ; áâ ¢«¨¢ ¥â ä® à ¡®ç¥£® á⮫ |
411 | ;................................................................................................. |
426 | ;................................................................................................. |
412 | mov eax,15 ; ãªæ¨ï 15 - à ¡®â á ä®®¢®© £à 䨪®© |
427 | mov eax,15 ; ãªæ¨ï 15 - à ¡®â á ä®®¢®© £à 䨪®© |
413 | mov ebx,4 ; ®¤äãªæ¨ï 4 - ãáâ ®¢¨âì ०¨¬ ®âà¨á®¢ª¨ ä® . |
428 | mov ebx,4 ; ®¤äãªæ¨ï 4 - ãáâ ®¢¨âì ०¨¬ ®âà¨á®¢ª¨ ä® . |
414 | mov ecx,2 ; ¥¦¨¬ ®âà¨á®¢ª¨ - § ¬®áâ¨âì (1) |
429 | mov ecx,2 ; ¥¦¨¬ ®âà¨á®¢ª¨ - § ¬®áâ¨âì (1) |
415 | int 0x40 ; ë§ë¢ ¥¬ |
430 | int 0x40 ; ë§ë¢ ¥¬ |
416 | 431 | ||
417 | mov eax,15 ; ãªæ¨ï 15 - à ¡®â á ä®®¢®© £à 䨪®© |
432 | mov eax,15 ; ãªæ¨ï 15 - à ¡®â á ä®®¢®© £à 䨪®© |
418 | mov ebx,1 ; ®¤äãªæ¨ï 1 - ãáâ ®¢¨âì à §¬¥à ä®®¢®£® ¨§®¡à ¦¥¨ï. |
433 | mov ebx,1 ; ®¤äãªæ¨ï 1 - ãáâ ®¢¨âì à §¬¥à ä®®¢®£® ¨§®¡à ¦¥¨ï. |
419 | mov ecx,2 ; ¨à¨ ¨§®¡à ¦¥¨ï |
434 | mov ecx,2 ; ¨à¨ ¨§®¡à ¦¥¨ï |
420 | mov edx,2 ; ëá®â ¨§®¡à ¦¥¨ï |
435 | mov edx,2 ; ëá®â ¨§®¡à ¦¥¨ï |
421 | int 0x40 ; ë§ë¢ ¥¬ |
436 | int 0x40 ; ë§ë¢ ¥¬ |
422 | 437 | ||
423 | mov eax,[color] |
438 | mov eax,[color] |
424 | mov [cm+0],al |
439 | mov [cm+0],al |
425 | mov [cm+9],al |
440 | mov [cm+9],al |
426 | shr eax,8 |
441 | shr eax,8 |
427 | mov [cm+1],al |
442 | mov [cm+1],al |
428 | mov [cm+10],al |
443 | mov [cm+10],al |
429 | shr eax,8 |
444 | shr eax,8 |
430 | mov [cm+2],al |
445 | mov [cm+2],al |
431 | mov [cm+11],al |
446 | mov [cm+11],al |
432 | 447 | ||
433 | mov eax,[color2] |
448 | mov eax,[color2] |
434 | mov [cm+3],al |
449 | mov [cm+3],al |
435 | mov [cm+6],al |
450 | mov [cm+6],al |
436 | shr eax,8 |
451 | shr eax,8 |
437 | mov [cm+4],al |
452 | mov [cm+4],al |
438 | mov [cm+7],al |
453 | mov [cm+7],al |
439 | shr eax,8 |
454 | shr eax,8 |
440 | mov [cm+5],al |
455 | mov [cm+5],al |
441 | mov [cm+8],al |
456 | mov [cm+8],al |
442 | 457 | ||
443 | mov eax,15 ; ãªæ¨ï 15 - à ¡®â á ä®®¢®© £à 䨪®© |
458 | mov eax,15 ; ãªæ¨ï 15 - à ¡®â á ä®®¢®© £à 䨪®© |
444 | mov ebx,5 ; ®¤äãªæ¨ï 5 - ¯®¬¥áâ¨âì ¡«®ª ¯¨ªá¥«¥© ä®. |
459 | mov ebx,5 ; ®¤äãªæ¨ï 5 - ¯®¬¥áâ¨âì ¡«®ª ¯¨ªá¥«¥© ä®. |
445 | mov ecx,cm ; ª § â¥«ì ¤ ë¥ ¢ ä®à¬ ⥠BBGGRRBBGGRR |
460 | mov ecx,cm ; ª § â¥«ì ¤ ë¥ ¢ ä®à¬ ⥠BBGGRRBBGGRR |
446 | mov edx,0 ; C¬¥é¥¨¥ ¢ ¤ ëå ä®®¢®£® ¨§®¡à ¦¥¨ï |
461 | mov edx,0 ; C¬¥é¥¨¥ ¢ ¤ ëå ä®®¢®£® ¨§®¡à ¦¥¨ï |
447 | mov esi,3*4 ; §¬¥à ¤ ëå ¢ ¡ ©â å = 3 * ç¨á«® ¯¨ªá¥«¥© |
462 | mov esi,3*4 ; §¬¥à ¤ ëå ¢ ¡ ©â å = 3 * ç¨á«® ¯¨ªá¥«¥© |
448 | int 0x40 ; ë§ë¢ ¥¬ |
463 | int 0x40 ; ë§ë¢ ¥¬ |
449 | 464 | ||
450 | mov eax,15 ; ãªæ¨ï 15 - à ¡®â á ä®®¢®© £à 䨪®© |
465 | mov eax,15 ; ãªæ¨ï 15 - à ¡®â á ä®®¢®© £à 䨪®© |
451 | mov ebx,3 ; ®¤äãªæ¨ï 3 - ¯¥à¥à¨á®¢ âì ä®. |
466 | mov ebx,3 ; ®¤äãªæ¨ï 3 - ¯¥à¥à¨á®¢ âì ä®. |
452 | int 0x40 ; ë§ë¢ ¥¬ |
467 | int 0x40 ; ë§ë¢ ¥¬ |
453 | 468 | ||
454 | ret |
469 | ret |
455 | ;end_set_background |
470 | ;end_set_background |
456 | 471 | ||
457 | desktop_get: |
472 | desktop_get: |
458 | ;................................................................................................. |
473 | ;................................................................................................. |
459 | ; ¯à¥¤¥«ï¥¬ è¨à¨ã íªà |
474 | ; ¯à¥¤¥«ï¥¬ è¨à¨ã íªà |
460 | ;................................................................................................. |
475 | ;................................................................................................. |
461 | mov eax,14 ; ¯à¥¤¥«ï¥¬ è¨à¨ã íªà (eax = [xsize]*65536 + [ysize]) |
476 | mov eax,14 ; ¯à¥¤¥«ï¥¬ è¨à¨ã íªà (eax = [xsize]*65536 + [ysize]) |
462 | int 0x40 ; xsize = à §¬¥à ¯® £®à¨§®â «¨ - 1 |
477 | int 0x40 ; xsize = à §¬¥à ¯® £®à¨§®â «¨ - 1 |
463 | mov ebx,eax ; |
478 | mov ebx,eax ; |
464 | shr ebx,16 ; ebx = xsize-1 |
479 | shr ebx,16 ; ebx = xsize-1 |
465 | movzx edx,ax ; edx = ysize-1 («¨è¨© ª®¤) |
480 | movzx edx,ax ; edx = ysize-1 («¨è¨© ª®¤) |
466 | inc ebx ; ebx = xsize |
481 | inc ebx ; ebx = xsize |
467 | inc edx ; edx = ysize («¨è¨© ª®¤) |
482 | inc edx ; edx = ysize («¨è¨© ª®¤) |
468 | mov [desctop_w],ebx |
483 | mov [desctop_w],ebx |
469 | mov [desctop_h],edx |
484 | mov [desctop_h],edx |
470 | ret |
485 | ret |
471 | ;end_desktop_get |
486 | ;end_desktop_get |
472 | 487 | ||
473 | mouse_get: |
488 | mouse_get: |
474 | mov esi,2 ; : ä« £ ¤«ï ¨§¡¥¦ ¨ï § 横«¨¢ ¨ï |
489 | mov esi,2 ; : ä« £ ¤«ï ¨§¡¥¦ ¨ï § 横«¨¢ ¨ï |
475 | call mouse_global |
490 | call mouse_global |
476 | call desktop_get |
491 | call desktop_get |
477 | re_mouse_loop: ; : ¬¥âª ¤«ï ¢®§¢à ⠥᫨ ¯®¯ «¨ ¢ á¥âªã |
492 | re_mouse_loop: ; : ¬¥âª ¤«ï ¢®§¢à ⠥᫨ ¯®¯ «¨ ¢ á¥âªã |
478 | mov ebx,[desctop_w] |
493 | mov ebx,[desctop_w] |
479 | imul ebx,[mouse_y] ; ebx = y*xsize |
494 | imul ebx,[mouse_y] ; ebx = y*xsize |
480 | add ebx,[mouse_x] ; ebx = y*xsize+x |
495 | add ebx,[mouse_x] ; ebx = y*xsize+x |
481 | 496 | ||
482 | ;................................................................................................. |
497 | ;................................................................................................. |
483 | ; ¥à¥¬ 梥â á ¯ «¨âàë ¢ ¯¥à¥¬¥ãî |
498 | ; ¥à¥¬ 梥â á ¯ «¨âàë ¢ ¯¥à¥¬¥ãî |
484 | ;................................................................................................. |
499 | ;................................................................................................. |
485 | mov eax,35 ; ãªæ¨ï ¢§ïâ¨ï 梥â |
500 | mov eax,35 ; ãªæ¨ï ¢§ïâ¨ï 梥â |
486 | ;mov ebx,ecx ;; ebx = y*xsize+x («¨è¨© ª®¤) |
501 | ;mov ebx,ecx ;; ebx = y*xsize+x («¨è¨© ª®¤) |
487 | int 0x40 ; ®«ãç ¥¬ 梥⠢ eax |
502 | int 0x40 ; ®«ãç ¥¬ 梥⠢ eax |
488 | cmp eax,[sc.work] ; à ¢¨¢ ¥¬ á ä®®¬ ¯à¨«®¦¥¨ï |
503 | cmp eax,[sc.work] ; à ¢¨¢ ¥¬ á ä®®¬ ¯à¨«®¦¥¨ï |
489 | je mouse_err ; ᫨ íâ® ® - â® ¨ç¥£® ¥ ¤¥« ¥¬ |
504 | je mouse_err ; ᫨ íâ® ® - â® ¨ç¥£® ¥ ¤¥« ¥¬ |
490 | cmp eax,0x222222 ; à ¢¨¢ ¥¬ á 梥⮬ á¥âª¨ |
505 | cmp eax,0x222222 ; à ¢¨¢ ¥¬ á 梥⮬ á¥âª¨ |
491 | je mouse_err ; ᫨ íâ® ® - â® ¨ç¥£® ¥ ¤¥« ¥¬ |
506 | je mouse_err ; ᫨ íâ® ® - â® ¨ç¥£® ¥ ¤¥« ¥¬ |
492 | jmp mouse_set ; : ¯àë£ ¥¬ çâ®¡ë ¥ ¡à âì 梥â á¥âª¨ |
507 | jmp mouse_set ; : ¯àë£ ¥¬ çâ®¡ë ¥ ¡à âì 梥â á¥âª¨ |
493 | mouse_err: ; : ¥á«¨ ¯®¯ «¨ ¢ á¥âªã ¨«¨ ä® |
508 | mouse_err: ; : ¥á«¨ ¯®¯ «¨ ¢ á¥âªã ¨«¨ ä® |
494 | inc [mouse_y] ; : á¬¥é ¥¬ ¯® ¤¨ £® «¨ á ç « ¯® å |
509 | inc [mouse_y] ; : á¬¥é ¥¬ ¯® ¤¨ £® «¨ á ç « ¯® å |
495 | inc [mouse_x] ; : á¬¥é ¥¬ ¯® ¤¨ £® «¨ ¯®â®¬ ¯® ã |
510 | inc [mouse_x] ; : á¬¥é ¥¬ ¯® ¤¨ £® «¨ ¯®â®¬ ¯® ã |
496 | dec esi ; : ¬¥ìè ¥¬ ä« £ |
511 | dec esi ; : ¬¥ìè ¥¬ ä« £ |
497 | cmp esi,0 ; : à ¢¨¢ ¥¬ á ã«¥¬ |
512 | cmp esi,0 ; : à ¢¨¢ ¥¬ á ã«¥¬ |
498 | jz mouse_exit ; : ᫨ ®«ì ⮠ᤥ« «¨ ¢áñ çâ® ¬®£«¨ |
513 | jz mouse_exit ; : ᫨ ®«ì ⮠ᤥ« «¨ ¢áñ çâ® ¬®£«¨ |
499 | jmp re_mouse_loop ; : ᫨ ¥ ®«ì â® ¯®¯à®¡ã¥¬ ¢§ïâì á®á¥«¨© ¯¨ªá¥«ì |
514 | jmp re_mouse_loop ; : ᫨ ¥ ®«ì â® ¯®¯à®¡ã¥¬ ¢§ïâì á®á¥«¨© ¯¨ªá¥«ì |
- | 515 | mouse_set: ; ç¥ § ¯®¬¨ ¥¬ ®¢ë© 梥â |
|
- | 516 | cmp [mouse_f],1 |
|
- | 517 | jne was_right |
|
- | 518 | mov [color],eax |
|
- | 519 | call draw_result |
|
- | 520 | jmp mouse_exit |
|
500 | mouse_set: |
521 | was_right: |
- | 522 | cmp [mouse_f],2 |
|
- | 523 | jne mouse_exit |
|
501 | mov [color],eax ; ç¥ § ¯®¬¨ ¥¬ ®¢ë© 梥â |
524 | mov [color2],eax |
502 | call draw_result ; 뢮¤¨¬ १ã«ìâ â |
525 | call draw_result ; 뢮¤¨¬ १ã«ìâ â |
503 | mouse_exit: |
526 | mouse_exit: |
504 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
527 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
505 | ;end_mouse_get---------------------------------------------------------------------------------------- |
528 | ;end_mouse_get---------------------------------------------------------------------------------------- |
506 | 529 | ||
507 | draw_palitra: |
530 | draw_palitra: |
508 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
531 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
509 | mov ebx,110 shl 16+148 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
532 | mov ebx,110 shl 16+148 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
510 | mov ecx,9 shl 16+148 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
533 | mov ecx,9 shl 16+148 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
511 | mov edx,[sc.work] ; 梥â |
534 | mov edx,[sc.work] ; 梥â |
512 | int 0x40 |
535 | int 0x40 |
513 | 536 | ||
514 | cmp [renmode],2 |
537 | cmp [renmode],2 |
515 | je cyrcle_draw |
538 | je cyrcle_draw |
516 | ;cmp [renmode],1 |
539 | ;cmp [renmode],1 |
517 | ;je picker_draw |
540 | ;je picker_draw |
518 | cmp [renmode],0 |
541 | cmp [renmode],0 |
519 | je sheme_draw |
542 | je sheme_draw |
520 | ret |
543 | ret |
521 | 544 | ||
522 | ;................................................................................................. |
545 | ;................................................................................................. |
523 | ; âà¨á®¢ª ªà㣮¢®© ¤¨ £à ¬¬ë |
546 | ; âà¨á®¢ª ªà㣮¢®© ¤¨ £à ¬¬ë |
524 | ;................................................................................................. |
547 | ;................................................................................................. |
525 | cyrcle_draw: |
548 | cyrcle_draw: |
526 | ;mov eax,13 |
549 | ;mov eax,13 |
527 | ;mov edx,0x666666 |
550 | ;mov edx,0x666666 |
528 | ;mov ebx,108*65536+152 |
551 | ;mov ebx,108*65536+152 |
529 | ;mov ecx,125*65536+33 |
552 | ;mov ecx,125*65536+33 |
530 | ;mcall |
553 | ;mcall |
531 | ;mov edx,0xF3F3F3 |
554 | ;mov edx,0xF3F3F3 |
532 | ;mov ebx,109*65536+150 |
555 | ;mov ebx,109*65536+150 |
533 | ;mov ecx,126*65536+31 |
556 | ;mov ecx,126*65536+31 |
534 | ;mcall |
557 | ;mcall |
535 | 558 | ||
536 | ;mov eax,4 ; 4 - ¢ë¢¥á⨠áâபã ⥪áâ ¢ ®ª® |
559 | ;mov eax,4 ; 4 - ¢ë¢¥á⨠áâபã ⥪áâ ¢ ®ª® |
537 | ;mov ebx,115 shl 16+131 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
560 | ;mov ebx,115 shl 16+131 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
538 | ;mov ecx,0x666666 ; 0xX0RRGGBB (RR, GG, BB § ¤ îâ 梥â ⥪áâ ) |
561 | ;mov ecx,0x666666 ; 0xX0RRGGBB (RR, GG, BB § ¤ îâ 梥â ⥪áâ ) |
539 | ;mov edx,hint ; 㪠§ ⥫ì ç «® áâப¨ |
562 | ;mov edx,hint ; 㪠§ ⥫ì ç «® áâப¨ |
540 | ;mov esi,24 ; ¢ë¢®¤¨âì esi ᨬ¢®«®¢ |
563 | ;mov esi,24 ; ¢ë¢®¤¨âì esi ᨬ¢®«®¢ |
541 | ;mcall |
564 | ;mcall |
542 | ;mov ebx,125 shl 16+144 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
565 | ;mov ebx,125 shl 16+144 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
543 | ;mov edx,hint2 ; 㪠§ ⥫ì ç «® áâப¨ |
566 | ;mov edx,hint2 ; 㪠§ ⥫ì ç «® áâப¨ |
544 | ;mov esi,21 ; ¢ë¢®¤¨âì esi ᨬ¢®«®¢ |
567 | ;mov esi,21 ; ¢ë¢®¤¨âì esi ᨬ¢®«®¢ |
545 | ;mcall |
568 | ;mcall |
546 | - | ||
547 | mov eax,13 |
- | |
548 | mov edx,0x666666 |
- | |
549 | mov ebx,111*65536+145 |
- | |
550 | mov ecx, 9*65536+145 |
- | |
551 | mcall |
569 | |
552 | ;mov edx,[color] |
570 | ;mov edx,[color] |
553 | ;mov ebx,109*65536+150 |
571 | ;mov ebx,109*65536+150 |
554 | ;mov ecx, 10*65536+150 |
572 | ;mov ecx, 10*65536+150 |
555 | ;mcall |
573 | ;mcall |
556 | call mouse_local ; ¯®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® ®ª |
574 | call mouse_local ; ¯®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® ®ª |
557 | mov ecx, [mouse_x] ; § ®á¨¬ ¢ ॣ¨áâà |
575 | mov ecx, [mouse_x] ; § ®á¨¬ ¢ ॣ¨áâà |
558 | mov edx, [mouse_y] ; § ®á¨¬ ¢ ॣ¨áâà |
576 | mov edx, [mouse_y] ; § ®á¨¬ ¢ ॣ¨áâà |
559 | cmp ecx, WIN_W-10 |
577 | cmp ecx, WIN_W-10 |
560 | jg cyrcle_draw_2 |
578 | jg cyrcle_draw_2 |
561 | cmp edx, WIN_H |
579 | cmp edx, WIN_H |
562 | jle end_cyrcle_draw |
580 | jle end_cyrcle_draw |
563 | 581 | ||
564 | cyrcle_draw_2: |
582 | cyrcle_draw_2: |
- | 583 | mcall 5,10 |
|
565 | call desktop_get |
584 | call desktop_get |
566 | call mouse_global |
585 | call mouse_global |
567 | 586 | ||
568 | mov ebx,112*65536+11 |
587 | mov ebx,112*65536+11 |
569 | mov esi,0 ; counter=8 |
588 | mov esi,0 ; counter=8 |
570 | circle_loop: |
589 | circle_loop: |
571 | mov ecx, 10*65536+11 |
590 | mov ecx, 10*65536+11 |
572 | mov edi,0 |
591 | mov edi,0 |
573 | circle_loop2: |
592 | circle_loop2: |
574 | mov eax,13 |
593 | mov eax,13 |
575 | call circle_pixel_read |
594 | call circle_pixel_read |
576 | mcall |
595 | mcall |
577 | add ecx,11 shl 16 |
596 | add ecx,11 shl 16 |
578 | inc edi |
597 | inc edi |
579 | cmp edi,13 |
598 | cmp edi,13 |
580 | jne circle_loop2 |
599 | jne circle_loop2 |
581 | 600 | ||
582 | add ebx,11 shl 16 |
601 | add ebx,11 shl 16 |
583 | inc esi |
602 | inc esi |
584 | cmp esi,13 |
603 | cmp esi,13 |
585 | jne circle_loop |
604 | jne circle_loop |
586 | 605 | ||
587 | 606 | ||
588 | mov eax,13 |
607 | mov eax,13 |
589 | mov edx,0x0 |
608 | mov edx,0x0 |
590 | mov ebx,177*65536+13 |
609 | mov ebx,177*65536+13 |
591 | mov ecx, 76*65536+13 |
610 | mov ecx, 76*65536+13 |
592 | mcall |
611 | mcall |
593 | mov ecx, [mouse_x] |
612 | mov ecx, [mouse_x] |
594 | mov edx, [mouse_y] |
613 | mov edx, [mouse_y] |
595 | inc ecx |
614 | inc ecx |
596 | inc edx |
615 | inc edx |
597 | mov ebx, edx |
616 | mov ebx, edx |
598 | imul ebx, [desctop_w] |
617 | imul ebx, [desctop_w] |
599 | add ebx, ecx |
618 | add ebx, ecx |
600 | mov eax, 35 |
619 | mov eax, 35 |
601 | mcall |
620 | mcall |
602 | mov edx,eax |
621 | mov edx,eax |
603 | mov eax,13 |
622 | mov eax,13 |
604 | mov ebx,178*65536+11 |
623 | mov ebx,178*65536+11 |
605 | mov ecx, 77*65536+11 |
624 | mov ecx, 77*65536+11 |
606 | mcall |
625 | mcall |
- | 626 | ret |
|
607 | end_cyrcle_draw: |
627 | end_cyrcle_draw: |
- | 628 | mov eax,13 |
|
- | 629 | mov edx,0x666666 |
|
- | 630 | mov ebx,111*65536+145 |
|
- | 631 | mov ecx, 9*65536+145 |
|
- | 632 | mcall |
|
608 | ret |
633 | ret |
609 | 634 | ||
610 | circle_pixel_read: |
635 | circle_pixel_read: |
611 | push ecx |
636 | push ecx |
612 | push ebx |
637 | push ebx |
613 | push eax |
638 | push eax |
614 | mov ecx, [mouse_x] |
639 | mov ecx, [mouse_x] |
615 | mov edx, [mouse_y] |
640 | mov edx, [mouse_y] |
616 | inc ecx |
641 | inc ecx |
617 | add ecx, esi |
642 | add ecx, esi |
618 | cmp ecx, 6 |
643 | cmp ecx, 6 |
619 | jl _cpr_exit |
644 | jl _cpr_exit |
620 | sub ecx, 6 |
645 | sub ecx, 6 |
621 | inc edx |
646 | inc edx |
622 | add edx, edi |
647 | add edx, edi |
623 | cmp edx, 6 |
648 | cmp edx, 6 |
624 | jl _cpr_exit |
649 | jl _cpr_exit |
625 | sub edx, 6 |
650 | sub edx, 6 |
626 | 651 | ||
627 | mov ebx, edx |
652 | mov ebx, edx |
628 | imul ebx, [desctop_w] |
653 | imul ebx, [desctop_w] |
629 | add ebx, ecx |
654 | add ebx, ecx |
630 | mov eax, 35 |
655 | mov eax, 35 |
631 | mcall |
656 | mcall |
632 | mov edx,eax |
657 | mov edx,eax |
633 | pop eax |
658 | pop eax |
634 | pop ebx |
659 | pop ebx |
635 | pop ecx |
660 | pop ecx |
636 | ret |
661 | ret |
637 | 662 | ||
638 | _cpr_exit: |
663 | _cpr_exit: |
639 | mov edx,0x00000000 |
664 | mov edx,0x00000000 |
640 | pop eax |
665 | pop eax |
641 | pop ebx |
666 | pop ebx |
642 | pop ecx |
667 | pop ecx |
643 | ret |
668 | ret |
644 | 669 | ||
645 | ;picker_draw: |
670 | ;picker_draw: |
646 | ;ret |
671 | ;ret |
647 | 672 | ||
648 | ;................................................................................................. |
673 | ;................................................................................................. |
649 | ; âà¨á®¢ª ä® ¯®¤ ª®¯ª¨ |
674 | ; âà¨á®¢ª ä® ¯®¤ ª®¯ª¨ |
650 | ;................................................................................................. |
675 | ;................................................................................................. |
651 | sheme_draw: |
676 | sheme_draw: |
652 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
677 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
653 | mov edx,0x222222 ; 梥â |
678 | mov edx,0x222222 ; 梥â |
654 | mov ecx,9 shl 16+73 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
679 | mov ecx,9 shl 16+73 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
655 | mov esi,2 ; ç¥â稪 «¨¨© ¯®¤«®¦¥ª |
680 | mov esi,2 ; ç¥â稪 «¨¨© ¯®¤«®¦¥ª |
656 | re_draw: |
681 | re_draw: |
657 | mov ebx,110 shl 16+73 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
682 | mov ebx,110 shl 16+73 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
658 | mov edi,2 ; ç¥â稪 ª®«¨ç¥á⢠¯®¤«®¦¥ª |
683 | mov edi,2 ; ç¥â稪 ª®«¨ç¥á⢠¯®¤«®¦¥ª |
659 | for_fon_loop: |
684 | for_fon_loop: |
660 | int 0x40 ; à¥àë¢ ¨¥ |
685 | int 0x40 ; à¥àë¢ ¨¥ |
661 | add ebx,75 shl 16 ; ¬¥é ¥¬ ¯®«®¦¥¨¥ «¨¨¨ ¯® å |
686 | add ebx,75 shl 16 ; ¬¥é ¥¬ ¯®«®¦¥¨¥ «¨¨¨ ¯® å |
662 | dec edi ; ¬¥ìè ¥¬ áç¥â稪 ª®¯®ª |
687 | dec edi ; ¬¥ìè ¥¬ áç¥â稪 ª®¯®ª |
663 | cmp edi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
688 | cmp edi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
664 | jnz for_fon_loop ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
689 | jnz for_fon_loop ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
665 | dec esi ; ¬¥ìè ¥¬ ¥£® |
690 | dec esi ; ¬¥ìè ¥¬ ¥£® |
666 | cmp esi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
691 | cmp esi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
667 | mov ecx,84 shl 16+73 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
692 | mov ecx,84 shl 16+73 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
668 | jnz re_draw ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
693 | jnz re_draw ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
669 | 694 | ||
670 | ;................................................................................................. |
695 | ;................................................................................................. |
671 | ; âà¨á®¢ª ª®¯®ª ¯® 横«ã |
696 | ; âà¨á®¢ª ª®¯®ª ¯® 横«ã |
672 | ;................................................................................................. |
697 | ;................................................................................................. |
673 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
698 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
674 | mov edx,0x0FFFFFFF ; 梥â |
699 | mov edx,0x0FFFFFFF ; 梥â |
675 | mov esi,4 ; ç¥â稪 ª®«¨ç¥á⢠¡§ 楢 (#4,8) |
700 | mov esi,4 ; ç¥â稪 ª®«¨ç¥á⢠¡§ 楢 (#4,8) |
676 | mov ebx,99 shl 16+8 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
701 | mov ebx,99 shl 16+8 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
677 | for_abz: |
702 | for_abz: |
678 | ;;push esi ; ®åà 塞 § 票¥ áç¥â稪 «¨¨© ¢ á⥪ |
703 | ;;push esi ; ®åà 塞 § 票¥ áç¥â稪 «¨¨© ¢ á⥪ |
679 | cmp esi,2 |
704 | cmp esi,2 |
680 | jne x2_line |
705 | jne x2_line |
681 | mov ebx,99 shl 16+8 |
706 | mov ebx,99 shl 16+8 |
682 | x2_line: |
707 | x2_line: |
683 | add ebx,3 shl 16 ; ¬¥é ¥¬ ¯®«®¦¥¨¥ «¨¨¨ ¯® x |
708 | add ebx,3 shl 16 ; ¬¥é ¥¬ ¯®«®¦¥¨¥ «¨¨¨ ¯® x |
684 | mov edi,8 ; ç¥â稪 ª®«¨ç¥á⢠ª®¯®ª ¢ áâப¥ |
709 | mov edi,8 ; ç¥â稪 ª®«¨ç¥á⢠ª®¯®ª ¢ áâப¥ |
685 | for_stolbik: |
710 | for_stolbik: |
686 | push edi ; ®åà 塞 § 票¥ áç¥â稪 «¨¨© ¢ á⥪ |
711 | push edi ; ®åà 塞 § 票¥ áç¥â稪 «¨¨© ¢ á⥪ |
687 | mov edi,8 ; ç¥â稪 ª®«¨ç¥á⢠ª®¯®ª ¢ áâப¥ |
712 | mov edi,8 ; ç¥â稪 ª®«¨ç¥á⢠ª®¯®ª ¢ áâப¥ |
688 | mov ecx, 1 shl 16+8 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
713 | mov ecx, 1 shl 16+8 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
689 | cmp esi,2 |
714 | cmp esi,2 |
690 | jg y2_line ; ᫨ ¡®«ìè¥ 4 â® ¨£®à¨¬ |
715 | jg y2_line ; ᫨ ¡®«ìè¥ 4 â® ¨£®à¨¬ |
691 | mov ecx,76 shl 16+8 |
716 | mov ecx,76 shl 16+8 |
692 | y2_line: |
717 | y2_line: |
693 | add ebx,9 shl 16 ; ¬¥é ¥¬ ¯®«®¦¥¨¥ «¨¨¨ ¯® x |
718 | add ebx,9 shl 16 ; ¬¥é ¥¬ ¯®«®¦¥¨¥ «¨¨¨ ¯® x |
694 | for_loop: |
719 | for_loop: |
695 | add ecx,9 shl 16 ; ¬¥é ¥¬ ¯®«®¦¥¨¥ «¨¨¨ ¯® y |
720 | add ecx,9 shl 16 ; ¬¥é ¥¬ ¯®«®¦¥¨¥ «¨¨¨ ¯® y |
696 | int 0x40 ; à¥àë¢ ¨¥ |
721 | int 0x40 ; à¥àë¢ ¨¥ |
697 | call sub_red |
722 | call sub_red |
698 | dec edi ; ¬¥ìè ¥¬ áç¥â稪 ª®¯®ª |
723 | dec edi ; ¬¥ìè ¥¬ áç¥â稪 ª®¯®ª |
699 | cmp edi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
724 | cmp edi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
700 | jnz for_loop ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
725 | jnz for_loop ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
701 | call sub_green |
726 | call sub_green |
702 | pop edi ; ç¥ ¢®ááâ ¢«¨¢ ¥¬ áç¥â稪 «¨¨© |
727 | pop edi ; ç¥ ¢®ááâ ¢«¨¢ ¥¬ áç¥â稪 «¨¨© |
703 | dec edi ; ¬¥ìè ¥¬ ¥£® |
728 | dec edi ; ¬¥ìè ¥¬ ¥£® |
704 | cmp edi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
729 | cmp edi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
705 | jnz for_stolbik ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
730 | jnz for_stolbik ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
706 | call sub_blue |
731 | call sub_blue |
707 | ;;pop esi ; ç¥ ¢®ááâ ¢«¨¢ ¥¬ áç¥â稪 «¨¨© |
732 | ;;pop esi ; ç¥ ¢®ááâ ¢«¨¢ ¥¬ áç¥â稪 «¨¨© |
708 | dec esi ; ¬¥ìè ¥¬ ¥£® |
733 | dec esi ; ¬¥ìè ¥¬ ¥£® |
709 | cmp esi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
734 | cmp esi,0 ; à ¢¨¢ ¥¬ á ã«¥¬ |
710 | jnz for_abz ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
735 | jnz for_abz ; ᫨ ¥ ®«ì â® ¢ ç «® 横« |
711 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
736 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
712 | ;end_draw_palitra------------------------------------------------------------------------------------- |
737 | ;end_draw_palitra------------------------------------------------------------------------------------- |
713 | 738 | ||
714 | 739 | ||
715 | sub_red: |
740 | sub_red: |
716 | ;................................................................................................. |
741 | ;................................................................................................. |
717 | ; áçñâ ᬥ饨© ªà ᮣ® 梥⠢ £¥¥à 樨 梥⠯ «¨âàë |
742 | ; áçñâ ᬥ饨© ªà ᮣ® 梥⠢ £¥¥à 樨 梥⠯ «¨âàë |
718 | ;................................................................................................. |
743 | ;................................................................................................. |
719 | push eax |
744 | push eax |
720 | mov eax,[pnext] |
745 | mov eax,[pnext] |
721 | ;sub_red_0 ; palitra |
746 | ;sub_red_0 ; palitra |
722 | cmp al,0 |
747 | cmp al,0 |
723 | jne sub_red_1 |
748 | jne sub_red_1 |
724 | sub edx,0x40 |
749 | sub edx,0x40 |
725 | jmp sub_red_e |
750 | jmp sub_red_e |
726 | sub_red_1: ; random |
751 | sub_red_1: ; random |
727 | cmp al,1 |
752 | cmp al,1 |
728 | jne sub_red_2 |
753 | jne sub_red_2 |
729 | sub edx,0x20 |
754 | sub edx,0x20 |
730 | jmp sub_red_e |
755 | jmp sub_red_e |
731 | sub_red_2: ; gree |
756 | sub_red_2: ; gree |
732 | cmp al,2 |
757 | cmp al,2 |
733 | jne sub_red_3 |
758 | jne sub_red_3 |
734 | sub edx,0x010101 |
759 | sub edx,0x010101 |
735 | jmp sub_red_e |
760 | jmp sub_red_e |
736 | sub_red_3: ; red |
761 | sub_red_3: ; red |
737 | cmp al,3 |
762 | cmp al,3 |
738 | jne sub_red_4 |
763 | jne sub_red_4 |
739 | sub edx,0x0101 |
764 | sub edx,0x0101 |
740 | jmp sub_red_e |
765 | jmp sub_red_e |
741 | sub_red_4: ; green |
766 | sub_red_4: ; green |
742 | cmp al,4 |
767 | cmp al,4 |
743 | jne sub_red_5 |
768 | jne sub_red_5 |
744 | sub edx,0x010001 |
769 | sub edx,0x010001 |
745 | jmp sub_red_e |
770 | jmp sub_red_e |
746 | sub_red_5: ; blue |
771 | sub_red_5: ; blue |
747 | cmp al,5 |
772 | cmp al,5 |
748 | jne sub_red_e |
773 | jne sub_red_e |
749 | sub edx,0x010100 |
774 | sub edx,0x010100 |
750 | jmp sub_red_e |
775 | jmp sub_red_e |
751 | sub_red_e: |
776 | sub_red_e: |
752 | pop eax |
777 | pop eax |
753 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
778 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
754 | ;end_sub_red------------------------------------------------------------------------------------------ |
779 | ;end_sub_red------------------------------------------------------------------------------------------ |
755 | 780 | ||
756 | sub_green: |
781 | sub_green: |
757 | ;................................................................................................. |
782 | ;................................................................................................. |
758 | ; áçñâ ᬥ饨© ªà ᮣ® 梥⠢ £¥¥à 樨 梥⠯ «¨âàë |
783 | ; áçñâ ᬥ饨© ªà ᮣ® 梥⠢ £¥¥à 樨 梥⠯ «¨âàë |
759 | ;................................................................................................. |
784 | ;................................................................................................. |
760 | push eax |
785 | push eax |
761 | mov eax,[pnext] |
786 | mov eax,[pnext] |
762 | ;sub_green_0 |
787 | ;sub_green_0 |
763 | cmp al,0 |
788 | cmp al,0 |
764 | jne sub_green_1 |
789 | jne sub_green_1 |
765 | sub edx,0x4000 |
790 | sub edx,0x4000 |
766 | jmp sub_green_e |
791 | jmp sub_green_e |
767 | sub_green_1: |
792 | sub_green_1: |
768 | cmp al,1 |
793 | cmp al,1 |
769 | jne sub_green_e |
794 | jne sub_green_e |
770 | sub edx,0x2000 |
795 | sub edx,0x2000 |
771 | ;jmp sub_green_e |
796 | ;jmp sub_green_e |
772 | sub_green_e: |
797 | sub_green_e: |
773 | pop eax |
798 | pop eax |
774 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
799 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
775 | ;end_sub_green---------------------------------------------------------------------------------------- |
800 | ;end_sub_green---------------------------------------------------------------------------------------- |
776 | 801 | ||
777 | 802 | ||
778 | sub_blue: |
803 | sub_blue: |
779 | ;................................................................................................. |
804 | ;................................................................................................. |
780 | ; áçñâ ᬥ饨© ªà ᮣ® 梥⠢ £¥¥à 樨 梥⠯ «¨âàë |
805 | ; áçñâ ᬥ饨© ªà ᮣ® 梥⠢ £¥¥à 樨 梥⠯ «¨âàë |
781 | ;................................................................................................. |
806 | ;................................................................................................. |
782 | push eax |
807 | push eax |
783 | mov eax,[pnext] |
808 | mov eax,[pnext] |
784 | ;sub_blue_0 |
809 | ;sub_blue_0 |
785 | cmp al,0 |
810 | cmp al,0 |
786 | jne sub_blue_1 |
811 | jne sub_blue_1 |
787 | sub edx,0x600000 |
812 | sub edx,0x600000 |
788 | jmp sub_blue_e |
813 | jmp sub_blue_e |
789 | sub_blue_1: |
814 | sub_blue_1: |
790 | cmp al,1 |
815 | cmp al,1 |
791 | jne sub_blue_e |
816 | jne sub_blue_e |
792 | sub edx,0x400000 |
817 | sub edx,0x400000 |
793 | ;jmp sub_blue_e |
818 | ;jmp sub_blue_e |
794 | sub_blue_e: |
819 | sub_blue_e: |
795 | pop eax |
820 | pop eax |
796 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
821 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
797 | ;end_sub_blue----------------------------------------------------------------------------------------- |
822 | ;end_sub_blue----------------------------------------------------------------------------------------- |
798 | 823 | ||
799 | draw_result: |
824 | draw_result: |
800 | ;................................................................................................. |
825 | ;................................................................................................. |
801 | ; ®«ìè ï à ¬ª ¢ë¢®¤ १ã«ìâ â |
826 | ; ®«ìè ï à ¬ª ¢ë¢®¤ १ã«ìâ â |
802 | ;................................................................................................. |
827 | ;................................................................................................. |
803 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
828 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
804 | mov edx,0x00666666 ; 梥â-®¡¢®¤ª¨ |
829 | mov edx,0x00666666 ; 梥â-®¡¢®¤ª¨ |
805 | mov ebx,4 shl 16+98 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
830 | mov ebx,4 shl 16+98 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
806 | mov ecx,9 shl 16+148 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
831 | mov ecx,9 shl 16+148 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
807 | int 0x40 |
832 | int 0x40 |
808 | mov edx,0x00F3F3F3 ; 梥â-ä® |
833 | mov edx,0x00F3F3F3 ; 梥â-ä® |
809 | mov ebx,5 shl 16+96 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
834 | mov ebx,5 shl 16+96 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
810 | mov ecx,10 shl 16+146 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
835 | mov ecx,10 shl 16+146 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
811 | int 0x40 |
836 | int 0x40 |
812 | 837 | ||
813 | ;................................................................................................. |
838 | ;................................................................................................. |
814 | ; âà¨á®¢ª १ã«ìâ â 梥⠢ hex color2 |
839 | ; âà¨á®¢ª १ã«ìâ â 梥⠢ hex color2 |
815 | ;................................................................................................. |
840 | ;................................................................................................. |
816 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
841 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
817 | ; color 2 - draw fringle |
842 | ; color 2 - draw fringle |
818 | mov edx,0x222222 ; 梥â-®¡¢®¤ª¨ |
843 | mov edx,0x222222 ; 梥â-®¡¢®¤ª¨ |
819 | mov ebx,16 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
844 | mov ebx,16 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
820 | mov ecx,16 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
845 | mov ecx,16 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
821 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
846 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
822 | ; color 2 - draw color |
847 | ; color 2 - draw color |
823 | mov edx,[color2] ; 梥â |
848 | mov edx,[color2] ; 梥â |
824 | mov ebx,17 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
849 | mov ebx,17 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
825 | mov ecx,17 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
850 | mov ecx,17 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
826 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
851 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
827 | ; color 1 - draw fringle |
852 | ; color 1 - draw fringle |
828 | mov edx,0x222222 ; 梥â-®¡¢®¤ª¨ |
853 | mov edx,0x222222 ; 梥â-®¡¢®¤ª¨ |
829 | mov ebx,11 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
854 | mov ebx,11 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
830 | mov ecx,12 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
855 | mov ecx,12 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
831 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
856 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
832 | ; value - draw fringle |
857 | ; value - draw fringle |
833 | mov ebx,34 shl 16+62 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
858 | mov ebx,34 shl 16+62 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
834 | mov ecx,16 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
859 | mov ecx,16 shl 16+15 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
835 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
860 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
836 | 861 | ||
837 | ; color 2 - draw color |
862 | ; color 2 - draw color |
838 | mov edx,[color] ; 梥â |
863 | mov edx,[color] ; 梥â |
839 | mov ebx,12 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
864 | mov ebx,12 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
840 | mov ecx,13 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
865 | mov ecx,13 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
841 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
866 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
842 | ; value - draw background |
867 | ; value - draw background |
843 | mov edx,0xFFFFFF ; 梥â-ä® |
868 | mov edx,0xFFFFFF ; 梥â-ä® |
844 | mov ebx,35 shl 16+60 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
869 | mov ebx,35 shl 16+60 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
845 | mov ecx,17 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
870 | mov ecx,17 shl 16+13 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
846 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
871 | int 0x40 ; à¥àë¢ ¨¥ (®á à¨áã¥â ¯àאַ㣮«ì¨ª) |
847 | 872 | ||
848 | mov eax,47 ; ãªæ¨ï 47 - ¢ë¢®¤ ç¨á« ¢ ®ª® |
873 | mov eax,47 ; ãªæ¨ï 47 - ¢ë¢®¤ ç¨á« ¢ ®ª® |
849 | mov ecx,[color] ; ç¨á«® (¯à¨ bl=0) ¨«¨ 㪠§ ⥫ì (¯à¨ bl=1) |
874 | mov ecx,[color] ; ç¨á«® (¯à¨ bl=0) ¨«¨ 㪠§ ⥫ì (¯à¨ bl=1) |
850 | mov esi,0x0 ; 0xX0RRGGBB |
875 | mov esi,0x0 ; 0xX0RRGGBB |
851 | mov ebx,256+8 shl 16 ; ¯ à ¬¥âàë ¯à¥®¡à §®¢ ¨ï ç¨á« ¢ ⥪áâ (HEX) |
876 | mov ebx,256+8 shl 16 ; ¯ à ¬¥âàë ¯à¥®¡à §®¢ ¨ï ç¨á« ¢ ⥪áâ (HEX) |
852 | mov edx,45 shl 16+20 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
877 | mov edx,45 shl 16+20 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
853 | int 0x40 ; à¥àë¢ ¨¥ - ¢ë¢®¤¨¬ १ã«ìâ â ¢ ®ª® (HEX) |
878 | int 0x40 ; à¥àë¢ ¨¥ - ¢ë¢®¤¨¬ १ã«ìâ â ¢ ®ª® (HEX) |
854 | 879 | ||
855 | mov eax,4 ; äãªæ¨ï 4: ¯¨á âì ⥪áâ ¢ ®ª¥ |
880 | mov eax,4 ; äãªæ¨ï 4: ¯¨á âì ⥪áâ ¢ ®ª¥ |
856 | mov ebx,38*65536+20 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
881 | mov ebx,38*65536+20 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
857 | mov ecx,0x0 ; 梥â ⥪áâ RRGGBB |
882 | mov ecx,0x0 ; 梥â ⥪áâ RRGGBB |
858 | mov edx,hex ; à¨á㥬 '#' |
883 | mov edx,hex ; à¨á㥬 '#' |
859 | mov esi,1 ; ¤«¨ ⥪áâ ¢ ¡ ©â å |
884 | mov esi,1 ; ¤«¨ ⥪áâ ¢ ¡ ©â å |
860 | int 0x40 |
885 | int 0x40 |
861 | 886 | ||
862 | ;................................................................................................. |
887 | ;................................................................................................. |
863 | ; âà¨á®¢ª r g b § 票© |
888 | ; âà¨á®¢ª r g b § 票© |
864 | ;................................................................................................. |
889 | ;................................................................................................. |
865 | call get_spectr |
890 | call get_spectr |
866 | 891 | ||
867 | movzx eax,[cred] ; ªà áë© |
892 | movzx eax,[cred] ; ªà áë© |
868 | mov ebx,9*65536+142 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
893 | mov ebx,9*65536+142 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
869 | call draw_value ; ¢ë¢®¤¨¬ १ã«ìâ â |
894 | call draw_value ; ¢ë¢®¤¨¬ १ã«ìâ â |
870 | 895 | ||
871 | movzx eax,[cgreen] ; §¥«¥ë© |
896 | movzx eax,[cgreen] ; §¥«¥ë© |
872 | mov ebx,32*65536+142 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
897 | mov ebx,32*65536+142 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
873 | call draw_value ; ¢ë¢®¤¨¬ १ã«ìâ â |
898 | call draw_value ; ¢ë¢®¤¨¬ १ã«ìâ â |
874 | 899 | ||
875 | movzx eax,[cblue] ; ᨨ© |
900 | movzx eax,[cblue] ; ᨨ© |
876 | mov ebx,55*65536+142 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
901 | mov ebx,55*65536+142 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
877 | call draw_value ; ¢ë¢®¤¨¬ १ã«ìâ â |
902 | call draw_value ; ¢ë¢®¤¨¬ १ã«ìâ â |
878 | 903 | ||
879 | movzx eax,[calpha] ; «ìä |
904 | movzx eax,[calpha] ; «ìä |
880 | mov ebx,78*65536+142 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
905 | mov ebx,78*65536+142 ; [x ç «ìë©] *65536 + [y ç «ìë©] |
881 | call draw_value ; ¢ë¢®¤¨¬ १ã«ìâ â |
906 | call draw_value ; ¢ë¢®¤¨¬ १ã«ìâ â |
882 | 907 | ||
883 | ;................................................................................................. |
908 | ;................................................................................................. |
884 | ; 뢮¤¨¬ ¡ãª¢ë r g b a |
909 | ; 뢮¤¨¬ ¡ãª¢ë r g b a |
885 | ;................................................................................................. |
910 | ;................................................................................................. |
886 | mov eax,4 ; 4 - ¢ë¢¥á⨠áâபã ⥪áâ ¢ ®ª® |
911 | mov eax,4 ; 4 - ¢ë¢¥á⨠áâபã ⥪áâ ¢ ®ª® |
887 | mov ebx,16 shl 16+40 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
912 | mov ebx,16 shl 16+40 ; [ª®®à¤¨ â ¯® ®á¨ x]*65536 + [ª®®à¤¨ â ¯® ®á¨ y] |
888 | mov ecx,0x0 ; 0xX0RRGGBB (RR, GG, BB § ¤ îâ 梥â ⥪áâ ) |
913 | mov ecx,0x0 ; 0xX0RRGGBB (RR, GG, BB § ¤ îâ 梥â ⥪áâ ) |
889 | mov edx,cname ; 㪠§ ⥫ì ç «® áâப¨ |
914 | mov edx,cname ; 㪠§ ⥫ì ç «® áâப¨ |
890 | mov esi,1 ; ¢ë¢®¤¨âì esi ᨬ¢®«®¢ |
915 | mov esi,1 ; ¢ë¢®¤¨âì esi ᨬ¢®«®¢ |
891 | newline: ; 横« |
916 | newline: ; 横« |
892 | int 0x40 ; à¥àë¢ ¨¥ |
917 | int 0x40 ; à¥àë¢ ¨¥ |
893 | add ebx,23 shl 16 ; ®¡ ¢«ï¥¬ |
918 | add ebx,23 shl 16 ; ®¡ ¢«ï¥¬ |
894 | add edx,1 ; ®¡ ¢«ï¥¬ |
919 | add edx,1 ; ®¡ ¢«ï¥¬ |
895 | cmp [edx],byte 'x' ; à ¢¥¨¥ á ¡ ©â®¬ å |
920 | cmp [edx],byte 'x' ; à ¢¥¨¥ á ¡ ©â®¬ å |
896 | jne newline ; ᫨ ¥ ã«ì ¨«¨ ¥ à ¢® |
921 | jne newline ; ᫨ ¥ ã«ì ¨«¨ ¥ à ¢® |
897 | 922 | ||
898 | ;................................................................................................. |
923 | ;................................................................................................. |
899 | ; âà¨á®¢ª á« ©¤¥à®¢ |
924 | ; âà¨á®¢ª á« ©¤¥à®¢ |
900 | ;................................................................................................. |
925 | ;................................................................................................. |
901 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
926 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
902 | mov edx,0x222222 ; 梥â-®¡¢®¤ª¨ |
927 | mov edx,0x222222 ; 梥â-®¡¢®¤ª¨ |
903 | mov ebx,16 shl 16+4 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
928 | mov ebx,16 shl 16+4 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
904 | mov ecx,51 shl 16+86 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
929 | mov ecx,51 shl 16+86 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
905 | int 0x40 |
930 | int 0x40 |
906 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
931 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
907 | int 0x40 |
932 | int 0x40 |
908 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
933 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
909 | int 0x40 |
934 | int 0x40 |
910 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
935 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
911 | int 0x40 |
936 | int 0x40 |
912 | 937 | ||
913 | mov edx,0xFA0919 ; 梥â-®¡¢®¤ª¨ |
938 | mov edx,0xFA0919 ; 梥â-®¡¢®¤ª¨ |
914 | mov ebx,17 shl 16+2 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
939 | mov ebx,17 shl 16+2 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
915 | mov ecx,52 shl 16+84 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
940 | mov ecx,52 shl 16+84 ; ç «ìë¥ ª®®à¤¨ âë ¯® y [ª-â y]*65536 + [à §¬¥à] |
916 | int 0x40 |
941 | int 0x40 |
917 | mov edx,0x08CE19 ; 梥â-®¡¢®¤ª¨ |
942 | mov edx,0x08CE19 ; 梥â-®¡¢®¤ª¨ |
918 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
943 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
919 | int 0x40 |
944 | int 0x40 |
920 | mov edx,0x0909FF ; 梥â-®¡¢®¤ª¨ |
945 | mov edx,0x0909FF ; 梥â-®¡¢®¤ª¨ |
921 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
946 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
922 | int 0x40 |
947 | int 0x40 |
923 | mov edx,0xE4E4E4 ; 梥â-®¡¢®¤ª¨ |
948 | mov edx,0xE4E4E4 ; 梥â-®¡¢®¤ª¨ |
924 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
949 | add ebx,23 shl 16 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â y]*65536 + [à §¬¥à] |
925 | int 0x40 |
950 | int 0x40 |
926 | 951 | ||
927 | ;................................................................................................. |
952 | ;................................................................................................. |
928 | ; âà¨á®¢ª ¯®«§ãª®¢ |
953 | ; âà¨á®¢ª ¯®«§ãª®¢ |
929 | ;................................................................................................. |
954 | ;................................................................................................. |
930 | mov edx,0x0 ; 梥â-¯®«§ãª®¢ |
955 | mov edx,0x0 ; 梥â-¯®«§ãª®¢ |
931 | mov ebx,17 shl 16+11 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
956 | mov ebx,17 shl 16+11 ; ç «ìë¥ ª®®à¤¨ âë ¯® x [ª-â x]*65536 + [à §¬¥à] |
932 | movzx eax,[cred] ; ¡¥à¥¬ § 票¥ 梥â |
957 | movzx eax,[cred] ; ¡¥à¥¬ § 票¥ 梥â |
933 | call draw_slider |
958 | call draw_slider |
934 | add ebx,23 shl 16 |
959 | add ebx,23 shl 16 |
935 | movzx eax,[cgreen] ; ¡¥à¥¬ § 票¥ 梥â |
960 | movzx eax,[cgreen] ; ¡¥à¥¬ § 票¥ 梥â |
936 | call draw_slider |
961 | call draw_slider |
937 | add ebx,23 shl 16 |
962 | add ebx,23 shl 16 |
938 | movzx eax,[cblue] ; ¡¥à¥¬ § 票¥ 梥â |
963 | movzx eax,[cblue] ; ¡¥à¥¬ § 票¥ 梥â |
939 | call draw_slider |
964 | call draw_slider |
940 | add ebx,23 shl 16 |
965 | add ebx,23 shl 16 |
941 | movzx eax,[calpha] ; ¡¥à¥¬ § 票¥ 梥â |
966 | movzx eax,[calpha] ; ¡¥à¥¬ § 票¥ 梥â |
942 | call draw_slider |
967 | call draw_slider |
943 | 968 | ||
944 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
969 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
945 | ;end_draw_result |
970 | ;end_draw_result |
946 | 971 | ||
947 | draw_slider: |
972 | draw_slider: |
948 | xor ecx,ecx |
973 | xor ecx,ecx |
949 | mov cl,0x3 ; ¡ã¤¥¬ ¤¥«¨âì ¥£® 3 â ª ª ª ¯®«§ãª¨ ¤«¨®© 85 ¯¨ªá¥«¥© |
974 | mov cl,0x3 ; ¡ã¤¥¬ ¤¥«¨âì ¥£® 3 â ª ª ª ¯®«§ãª¨ ¤«¨®© 85 ¯¨ªá¥«¥© |
950 | div cl ; ¤¥«¨¬ - 楫®¥ ¢ al ®áâ ⮪ ¢ ah |
975 | div cl ; ¤¥«¨¬ - 楫®¥ ¢ al ®áâ ⮪ ¢ ah |
951 | mov cl,136 ; ¨¦ïï â®çª ¯®«§ãª |
976 | mov cl,136 ; ¨¦ïï â®çª ¯®«§ãª |
952 | sub cl,al ; cl=cl-al |
977 | sub cl,al ; cl=cl-al |
953 | shl ecx,16 |
978 | shl ecx,16 |
954 | add ecx,1 ; § ¤ ¥¬ ç «ì®¥ ¯®«®¦¥¨¥ |
979 | add ecx,1 ; § ¤ ¥¬ ç «ì®¥ ¯®«®¦¥¨¥ |
955 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
980 | mov eax,13 ; ãªæ¨ï 13 - à¨á®¢ âì ¯àאַ㣮«ì¨ª |
956 | int 0x40 |
981 | int 0x40 |
957 | push ebx ; á®åà 塞 ¤«ï á«¥¤ãî饣® ¯®«§ãª x+w |
982 | push ebx ; á®åà 塞 ¤«ï á«¥¤ãî饣® ¯®«§ãª x+w |
958 | sub ebx,8 ; â ª ª ª è¨à¨ «¨¨¨ 11 â® ®â¨¬ ¥¬ 8 çâ®¡ë ªã¡¨ª áâ « è¨à¨®© 3 |
983 | sub ebx,8 ; â ª ª ª è¨à¨ «¨¨¨ 11 â® ®â¨¬ ¥¬ 8 çâ®¡ë ªã¡¨ª áâ « è¨à¨®© 3 |
959 | add ebx,8 shl 16 ; ®®à¤¨ âë ¯® x ¤«ï ª¢ ¤à â ¯®«§ãª¥ á¬¥é ¥¬ 8 ¢ ¯à ¢® |
984 | add ebx,8 shl 16 ; ®®à¤¨ âë ¯® x ¤«ï ª¢ ¤à â ¯®«§ãª¥ á¬¥é ¥¬ 8 ¢ ¯à ¢® |
960 | inc ecx ; ¡ë¤«®ª®¤¨¬ ¢ëá®âã ¯®«§ãª ¤® 3-å (1+1=2) |
985 | inc ecx ; ¡ë¤«®ª®¤¨¬ ¢ëá®âã ¯®«§ãª ¤® 3-å (1+1=2) |
961 | inc ecx ; (2+1=3) ã ¢®â ã á ¡ã¤¥â ªã¡¨ª 3å3 8 ¢ ¯à ¢® ®â «¨¨¨ |
986 | inc ecx ; (2+1=3) ã ¢®â ã á ¡ã¤¥â ªã¡¨ª 3å3 8 ¢ ¯à ¢® ®â «¨¨¨ |
962 | int 0x40 ; à¨á㥬 |
987 | int 0x40 ; à¨á㥬 |
963 | pop ebx ; ¢®ááâ ¢«¨¢ ¥¬ ®à¬ «ìë¥ ª®®à¤¨ âë |
988 | pop ebx ; ¢®ááâ ¢«¨¢ ¥¬ ®à¬ «ìë¥ ª®®à¤¨ âë |
964 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
989 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
965 | 990 | ||
966 | ;end_slider |
991 | ;end_slider |
967 | 992 | ||
968 | draw_value: |
993 | draw_value: |
969 | ;................................................................................................. |
994 | ;................................................................................................. |
970 | ; 뢮¤ ç¨á« ¨§ áâப¨ ¢ 㪠§ ®© ®¡« á⨠|
995 | ; 뢮¤ ç¨á« ¨§ áâப¨ ¢ 㪠§ ®© ®¡« á⨠|
971 | ;................................................................................................. |
996 | ;................................................................................................. |
972 | push ebx ; á®åà 塞 ¯à¨á« ë¥ ª®®à¤¨ âë |
997 | push ebx ; á®åà 塞 ¯à¨á« ë¥ ª®®à¤¨ âë |
973 | mov ebx,10 ; ãáâ ¢«¨¢ ¥¬ ®á®¢ ¨¥ á¨á⥬ë áç¨á«¥¨ï |
998 | mov ebx,10 ; ãáâ ¢«¨¢ ¥¬ ®á®¢ ¨¥ á¨á⥬ë áç¨á«¥¨ï |
974 | mov edi,buff ; 㪠§ ⥫ì áâப㠡ãä¥à |
999 | mov edi,buff ; 㪠§ ⥫ì áâப㠡ãä¥à |
975 | call int2ascii ; ª®¢¥àâ¨à㥬 ç¨á«® ¨ «®¦¨¬ ª ª áâப㠢 ¡ãä¥à + esi ¤«¨ |
1000 | call int2ascii ; ª®¢¥àâ¨à㥬 ç¨á«® ¨ «®¦¨¬ ª ª áâப㠢 ¡ãä¥à + esi ¤«¨ |
976 | mov eax,4 ; äãªæ¨ï 4: ¯¨á âì ⥪áâ ¢ ®ª¥ |
1001 | mov eax,4 ; äãªæ¨ï 4: ¯¨á âì ⥪áâ ¢ ®ª¥ |
977 | pop ebx ; ¤®áâ ¥¬ ¨§ á⥪ ¯à¨á« ë¥ ª®®à¤¨ âë |
1002 | pop ebx ; ¤®áâ ¥¬ ¨§ á⥪ ¯à¨á« ë¥ ª®®à¤¨ âë |
978 | cmp esi,2 ; |
1003 | cmp esi,2 ; |
979 | jne draw_value_1 |
1004 | jne draw_value_1 |
980 | add ebx,4 shl 16 |
1005 | add ebx,4 shl 16 |
981 | jmp draw_value_e |
1006 | jmp draw_value_e |
982 | draw_value_1: |
1007 | draw_value_1: |
983 | cmp esi,1 |
1008 | cmp esi,1 |
984 | jne draw_value_e |
1009 | jne draw_value_e |
985 | add ebx,7 shl 16 |
1010 | add ebx,7 shl 16 |
986 | draw_value_e: |
1011 | draw_value_e: |
987 | mov ecx,0x0 ; 梥â ⥪áâ RRGGBB |
1012 | mov ecx,0x0 ; 梥â ⥪áâ RRGGBB |
988 | mov edx,buff ; 㪠§ ⥫ì ç «® ⥪áâ |
1013 | mov edx,buff ; 㪠§ ⥫ì ç «® ⥪áâ |
989 | int 0x40 |
1014 | int 0x40 |
990 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1015 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
991 | ;end_draw_value |
1016 | ;end_draw_value |
992 | 1017 | ||
993 | _read_params: |
1018 | _read_params: |
994 | 1019 | ||
995 | mov al,[params+2] |
1020 | mov al,[params+2] |
996 | mov [params_c+0],al |
1021 | mov [params_c+0],al |
997 | 1022 | ||
998 | mov al,[params+3] |
1023 | mov al,[params+3] |
999 | mov [params_c+1],al |
1024 | mov [params_c+1],al |
1000 | 1025 | ||
1001 | mov al,[params+4] |
1026 | mov al,[params+4] |
1002 | mov [params_c+2],al |
1027 | mov [params_c+2],al |
1003 | 1028 | ||
1004 | mov al,[params+5] |
1029 | mov al,[params+5] |
1005 | mov [params_c+3],al |
1030 | mov [params_c+3],al |
1006 | 1031 | ||
1007 | mov al,[params+6] |
1032 | mov al,[params+6] |
1008 | mov [params_c+4],al |
1033 | mov [params_c+4],al |
1009 | 1034 | ||
1010 | mov al,[params+7] |
1035 | mov al,[params+7] |
1011 | mov [params_c+5],al |
1036 | mov [params_c+5],al |
1012 | 1037 | ||
1013 | mov al,[params+8] |
1038 | mov al,[params+8] |
1014 | mov [params_c+6],al |
1039 | mov [params_c+6],al |
1015 | 1040 | ||
1016 | mov al,[params+9] |
1041 | mov al,[params+9] |
1017 | mov [params_c+7],al |
1042 | mov [params_c+7],al |
1018 | 1043 | ||
1019 | mov esi,params_c |
1044 | mov esi,params_c |
1020 | mov ecx,16 |
1045 | mov ecx,16 |
1021 | call ascii2int |
1046 | call ascii2int |
1022 | mov [color],eax |
1047 | mov [color],eax |
1023 | 1048 | ||
1024 | mov al,[params+11] |
1049 | mov al,[params+11] |
1025 | mov [params_c+0],al |
1050 | mov [params_c+0],al |
1026 | 1051 | ||
1027 | mov al,[params+12] |
1052 | mov al,[params+12] |
1028 | mov [params_c+1],al |
1053 | mov [params_c+1],al |
1029 | 1054 | ||
1030 | mov al,[params+13] |
1055 | mov al,[params+13] |
1031 | mov [params_c+2],al |
1056 | mov [params_c+2],al |
1032 | 1057 | ||
1033 | mov al,[params+14] |
1058 | mov al,[params+14] |
1034 | mov [params_c+3],al |
1059 | mov [params_c+3],al |
1035 | 1060 | ||
1036 | mov al,[params+15] |
1061 | mov al,[params+15] |
1037 | mov [params_c+4],al |
1062 | mov [params_c+4],al |
1038 | 1063 | ||
1039 | mov al,[params+16] |
1064 | mov al,[params+16] |
1040 | mov [params_c+5],al |
1065 | mov [params_c+5],al |
1041 | 1066 | ||
1042 | mov al,[params+17] |
1067 | mov al,[params+17] |
1043 | mov [params_c+6],al |
1068 | mov [params_c+6],al |
1044 | 1069 | ||
1045 | mov al,[params+18] |
1070 | mov al,[params+18] |
1046 | mov [params_c+7],al |
1071 | mov [params_c+7],al |
1047 | 1072 | ||
1048 | mov esi,params_c |
1073 | mov esi,params_c |
1049 | mov ecx,16 |
1074 | mov ecx,16 |
1050 | call ascii2int |
1075 | call ascii2int |
1051 | mov [color2],eax |
1076 | mov [color2],eax |
1052 | 1077 | ||
1053 | ret |
1078 | ret |
1054 | 1079 | ||
1055 | hex_digit: |
1080 | hex_digit: |
1056 | ;................................................................................................. |
1081 | ;................................................................................................. |
1057 | ; ८¡à §®¢ ¨¥ ¢ ASCII (¢¥ § ¢¨á¨¬®á⨠®â á¨á⥬ë áç¨á«¥¨ï) |
1082 | ; ८¡à §®¢ ¨¥ ¢ ASCII (¢¥ § ¢¨á¨¬®á⨠®â á¨á⥬ë áç¨á«¥¨ï) |
1058 | ;................................................................................................. |
1083 | ;................................................................................................. |
1059 | cmp dl,10 ; ¢ dl ®¦¨¤ ¥âáï ç¨á«® ®â 0 ¤® 15 |
1084 | cmp dl,10 ; ¢ dl ®¦¨¤ ¥âáï ç¨á«® ®â 0 ¤® 15 |
1060 | jb .less ; ¥á«¨ dl<10 â® ¯¥à¥å®¤¨¬ |
1085 | jb .less ; ¥á«¨ dl<10 â® ¯¥à¥å®¤¨¬ |
1061 | add dl,'A'-10 ; 10->A 11->B 12->C ... |
1086 | add dl,'A'-10 ; 10->A 11->B 12->C ... |
1062 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1087 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1063 | .less: |
1088 | .less: |
1064 | or dl,'0' ; ᫨ á¨á⥬ áç¨á«¥¨ï 10-ï ¨ ¬¥¥¥ |
1089 | or dl,'0' ; ᫨ á¨á⥬ áç¨á«¥¨ï 10-ï ¨ ¬¥¥¥ |
1065 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1090 | ret ; ®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1066 | ;end_hex_digit |
1091 | ;end_hex_digit |
1067 | 1092 | ||
1068 | int2ascii: |
1093 | int2ascii: |
1069 | ;................................................................................................. |
1094 | ;................................................................................................. |
1070 | ; ८¡à §®¢ ¨¥ ç¨á« ¢ áâபã |
1095 | ; ८¡à §®¢ ¨¥ ç¨á« ¢ áâபã |
1071 | ;................................................................................................. |
1096 | ;................................................................................................. |
1072 | ; eax - 32-å § 箥 ç¨á«® |
1097 | ; eax - 32-å § 箥 ç¨á«® |
1073 | ; ebx - ®á®¢ ¨¥ á¨á⥬ë áç¨á«¥¨ï |
1098 | ; ebx - ®á®¢ ¨¥ á¨á⥬ë áç¨á«¥¨ï |
1074 | ; edi - 㪠§ ⥫ì áâப㠡ãä¥à |
1099 | ; edi - 㪠§ ⥫ì áâப㠡ãä¥à |
1075 | ; ®§¢à é ¥â § ¯®«¥ë© ¡ãä¥à ¨ esi - ¤«¨ áâப¨ |
1100 | ; ®§¢à é ¥â § ¯®«¥ë© ¡ãä¥à ¨ esi - ¤«¨ áâப¨ |
1076 | ;pushad |
1101 | ;pushad |
1077 | xor esi,esi ; § ã«ï¥¬ áç¥â稪 ᨬ¢®«®¢ |
1102 | xor esi,esi ; § ã«ï¥¬ áç¥â稪 ᨬ¢®«®¢ |
1078 | convert_loop: |
1103 | convert_loop: |
1079 | xor edx,edx ; § ã«ï¥¬ ॣ¨áâà ¯®¤ ®áâ ⮪ |
1104 | xor edx,edx ; § ã«ï¥¬ ॣ¨áâà ¯®¤ ®áâ ⮪ |
1080 | div ebx ; eax/ebx - ®áâ ⮪ ¢ edx |
1105 | div ebx ; eax/ebx - ®áâ ⮪ ¢ edx |
1081 | call hex_digit ; ¯à¥®¡à §ã¥¬ ᨬ¢®« |
1106 | call hex_digit ; ¯à¥®¡à §ã¥¬ ᨬ¢®« |
1082 | push edx ; «®¦¨¬ ¢ á⥪ |
1107 | push edx ; «®¦¨¬ ¢ á⥪ |
1083 | inc esi ; 㢥«¨ç¨¢ ¥¬ áç¥â稪 |
1108 | inc esi ; 㢥«¨ç¨¢ ¥¬ áç¥â稪 |
1084 | test eax,eax ; ¥á«¨ ¥é¥ ¬®¦® ¤¥«¨âì |
1109 | test eax,eax ; ¥á«¨ ¥é¥ ¬®¦® ¤¥«¨âì |
1085 | jnz convert_loop ; â® ¤¥«¨¥¬ ¥é¥ |
1110 | jnz convert_loop ; â® ¤¥«¨¥¬ ¥é¥ |
1086 | cld ; á¡à áë¢ ¥¬ ä« £ ¯à ¢«¥¨ï DF (§ ¯¨áì ¢¯¥àñ¤) |
1111 | cld ; á¡à áë¢ ¥¬ ä« £ ¯à ¢«¥¨ï DF (§ ¯¨áì ¢¯¥àñ¤) |
1087 | write_loop: ; ¨ ç¥ |
1112 | write_loop: ; ¨ ç¥ |
1088 | pop eax ; ¤®áâ ¥¬ ¨§ á⥪ ¢ ¥ å |
1113 | pop eax ; ¤®áâ ¥¬ ¨§ á⥪ ¢ ¥ å |
1089 | stosb ; § ¯¨áë¢ ¥¬ ¢ ¡ãä¥à ¯® ¤à¥áã ES:(E)DI |
1114 | stosb ; § ¯¨áë¢ ¥¬ ¢ ¡ãä¥à ¯® ¤à¥áã ES:(E)DI |
1090 | dec esi ; 㬥ìè ¥¬ áç¥â稪 |
1115 | dec esi ; 㬥ìè ¥¬ áç¥â稪 |
1091 | test esi,esi ; ¥á«¨ ¥áâì çâ® ¤®áâ ¢ âì ¨§ á⥪ |
1116 | test esi,esi ; ¥á«¨ ¥áâì çâ® ¤®áâ ¢ âì ¨§ á⥪ |
1092 | jnz write_loop ; â® ¤®áâ ñ¬ |
1117 | jnz write_loop ; â® ¤®áâ ñ¬ |
1093 | mov byte [edi],0 ; ¨ ç¥ ¤®¯¨áëë¢ ¥¬ ã«¥¢®© ¡ ©â |
1118 | mov byte [edi],0 ; ¨ ç¥ ¤®¯¨áëë¢ ¥¬ ã«¥¢®© ¡ ©â |
1094 | ;popad ; ¢®ááâ ¢«¨¢ ¥¬ § 票ï ॣ¨áâ஢ |
1119 | ;popad ; ¢®ááâ ¢«¨¢ ¥¬ § 票ï ॣ¨áâ஢ |
1095 | ; ª®¤ ¨¦¥ ¥ ¨¬¥¥â ¨ç¥£® ®¡é¥£® ª äãªæ¨¨, ¯à®áâ® ¢®§¢à é ¥â ¥é¥ ¤«¨ã ¯®«ã祮© áâப¨ |
1120 | ; ª®¤ ¨¦¥ ¥ ¨¬¥¥â ¨ç¥£® ®¡é¥£® ª äãªæ¨¨, ¯à®áâ® ¢®§¢à é ¥â ¥é¥ ¤«¨ã ¯®«ã祮© áâப¨ |
1096 | mov edi,buff ; 㪠§ ⥫ì ç «® ⥪áâ |
1121 | mov edi,buff ; 㪠§ ⥫ì ç «® ⥪áâ |
1097 | call str_len |
1122 | call str_len |
1098 | mov esi,eax |
1123 | mov esi,eax |
1099 | ret ; ¨ ¢®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1124 | ret ; ¨ ¢®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1100 | ;end_int2ascii |
1125 | ;end_int2ascii |
1101 | 1126 | ||
1102 | char2byte: |
1127 | char2byte: |
1103 | sub al,'0' |
1128 | sub al,'0' |
1104 | cmp al,10 |
1129 | cmp al,10 |
1105 | jb done |
1130 | jb done |
1106 | add al,'0' |
1131 | add al,'0' |
1107 | and al,0x5f |
1132 | and al,0x5f |
1108 | sub al,'A'-10 |
1133 | sub al,'A'-10 |
1109 | and al,0x0f |
1134 | and al,0x0f |
1110 | done: |
1135 | done: |
1111 | ret |
1136 | ret |
1112 | ;end_char2byte |
1137 | ;end_char2byte |
1113 | 1138 | ||
1114 | ascii2int: |
1139 | ascii2int: |
1115 | ;................................................................................................. |
1140 | ;................................................................................................. |
1116 | ; ८¡à §®¢ ¨¥ áâப¨ ¢ ç¨á«® |
1141 | ; ८¡à §®¢ ¨¥ áâப¨ ¢ ç¨á«® |
1117 | ;................................................................................................. |
1142 | ;................................................................................................. |
1118 | ; esi - 㪠§ ⥫ì ã«ìâ¥à¬¨¨à®¢ ãî áâபã |
1143 | ; esi - 㪠§ ⥫ì ã«ìâ¥à¬¨¨à®¢ ãî áâபã |
1119 | ; ecx - ®á®¢ ¨¥ á¨á⥬ë áç¨á«¥¨ï |
1144 | ; ecx - ®á®¢ ¨¥ á¨á⥬ë áç¨á«¥¨ï |
1120 | ; ®§¢à é ¥â eax - ç¨á«® |
1145 | ; ®§¢à é ¥â eax - ç¨á«® |
1121 | push esi |
1146 | push esi |
1122 | xor eax,eax |
1147 | xor eax,eax |
1123 | xor ebx,ebx |
1148 | xor ebx,ebx |
1124 | cmp byte [esi],'-' |
1149 | cmp byte [esi],'-' |
1125 | jnz .next |
1150 | jnz .next |
1126 | inc esi |
1151 | inc esi |
1127 | .next: |
1152 | .next: |
1128 | lodsb |
1153 | lodsb |
1129 | or al,al |
1154 | or al,al |
1130 | jz .done |
1155 | jz .done |
1131 | call char2byte |
1156 | call char2byte |
1132 | imul ebx,ecx |
1157 | imul ebx,ecx |
1133 | add ebx,eax |
1158 | add ebx,eax |
1134 | jmp .next |
1159 | jmp .next |
1135 | .done: |
1160 | .done: |
1136 | xchg ebx,eax |
1161 | xchg ebx,eax |
1137 | pop esi |
1162 | pop esi |
1138 | cmp byte [esi],'-' |
1163 | cmp byte [esi],'-' |
1139 | jz .negate |
1164 | jz .negate |
1140 | ret |
1165 | ret |
1141 | .negate: |
1166 | .negate: |
1142 | neg eax |
1167 | neg eax |
1143 | ret |
1168 | ret |
1144 | ;end_ascii2int |
1169 | ;end_ascii2int |
1145 | 1170 | ||
1146 | get_spectr: |
1171 | get_spectr: |
1147 | ;................................................................................................. |
1172 | ;................................................................................................. |
1148 | ; ¢®§¢à é ¥â r,g,b á®á⮢«ïî騥 梥â |
1173 | ; ¢®§¢à é ¥â r,g,b á®á⮢«ïî騥 梥â |
1149 | ;................................................................................................. |
1174 | ;................................................................................................. |
1150 | mov ecx,[color] |
1175 | mov ecx,[color] |
1151 | mov [cblue],cl |
1176 | mov [cblue],cl |
1152 | shr ecx,8 |
1177 | shr ecx,8 |
1153 | mov [cgreen],cl |
1178 | mov [cgreen],cl |
1154 | shr ecx,8 |
1179 | shr ecx,8 |
1155 | mov [cred],cl |
1180 | mov [cred],cl |
1156 | shr ecx,8 |
1181 | shr ecx,8 |
1157 | mov [calpha],cl |
1182 | mov [calpha],cl |
1158 | ret ; ¨ ¢®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1183 | ret ; ¨ ¢®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1159 | ;end_get_spectr |
1184 | ;end_get_spectr |
1160 | 1185 | ||
1161 | set_spectr: |
1186 | set_spectr: |
1162 | ;................................................................................................. |
1187 | ;................................................................................................. |
1163 | ; ãáâ ¢«¨¢ ¥â ¨§ r,g,b 梥â |
1188 | ; ãáâ ¢«¨¢ ¥â ¨§ r,g,b 梥â |
1164 | ;................................................................................................. |
1189 | ;................................................................................................. |
1165 | movzx eax,[calpha] |
1190 | movzx eax,[calpha] |
1166 | shl eax,8 |
1191 | shl eax,8 |
1167 | mov al,[cred] |
1192 | mov al,[cred] |
1168 | shl eax,8 |
1193 | shl eax,8 |
1169 | mov al,[cgreen] |
1194 | mov al,[cgreen] |
1170 | shl eax,8 |
1195 | shl eax,8 |
1171 | mov al,[cblue] |
1196 | mov al,[cblue] |
1172 | mov [color],eax |
1197 | mov [color],eax |
1173 | call draw_result ; 뢮¤¨¬ १ã«ìâ â |
1198 | call draw_result ; 뢮¤¨¬ १ã«ìâ â |
1174 | ret ; ¨ ¢®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1199 | ret ; ¨ ¢®§¢à é ¥¬ ã¯à ¢«¥¨¥ |
1175 | ;end_get_spectr |
1200 | ;end_get_spectr |
1176 | 1201 | ||
1177 | str_len: |
1202 | str_len: |
1178 | ;................................................................................................. |
1203 | ;................................................................................................. |
1179 | ; ®¯à¥¤¥«ï¥â ¤«¨ã áâப¨ (¢å®¤->EDI ZS offset ; ¢ë室->EAX ZS length) |
1204 | ; ®¯à¥¤¥«ï¥â ¤«¨ã áâப¨ (¢å®¤->EDI ZS offset ; ¢ë室->EAX ZS length) |
1180 | ;................................................................................................. |
1205 | ;................................................................................................. |
1181 | push ecx |
1206 | push ecx |
1182 | push esi |
1207 | push esi |
1183 | push edi |
1208 | push edi |
1184 | 1209 | ||
1185 | cld |
1210 | cld |
1186 | xor al, al |
1211 | xor al, al |
1187 | mov ecx, 0FFFFFFFFh |
1212 | mov ecx, 0FFFFFFFFh |
1188 | mov esi, edi |
1213 | mov esi, edi |
1189 | repne scasb |
1214 | repne scasb |
1190 | sub edi, esi |
1215 | sub edi, esi |
1191 | mov eax, edi |
1216 | mov eax, edi |
1192 | dec eax |
1217 | dec eax |
1193 | 1218 | ||
1194 | pop edi |
1219 | pop edi |
1195 | pop esi |
1220 | pop esi |
1196 | pop ecx |
1221 | pop ecx |
1197 | 1222 | ||
1198 | ret |
1223 | ret |
1199 | ;end_str_len |
1224 | ;end_str_len |
1200 | 1225 | ||
1201 | 1226 | ||
1202 | 1227 | ||
1203 | ;#___________________________________________________________________________________________________ |
1228 | ;#___________________________________________________________________________________________________ |
1204 | ;****************************************************************************************************| |
1229 | ;****************************************************************************************************| |
1205 | ; | |
1230 | ; | |
1206 | ;----------------------------------------------------------------------------------------------------/ |
1231 | ;----------------------------------------------------------------------------------------------------/ |
1207 | circle: |
1232 | circle: |
1208 | cm db 12 dup(0) |
1233 | cm db 12 dup(0) |
1209 | color dd 00000000h ; åà ¨â § 票¥ ¢ë¡à ®£® 梥â |
1234 | color dd 00000000h ; åà ¨â § 票¥ ¢ë¡à ®£® 梥â |
1210 | color2 dd 00FFFFFFh ; åà ¨â § 票¥ ¢â®à®£® ¢ë¡à ®£® 梥â |
1235 | color2 dd 00FFFFFFh ; åà ¨â § 票¥ ¢â®à®£® ¢ë¡à ®£® 梥â |
1211 | mouse_x dd 0 ; åà ¨â £«®¡ «ìãî å ª®®à¤¨ âã ¬ëè¨ |
1236 | mouse_x dd 0 ; åà ¨â £«®¡ «ìãî å ª®®à¤¨ âã ¬ëè¨ |
1212 | mouse_y dd 0 ; åà ¨â £«®¡ «ìãî ã ª®®à¤¨ âã ¬ëè¨ |
1237 | mouse_y dd 0 ; åà ¨â £«®¡ «ìãî ã ª®®à¤¨ âã ¬ëè¨ |
1213 | mouse_f dd 0 ; åà ¨â ¤ ë¥ ® ⮬ ª ª ï ª®¯ª ¬ëè¨ ¡ë« ¦ â |
1238 | mouse_f dd 0 ; åà ¨â ¤ ë¥ ® ⮬ ª ª ï ª®¯ª ¬ëè¨ ¡ë« ¦ â |
1214 | desctop_w dd 0 ; åà ¨â è¨à¨ã íªà |
1239 | desctop_w dd 0 ; åà ¨â è¨à¨ã íªà |
1215 | desctop_h dd 0 ; åà ¨â ¢ëá®âã íªà |
1240 | desctop_h dd 0 ; åà ¨â ¢ëá®âã íªà |
1216 | sc system_colors ; åà ¨â áâàãªâãàã á¨á⥬ëå 梥⮢ ᪨ |
1241 | sc system_colors ; åà ¨â áâàãªâãàã á¨á⥬ëå 梥⮢ ᪨ |
1217 | title db 'Palitra v0.7',0 ; åà ¨â ¨¬ï ¯à®£à ¬¬ë |
1242 | title db 'Palitra v0.75',0 ; åà ¨â ¨¬ï ¯à®£à ¬¬ë |
1218 | hidden db 'Hidden',0 |
1243 | hidden db 'Hidden',0 |
1219 | hex db '#',0 ; ¤«ï ¢ë¢®¤ à¥èñ⪨ ª ª ⥪áâ |
1244 | hex db '#',0 ; ¤«ï ¢ë¢®¤ à¥èñ⪨ ª ª ⥪áâ |
1220 | cname db 'RGBAx' ; åà ¨â à §àï¤ë 梥⮢ (red,green,blue) x-¬¥âª ª®æ |
1245 | cname db 'RGBAx' ; åà ¨â à §àï¤ë 梥⮢ (red,green,blue) x-¬¥âª ª®æ |
1221 | cred db 0 ; åà ¨¬ ªà áë© á¯¥ªàâ |
1246 | cred db 0 ; åà ¨¬ ªà áë© á¯¥ªàâ |
1222 | cgreen db 0 ; åà ¨¬ §¥«¥ë© ᯥªâà |
1247 | cgreen db 0 ; åà ¨¬ §¥«¥ë© ᯥªâà |
1223 | cblue db 0 ; åà ¨¬ ᨨ© ᯥªâà |
1248 | cblue db 0 ; åà ¨¬ ᨨ© ᯥªâà |
1224 | calpha db 0 ; åà ¨¬ ¯à®§à ç®áâì |
1249 | calpha db 0 ; åà ¨¬ ¯à®§à ç®áâì |
1225 | larrow db 0x1A,0 |
1250 | larrow db 0x1A,0 |
1226 | buff db '000',0 |
1251 | buff db '000',0 |
1227 | bground db 'BACKGROUND',0 ; ¨¬ï ª®¯ª¨ - 14 |
1252 | bground db 'BACKGROUND',0 ; ¨¬ï ª®¯ª¨ - 14 |
1228 | pnext dd 0 ; áç¥â稪 ¯¥à¥ª«îç¥¨ï ¯ «¨âàë |
1253 | pnext dd 0 ; áç¥â稪 ¯¥à¥ª«îç¥¨ï ¯ «¨âàë |
1229 | renmode dd 0 ; ०¨¬ ®âà¨á®¢ª¨ (1-梥⮢ ï á奬 ,2-¯¨¯¥âª ,3-ªà㣮¢ ï) |
1254 | renmode dd 0 ; ०¨¬ ®âà¨á®¢ª¨ (1-梥⮢ ï á奬 ,2-¯¨¯¥âª ,3-ªà㣮¢ ï) |
1230 | runmode dd 1 ; ०¨¬ § ¯ã᪠(1-normal, 2-hidden, 3-colordialog) |
1255 | runmode dd 1 ; ०¨¬ § ¯ã᪠(1-normal, 2-hidden, 3-colordialog) |
1231 | params db 20 dup(0) ; ¯à¨ñ¬ ¯ à ¬¥â஢ |
1256 | params db 20 dup(0) ; ¯à¨ñ¬ ¯ à ¬¥â஢ |
1232 | params_c db 9 dup(0) ; ¯à¨ñ¬¨ª ¤«ï 梥â |
1257 | params_c db 9 dup(0) ; ¯à¨ñ¬¨ª ¤«ï 梥â |
1233 | 1258 | ||
1234 | 1259 | ||
1235 | 1260 | ||
1236 | I_END:10>------+ |
1261 | I_END:10>------+ |
1237 | > |
1262 | > |