Rev 2091 | Rev 2197 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2091 | Rev 2139 | ||
---|---|---|---|
Line -... | Line 1... | ||
- | 1 | ;; h2d2b v0.4 use editbox by IgorA ;; |
|
- | 2 | ;; 30.08.2011 ;; |
|
- | 3 | ||
1 | ;; h2d2b v0.3 system colors by Leency ;; |
4 | ;; h2d2b v0.3 system colors by Leency ;; |
2 | ;; 21.08.2011 ;; |
5 | ;; 21.08.2011 ;; |
Line 3... | Line 6... | ||
3 | 6 | ||
4 | ;; hex2dec2bin 0.2 by Alexei Ershov ;; |
7 | ;; hex2dec2bin 0.2 by Alexei Ershov ;; |
Line 5... | Line 8... | ||
5 | ;; 16.11.2006 ;; |
8 | ;; 16.11.2006 ;; |
6 | 9 | ||
7 | use32 |
10 | use32 |
8 | org 0x0 |
11 | org 0x0 |
Line 9... | Line 12... | ||
9 | db 'MENUET01' |
12 | db 'MENUET01' |
10 | dd 0x01,start,i_end,e_end,e_end,0,0 |
13 | dd 0x01,start,i_end,e_end,e_end,0,sys_path |
- | 14 | ||
- | 15 | include '../../../proc32.inc' |
|
- | 16 | include '../../../macros.inc' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§ì áᥬ¡«¥à騪®¢! |
|
Line -... | Line 17... | ||
- | 17 | include '../../../develop/libraries/box_lib/load_lib.mac' |
|
Line 11... | Line 18... | ||
11 | 18 | include '../../../develop/libraries/box_lib/trunk/box_lib.mac' |
|
- | 19 | include 'lang.inc' |
|
- | 20 | ||
- | 21 | @use_library |
|
- | 22 | ||
- | 23 | start: |
|
- | 24 | load_libraries l_libs_start,l_libs_end |
|
12 | include '../../../proc32.inc' |
25 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì è ¡¨¡«¨®â¥ª |
- | 26 | mov ebp,lib_0 |
|
- | 27 | cmp dword [ebp+ll_struc_size-4],0 |
|
- | 28 | jz @f |
|
Line -... | Line 29... | ||
- | 29 | mcall -1 ;exit not correct |
|
13 | include '../../../macros.inc' ; ìàêðîñû îáëåã÷àþò æèçíü àññåìáëåðùèêîâ! |
30 | @@: |
Line 14... | Line 31... | ||
14 | 31 | mcall 40,0x27 |
|
15 | 32 | mcall 48, 3, sys_colors, 40 |
|
Line 16... | Line 33... | ||
16 | start: |
33 | edit_boxes_set_sys_color edit1,editboxes_end,sys_colors |
17 | red: |
34 | |
18 | 35 | red: |
|
19 | call draw_window |
36 | call draw_window |
20 | 37 | ||
21 | still: |
38 | still: |
- | 39 | mcall 10 ; äãªæ¨ï 10 - ¦¤ âì ᮡëâ¨ï |
|
- | 40 | ||
Line 22... | Line 41... | ||
22 | mcall 10 ; ôóíêöèÿ 10 - æäàòü ñîáûòèÿ |
41 | cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª® ? |
Line 23... | Line 42... | ||
23 | 42 | je red ; ¥á«¨ ¤ - ¬¥âªã red |
|
Line 24... | Line 43... | ||
24 | cmp eax,1 ; ïåðåðèñîâàòü îêíî ? |
43 | cmp eax,2 ; ¦ â ª« ¢¨è ? |
25 | je red ; åñëè äà - íà ìåòêó red |
- | |
26 | cmp eax,2 ; íàæàòà êëàâèøà ? |
44 | je key ; ¥á«¨ ¤ - key |
27 | je key ; åñëè äà - íà key |
- | |
28 | cmp eax,3 ; íàæàòà êíîïêà ? |
- | |
29 | je button ; åñëè äà - íà button |
- | |
30 | - | ||
31 | jmp still ; åñëè äðóãîå ñîáûòèå - â íà÷àëî öèêëà |
- | |
32 | - | ||
33 | ;--------------------------------------------------------------------- |
- | |
34 | - | ||
35 | key: ; íàæàòà êëàâèøà íà êëàâèàòóðå |
- | |
36 | mov eax, 2 |
- | |
37 | mcall |
- | |
38 | mov edi, [index] |
- | |
39 | cmp edi, string1 |
- | |
40 | jz no_back |
- | |
41 | - | ||
42 | cmp ah, 8 |
- | |
43 | jnz no_back |
- | |
44 | - | ||
45 | dec edi |
- | |
46 | mov byte [edi], ' ' |
- | |
47 | mov [index], edi |
45 | cmp eax,3 ; ¦ â ª®¯ª ? |
48 | call Draw_String |
- | |
49 | jmp still |
46 | je button ; ¥á«¨ ¤ - button |
Line 50... | Line 47... | ||
50 | no_back: |
47 | cmp eax,6 |
51 | cmp ah, 13 |
48 | je mouse |
52 | jz read_str |
49 | |
Line 91... | Line 88... | ||
91 | jbe @f |
88 | jbe @f |
92 | sub dl, 'A'-'9'-1 |
89 | sub dl, 'A'-'9'-1 |
93 | @@: |
90 | @@: |
94 | cmp dl, bl |
91 | cmp dl, bl |
95 | jb @f |
92 | jb @f |
96 | ; Çäåñü îáðàáîòàòü îøèáêó |
93 | ; ¤¥áì ®¡à ¡®â âì ®è¨¡ªã |
Line 97... | Line 94... | ||
97 | 94 | ||
98 | jmp .done |
95 | jmp .done |
99 | @@: |
96 | @@: |
100 | push ecx |
97 | push ecx |
Line 106... | Line 103... | ||
106 | xchg eax, ecx |
103 | xchg eax, ecx |
107 | dec edi |
104 | dec edi |
108 | jmp next_digit |
105 | jmp next_digit |
Line 109... | Line 106... | ||
109 | 106 | ||
110 | .done: |
107 | .done: |
111 | mov [num], eax ; ñîõðàíÿåì ââåäåííîå ÷èñëî |
- | |
112 | xor eax, eax |
- | |
113 | mov al, ' ' |
- | |
114 | mov edi, string1 |
- | |
115 | mov [index], edi |
- | |
116 | mov ecx, string1_end-string1 |
- | |
117 | rep stosb ; ñòèðàåì ââåäåííóþ ñòðîêó |
108 | mov [num], eax ; á®åà 塞 ¢¢¥¤¥®¥ ç¨á«® |
Line 118... | Line 109... | ||
118 | jmp red |
109 | jmp red |
Line 119... | Line 110... | ||
119 | 110 | ||
120 | ;--------------------------------------------------------------------- |
111 | ;--------------------------------------------------------------------- |
121 | 112 | ||
122 | button: |
113 | button: |
123 | mcall 17 ; 17 - ïîëó÷èòü èäåíòèôèêàòîð íàæàòîé êíîïêè |
114 | mcall 17 ; 17 - ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ |
124 | cmp ah, 1 ; åñëè ÍÅ íàæàòà êíîïêà ñ íîìåðîì 1, |
115 | cmp ah, 1 ; ¥á«¨ ¦ â ª®¯ª á ®¬¥à®¬ 1, |
125 | jne @f |
116 | jne @f |
126 | mcall -1 |
117 | mcall -1 |
Line 134... | Line 125... | ||
134 | jne @f |
125 | jne @f |
135 | shr [num], 1 |
126 | shr [num], 1 |
136 | jmp red |
127 | jmp red |
137 | @@: |
128 | @@: |
138 | cmp ah, 4 |
129 | cmp ah, 4 |
139 | jne still |
130 | jne @f |
140 | sar [num], 1 |
131 | sar [num], 1 |
141 | jmp red |
132 | jmp red |
- | 133 | @@: |
|
- | 134 | cmp ah, 5 |
|
- | 135 | jne @f |
|
- | 136 | mov edi,string1 |
|
- | 137 | add edi,[edit1.size] ;ãáâ ¢«¨¢ ¥¬ ¢ edi ª®¥æ áâப¨ |
|
- | 138 | jmp read_str |
|
- | 139 | ;jmp red |
|
- | 140 | @@: |
|
- | 141 | jmp still |
|
- | 142 | ||
- | 143 | mouse: |
|
- | 144 | stdcall [edit_box_mouse], edit1 |
|
- | 145 | jmp still |
|
Line 142... | Line 146... | ||
142 | 146 | ||
143 | ;------------------------------------------------ |
147 | ;------------------------------------------------ |
144 | draw_window: |
148 | draw_window: |
145 | ;------------------------------------------------ |
149 | ;------------------------------------------------ |
Line 151... | Line 155... | ||
151 | ;mov esi, 0x80000000 |
155 | ;mov esi, 0x80000000 |
152 | ;or esi, [sys_colors.grab_text] |
156 | ;or esi, [sys_colors.grab_text] |
153 | mcall 0, 200*65536+300, 200*65536+175, ,,title |
157 | mcall 0, 200*65536+300, 200*65536+175, ,,title |
Line 154... | Line 158... | ||
154 | 158 | ||
155 | 159 | ||
156 | mcall 8, 15 *65536+ 38, 90*65536+ 15, 2, [sys_colors.work_button] ; êíîïêà shl |
160 | mcall 8, 15 *65536+ 38, 90*65536+ 15, 2, [sys_colors.work_button] ; ª®¯ª shl |
157 | mcall , ,110*65536+ 15, , ; êíîïêà sal |
161 | mcall , ,110*65536+ 15, , ; ª®¯ª sal |
- | 162 | mcall , (300-53)*65536+ 38, 90*65536+ 15, 3, ; ª®¯ª shr |
|
Line 158... | Line 163... | ||
158 | mcall , (300-53)*65536+ 38, 90*65536+ 15, 3, ; êíîïêà shr |
163 | mcall , ,110*65536+ 15, 4, ; ª®¯ª sar |
159 | mcall , ,110*65536+ 15, 4, ; êíîïêà sar |
164 | mcall , ,145*65536+ 15, 5, ; ª®¯ª Ok |
160 | 165 | ||
161 | mov ecx, 0x80000000 |
166 | mov ecx, 0x80000000 |
Line 170... | Line 175... | ||
170 | or ecx, [sys_colors.work_button_text] |
175 | or ecx, [sys_colors.work_button_text] |
171 | mcall , 26*65536+94, , shlstr,3 |
176 | mcall , 26*65536+94, , shlstr,3 |
172 | mcall , (300-42)*65536+94, , shrstr, |
177 | mcall , (300-42)*65536+94, , shrstr, |
173 | mcall , 26*65536+114, , salstr, |
178 | mcall , 26*65536+114, , salstr, |
174 | mcall , (300-42)*65536+114, , sarstr, |
179 | mcall , (300-42)*65536+114, , sarstr, |
- | 180 | mcall , (300-42)*65536+149, , Okstr, |
|
175 | mov ecx, [num] |
181 | mov ecx, [num] |
Line 176... | Line 182... | ||
176 | 182 | ||
177 | 183 | ||
178 | mcall 47, 8*65536+256,,240*65536+72,[sys_colors.work_text] ; 16-íàÿ |
184 | mcall 47, 8*65536+256,,240*65536+72,[sys_colors.work_text] ; 16- ï |
179 | mcall , 10*65536, ,228*65536+44, ; 10-íàÿ |
185 | mcall , 10*65536, ,228*65536+44, ; 10- ï |
180 | mcall , 8*65536+512,,240*65536+30, ; 2-íàÿ |
186 | mcall , 8*65536+512,,240*65536+30, ; 2- ï |
181 | ror ecx, 8 |
187 | ror ecx, 8 |
182 | mcall , ,,(240-56)*65536+30, |
188 | mcall , ,,(240-56)*65536+30, |
183 | ror ecx, 8 |
189 | ror ecx, 8 |
Line 188... | Line 194... | ||
188 | mov [minus], '+' |
194 | mov [minus], '+' |
189 | jnc @f |
195 | jnc @f |
190 | mov [minus], '-' |
196 | mov [minus], '-' |
191 | neg ecx |
197 | neg ecx |
192 | @@: |
198 | @@: |
193 | mcall , 10*65536,,228*65536+58, ; 10-íàÿ ñî çíàêîì |
199 | mcall , 10*65536,,228*65536+58, ; 10- ï á® § ª®¬ |
194 | mcall 4, 222*65536+58, 0, minus, 1 |
200 | mcall 4, 222*65536+58, 0, minus, 1 |
195 | mcall 38, 15*65536+300-15, 137*65536+137, [sys_colors.work_graph] |
201 | mcall 38, 15*65536+300-15, 137*65536+137, [sys_colors.work_graph] |
196 | call Draw_String |
202 | stdcall [edit_box_draw], edit1 |
197 | mcall 12, 2 ; ôóíêöèÿ 12: ñîîáùèòü ÎÑ îá îòðèñîâêå îêíà |
203 | mcall 12, 2 ; äãªæ¨ï 12: á®®¡é¨âì ®¡ ®âà¨á®¢ª¥ ®ª |
Line 198... | Line 204... | ||
198 | 204 | ||
Line 199... | Line -... | ||
199 | ret |
- | |
200 | - | ||
201 | ;------------------------------------------------- |
- | |
202 | Draw_String: |
- | |
203 | ;------------------------------------------------- |
- | |
204 | - | ||
205 | mcall 4, 60*65536+150, 0x40A40473, \ |
- | |
Line 206... | Line 205... | ||
206 | string1,string1_end-string1,0x00AABBCC |
205 | ret |
207 | ret |
206 | |
208 | 207 | ||
209 | ;------------------------------------------------- |
208 | ;------------------------------------------------- |
Line 242... | Line 241... | ||
242 | 241 | ||
243 | ;------------------------------------------------- |
242 | ;------------------------------------------------- |
244 | string1: |
243 | string1: |
245 | db 34 dup(' ') |
244 | db 34 dup(' ') |
246 | string1_end: |
- | |
247 | index dd string1 |
245 | string1_end: |
Line 248... | Line 246... | ||
248 | num dd 0 |
246 | num dd 0 |
249 | 247 | ||
250 | - | ||
251 | title db 'hex2dec2bin 0.3',0 |
248 | |
252 | minus db '-',0 |
249 | title db 'hex2dec2bin 0.4',0 |
253 | numstr db 'Number:',0 |
250 | minus db '-',0 |
254 | hexstr db 'hex:',0 |
251 | hexstr db 'hex:',0 |
255 | binstr db 'bin:',0 |
252 | binstr db 'bin:',0 |
256 | decstr db 'dec:',0 |
253 | decstr db 'dec:',0 |
257 | sdecstr db 'signed dec:',0 |
254 | sdecstr db 'signed dec:',0 |
258 | shlstr db 'shl',0 |
255 | shlstr db 'shl',0 |
Line -... | Line 256... | ||
- | 256 | salstr db 'sal',0 |
|
- | 257 | shrstr db 'shr',0 |
|
- | 258 | sarstr db 'sar',0 |
|
- | 259 | ||
- | 260 | if lang eq ru |
|
- | 261 | numstr db '¨á«®:',0 |
|
- | 262 | Okstr db '¢®¤',0 |
|
- | 263 | head_f_i: |
|
- | 264 | head_f_l db '¨á⥬ ï ®è¨¡ª ',0 |
|
- | 265 | else |
|
- | 266 | numstr db 'Number:',0 |
|
- | 267 | Okstr db 'Ok',0 |
|
- | 268 | head_f_i: |
|
- | 269 | head_f_l db 'System error',0 |
|
- | 270 | end if |
|
- | 271 | ||
- | 272 | mouse_dd dd 0 |
|
- | 273 | edit1 edit_box 182, 59, 146, 0xffffff, 0xff, 0x80ff, 0, 0x8000, (string1_end-string1), string1, mouse_dd, 0 |
|
- | 274 | editboxes_end: |
|
- | 275 | ||
- | 276 | system_dir_0 db '/sys/lib/' |
|
- | 277 | lib_name_0 db 'box_lib.obj',0 |
|
- | 278 | err_msg_found_lib_0 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'box_lib.obj',39,0 |
|
- | 279 | err_msg_import_0 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'box_lib',39,0 |
|
- | 280 | ||
- | 281 | l_libs_start: |
|
- | 282 | lib_0 l_libs lib_name_0, sys_path, library_path, system_dir_0,\ |
|
- | 283 | err_msg_found_lib_0,head_f_l,import_box_lib,err_msg_import_0,head_f_i |
|
- | 284 | l_libs_end: |
|
- | 285 | ||
- | 286 | align 4 |
|
- | 287 | import_box_lib: |
|
- | 288 | ;dd sz_init1 |
|
- | 289 | edit_box_draw dd sz_edit_box_draw |
|
- | 290 | edit_box_key dd sz_edit_box_key |
|
- | 291 | edit_box_mouse dd sz_edit_box_mouse |
|
- | 292 | ;edit_box_set_text dd sz_edit_box_set_text |
|
- | 293 | dd 0,0 |
|
- | 294 | ;sz_init1 db 'lib_init',0 |
|
- | 295 | sz_edit_box_draw db 'edit_box',0 |
|
259 | salstr db 'sal',0 |
296 | sz_edit_box_key db 'edit_box_key',0 |
260 | shrstr db 'shr',0 |
297 | sz_edit_box_mouse db 'edit_box_mouse',0 |
261 | sarstr db 'sar',0 |
298 | ;sz_edit_box_set_text db 'edit_box_set_text',0 |
262 | - | ||
- | 299 | ||
- | 300 | i_end: |
|
263 | i_end: |
301 | sys_colors system_colors |