Rev 8271 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8271 | Rev 9568 | ||
---|---|---|---|
1 | ; à®£à ¬¬ ¤«ï ¯à¥®¡à §®¢ ¨ï ç¨á¥« ¨§ áâப¨ |
1 | ; à®£à ¬¬ ¤«ï ¯à¥®¡à §®¢ ¨ï ç¨á¥« ¨§ áâப¨ |
2 | ; ¢ ä®à¬ â float, double, â ª¦¥ ¨§ 10 ¨«¨ 16 à¨ç®£® |
2 | ; ¢ ä®à¬ â float, double, â ª¦¥ ¨§ 10 ¨«¨ 16 à¨ç®£® |
3 | ; ¢® float. |
3 | ; ¢® float. |
4 | ; ¤¥« ®á®¢¥ hex2dec2bin ¨ ¯à¨¬¥à®¢ ¨§ ä ©« list2_05.inc |
4 | ; ¤¥« ®á®¢¥ hex2dec2bin ¨ ¯à¨¬¥à®¢ ¨§ ä ©« list2_05.inc |
5 | ; ( ¢â®à ã« ª®¢ « ¤¨¬¨à ¥ ¤ì¥¢¨ç 24.05.2002), |
5 | ; ( ¢â®à ã« ª®¢ « ¤¨¬¨à ¥ ¤ì¥¢¨ç 24.05.2002), |
6 | ; ª®â®àë¥ ChE ¯¥à¥¤¥« « á 16 32 ¡¨â áᥬ¡«¥à fasm. |
6 | ; ª®â®àë¥ ChE ¯¥à¥¤¥« « á 16 32 ¡¨â áᥬ¡«¥à fasm. |
7 | ; à®£à ¬¬ ¯®§¢®«ï¥â à¥è âì â ª¨¥ § ¤ ç¨: |
7 | ; à®£à ¬¬ ¯®§¢®«ï¥â à¥è âì â ª¨¥ § ¤ ç¨: |
8 | ; 1) ç¨á«® ¢ áâப®¢®¬ ¢¨¤¥ ¯¥à¥¢¥á⨠¢ 4 ¡ ©â (float) ¢ ¬ è¨ë© ¢¨¤ |
8 | ; 1) ç¨á«® ¢ áâப®¢®¬ ¢¨¤¥ ¯¥à¥¢¥á⨠¢ 4 ¡ ©â (float) ¢ ¬ è¨ë© ¢¨¤ |
9 | ; 2) ç¨á«® ¢ áâப®¢®¬ ¢¨¤¥ ¯¥à¥¢¥á⨠¢ 8 ¡ ©â (double) ¢ ¬ è¨ë© ¢¨¤ |
9 | ; 2) ç¨á«® ¢ áâப®¢®¬ ¢¨¤¥ ¯¥à¥¢¥á⨠¢ 8 ¡ ©â (double) ¢ ¬ è¨ë© ¢¨¤ |
10 | ; 3) ç¨á«® ¢ ¬ 訮¬ ¢¨¤¥ (float) ¯¥à¥¢¥á⨠¢ áâப®¢ë© ¢¨¤ (5 § ª®¢ ¯®á«¥ § ¯ï⮩) |
10 | ; 3) ç¨á«® ¢ ¬ 訮¬ ¢¨¤¥ (float) ¯¥à¥¢¥á⨠¢ áâப®¢ë© ¢¨¤ (5 § ª®¢ ¯®á«¥ § ¯ï⮩) |
11 | 11 | ||
12 | use32 |
12 | use32 |
13 | org 0 |
13 | org 0 |
14 | db 'MENUET01' |
14 | db 'MENUET01' |
15 | dd 1,start,i_end,e_end,e_end,0,sys_path |
15 | dd 1,start,i_end,e_end,e_end,0,sys_path |
16 | 16 | ||
17 | include '../../../proc32.inc' |
17 | include '../../../proc32.inc' |
18 | include '../../../macros.inc' |
18 | include '../../../macros.inc' |
19 | include '../../../KOSfuncs.inc' |
19 | include '../../../KOSfuncs.inc' |
20 | include '../../../load_lib.mac' |
20 | include '../../../load_lib.mac' |
21 | include '../../../develop/libraries/box_lib/trunk/box_lib.mac' |
21 | include '../../../develop/libraries/box_lib/trunk/box_lib.mac' |
22 | include '../../../develop/info3ds/info_fun_float.inc' |
22 | include '../../../develop/info3ds/info_fun_float.inc' |
23 | include 'lang.inc' |
23 | include 'lang.inc' |
24 | 24 | ||
25 | @use_library |
25 | @use_library |
26 | 26 | ||
27 | align 4 |
27 | align 4 |
28 | start: |
28 | start: |
29 | load_libraries l_libs_start,l_libs_end |
29 | load_libraries l_libs_start,l_libs_end |
30 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì è ¡¨¡«¨®â¥ª |
30 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì è ¡¨¡«¨®â¥ª |
31 | mov ebp,lib_0 |
31 | mov ebp,lib_0 |
32 | cmp dword[ebp+ll_struc_size-4],0 |
32 | cmp dword[ebp+ll_struc_size-4],0 |
33 | jz @f |
33 | jz @f |
34 | mcall SF_TERMINATE_PROCESS |
34 | mcall SF_TERMINATE_PROCESS |
35 | @@: |
35 | @@: |
36 | mcall SF_SET_EVENTS_MASK,0xC0000027 |
36 | mcall SF_SET_EVENTS_MASK,0xC0000027 |
37 | mcall SF_STYLE_SETTINGS,SSF_GET_COLORS, sys_colors, sizeof.system_colors |
37 | mcall SF_STYLE_SETTINGS,SSF_GET_COLORS, sys_colors, sizeof.system_colors |
38 | edit_boxes_set_sys_color edit1,editboxes_end,sys_colors |
38 | edit_boxes_set_sys_color edit1,editboxes_end,sys_colors |
39 | option_boxes_set_sys_color sys_colors,Option_boxes1 |
39 | option_boxes_set_sys_color sys_colors,Option_boxes1 |
40 | 40 | ||
41 | align 4 |
41 | align 4 |
42 | red: |
42 | red: |
43 | call draw_window |
43 | call draw_window |
44 | 44 | ||
45 | align 4 |
45 | align 4 |
46 | still: |
46 | still: |
47 | mcall SF_WAIT_EVENT |
47 | mcall SF_WAIT_EVENT |
48 | 48 | ||
49 | cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª® ? |
49 | cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª® ? |
50 | je red ; ¥á«¨ ¤ - ¬¥âªã red |
50 | je red ; ¥á«¨ ¤ - ¬¥âªã red |
51 | cmp eax,2 ; ¦ â ª« ¢¨è ? |
51 | cmp eax,2 ; ¦ â ª« ¢¨è ? |
52 | je key ; ¥á«¨ ¤ - key |
52 | je key ; ¥á«¨ ¤ - key |
53 | cmp eax,3 ; ¦ â ª®¯ª ? |
53 | cmp eax,3 ; ¦ â ª®¯ª ? |
54 | je button ; ¥á«¨ ¤ - button |
54 | je button ; ¥á«¨ ¤ - button |
55 | cmp eax,6 |
55 | cmp eax,6 |
56 | je mouse |
56 | je mouse |
57 | 57 | ||
58 | jmp still ; ¥á«¨ ¤à㣮¥ ᮡë⨥ - ¢ ç «® 横« |
58 | jmp still ; ¥á«¨ ¤à㣮¥ ᮡë⨥ - ¢ ç «® 横« |
59 | 59 | ||
60 | align 4 |
60 | align 4 |
61 | key: ; ¦ â ª« ¢¨è ª« ¢¨ âãॠ|
61 | key: ; ¦ â ª« ¢¨è ª« ¢¨ âãॠ|
62 | mcall SF_GET_KEY |
62 | mcall SF_GET_KEY |
63 | ;cmp ah,13 |
63 | ;cmp ah,13 |
64 | stdcall [edit_box_key], edit1 |
64 | stdcall [edit_box_key], edit1 |
65 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
65 | jmp still ; ¢¥àãâìáï ª ç «ã 横« |
66 | 66 | ||
67 | align 4 |
67 | align 4 |
68 | button: |
68 | button: |
69 | mcall SF_GET_BUTTON |
69 | mcall SF_GET_BUTTON |
70 | cmp ah, 1 ; ¥á«¨ ¦ â ª®¯ª á ®¬¥à®¬ 1, |
70 | cmp ah, 1 ; ¥á«¨ ¦ â ª®¯ª á ®¬¥à®¬ 1, |
71 | jne @f |
71 | jne @f |
72 | mcall SF_TERMINATE_PROCESS |
72 | mcall SF_TERMINATE_PROCESS |
73 | @@: |
73 | @@: |
74 | cmp ah, 5 |
74 | cmp ah, 5 |
75 | jne @f |
75 | jne @f |
76 | cmp dword[option_group1],opt3 |
76 | cmp dword[option_group1],opt3 |
77 | jne .opt_3_end |
77 | jne .opt_3_end |
78 | stdcall conv_str_to_int,[edit1.text] |
78 | stdcall conv_str_to_int,[edit1.text] |
79 | mov dword[Data_Double],eax |
79 | mov dword[Data_Double],eax |
80 | finit |
80 | finit |
81 | fld dword[Data_Double] |
81 | fld dword[Data_Double] |
82 | fstp qword[Data_Double] |
82 | fstp qword[Data_Double] |
83 | 83 | ||
84 | ; Data_Double - ¯à¥®¡à §ã¥¬®¥ ç¨á«® |
84 | ; Data_Double - ¯à¥®¡à §ã¥¬®¥ ç¨á«® |
85 | mov word[NumberSymbolsAD],8 ; ª®«¨ç¥á⢮ § ª®¢ ç¨á« ¯®á«¥ § ¯ï⮩ (1-17) |
85 | mov word[NumberSymbolsAD],8 ; ª®«¨ç¥á⢮ § ª®¢ ç¨á« ¯®á«¥ § ¯ï⮩ (1-17) |
86 | call DoubleFloat_to_String |
86 | call DoubleFloat_to_String |
87 | call String_crop_0 |
87 | call String_crop_0 |
88 | mov dword[Data_Double],eax ;¢®ááâ ¢«¨¢ ¥¬ § 票¥ ¢ ä®à¬ ⥠float |
88 | mov dword[Data_Double],eax ;¢®ááâ ¢«¨¢ ¥¬ § 票¥ ¢ ä®à¬ ⥠float |
89 | jmp .opt_all_end |
89 | jmp .opt_all_end |
90 | .opt_3_end: |
90 | .opt_3_end: |
91 | 91 | ||
92 | mov esi,string1 |
92 | mov esi,string1 |
93 | mov edi,Data_String |
93 | mov edi,Data_String |
94 | cld |
94 | cld |
95 | mov ecx,32 |
95 | mov ecx,32 |
96 | rep movsb |
96 | rep movsb |
97 | 97 | ||
98 | call String_to_DoubleFloat |
98 | call String_to_DoubleFloat |
99 | cmp dword[option_group1],opt1 |
99 | cmp dword[option_group1],opt1 |
100 | jne .opt_all_end ;¥á«¨ ¢ë¡à float, â® ¯à¥®¡à §ã¥¬ ¨§ à ¥¥ ¯®«ã祮£® double |
100 | jne .opt_all_end ;¥á«¨ ¢ë¡à float, â® ¯à¥®¡à §ã¥¬ ¨§ à ¥¥ ¯®«ã祮£® double |
101 | finit |
101 | finit |
102 | fld qword[Data_Double] ;ç¨â ¥¬ ¨§ double |
102 | fld qword[Data_Double] ;ç¨â ¥¬ ¨§ double |
103 | fstp dword[Data_Double] ; ¢®§¢à é ¥¬ ¢® float |
103 | fstp dword[Data_Double] ; ¢®§¢à é ¥¬ ¢® float |
104 | .opt_all_end: |
104 | .opt_all_end: |
105 | jmp red |
105 | jmp red |
106 | @@: |
106 | @@: |
107 | jmp still |
107 | jmp still |
108 | 108 | ||
109 | align 4 |
109 | align 4 |
110 | mouse: |
110 | mouse: |
111 | stdcall [edit_box_mouse], edit1 |
111 | stdcall [edit_box_mouse], edit1 |
112 | stdcall [option_box_mouse], Option_boxes1 |
112 | stdcall [option_box_mouse], Option_boxes1 |
113 | jmp still |
113 | jmp still |
114 | 114 | ||
115 | ;------------------------------------------------ |
115 | ;------------------------------------------------ |
116 | align 4 |
116 | align 4 |
117 | draw_window: |
117 | draw_window: |
118 | mcall SF_STYLE_SETTINGS,SSF_GET_COLORS, sys_colors, sizeof.system_colors |
118 | mcall SF_STYLE_SETTINGS,SSF_GET_COLORS, sys_colors, sizeof.system_colors |
119 | 119 | ||
120 | mcall SF_REDRAW,SSF_BEGIN_DRAW |
120 | mcall SF_REDRAW,SSF_BEGIN_DRAW |
121 | mov edx, 0x14000000 |
121 | mov edx, 0x14000000 |
122 | or edx, [sys_colors.work] |
122 | or edx, [sys_colors.work] |
123 | mcall SF_CREATE_WINDOW, (200 shl 16)+300, (200 shl 16)+175, ,,title |
123 | mcall SF_CREATE_WINDOW, (200 shl 16)+300, (200 shl 16)+175, ,,title |
124 | 124 | ||
125 | mcall SF_DEFINE_BUTTON, ((300-53) shl 16)+38, (145 shl 16)+15, 5, [sys_colors.work_button] ; ª®¯ª Ok |
125 | mcall SF_DEFINE_BUTTON, ((300-53) shl 16)+38, (145 shl 16)+15, 5, [sys_colors.work_button] ; ª®¯ª Ok |
126 | 126 | ||
127 | mov ecx, 0x80000000 |
127 | mov ecx, 0x80000000 |
128 | or ecx, [sys_colors.work_text] |
128 | or ecx, [sys_colors.work_text] |
129 | mcall SF_DRAW_TEXT, (15 shl 16) +30,, binstr, |
129 | mcall SF_DRAW_TEXT, (15 shl 16) +30,, binstr, |
130 | mcall , (15 shl 16) +58,, decstr, |
130 | mcall , (15 shl 16) +58,, decstr, |
131 | mcall , ((240-56*3) shl 16) +58,, Data_String, |
131 | mcall , ((240-56*3) shl 16) +58,, Data_String, |
132 | mcall , (15 shl 16) +72,, hexstr, |
132 | mcall , (15 shl 16) +72,, hexstr, |
133 | mcall , (15 shl 16)+150,, numstr, |
133 | mcall , (15 shl 16)+150,, numstr, |
134 | 134 | ||
135 | mov ecx, 0x80000000 |
135 | mov ecx, 0x80000000 |
136 | or ecx, [sys_colors.work_button_text] |
136 | or ecx, [sys_colors.work_button_text] |
137 | mcall , ((300-42) shl 16)+149, , Okstr,3 |
137 | mcall , ((300-42) shl 16)+149, , Okstr,3 |
138 | 138 | ||
139 | cmp dword[option_group1],opt1 |
139 | cmp dword[option_group1],opt1 |
140 | je @f ;¥á«¨ ¢ë¡à float, â® áâ à訥 4 ¡ ©â (¨§ double) ¥ ¯¥ç â ¥¬ |
140 | je @f ;¥á«¨ ¢ë¡à float, â® áâ à訥 4 ¡ ©â (¨§ double) ¥ ¯¥ç â ¥¬ |
141 | cmp dword[option_group1],opt3 |
141 | cmp dword[option_group1],opt3 |
142 | je @f ;¥á«¨ ¢ë¡à float, â® áâ à訥 4 ¡ ©â (¨§ double) ¥ ¯¥ç â ¥¬ |
142 | je @f ;¥á«¨ ¢ë¡à float, â® áâ à訥 4 ¡ ©â (¨§ double) ¥ ¯¥ç â ¥¬ |
143 | mov ecx, dword[Data_Double+4] |
143 | mov ecx, dword[Data_Double+4] |
144 | mcall SF_DRAW_NUMBER, (8 shl 16)+256,,(185 shl 16)+72,[sys_colors.work_text] ; 16- ï |
144 | mcall SF_DRAW_NUMBER, (8 shl 16)+256,,(185 shl 16)+72,[sys_colors.work_text] ; 16- ï |
145 | 145 | ||
146 | mov ecx, dword[Data_Double+4] |
146 | mov ecx, dword[Data_Double+4] |
147 | mcall ,(8 shl 16)+512,,(240 shl 16)+30, ; 2- ï |
147 | mcall ,(8 shl 16)+512,,(240 shl 16)+30, ; 2- ï |
148 | ror ecx, 8 |
148 | ror ecx, 8 |
149 | mcall ,,,((240-56) shl 16)+30, |
149 | mcall ,,,((240-56) shl 16)+30, |
150 | ror ecx, 8 |
150 | ror ecx, 8 |
151 | mcall ,,,((240-56*2) shl 16)+30, |
151 | mcall ,,,((240-56*2) shl 16)+30, |
152 | ror ecx, 8 |
152 | ror ecx, 8 |
153 | mcall ,,,((240-56*3) shl 16)+30, |
153 | mcall ,,,((240-56*3) shl 16)+30, |
154 | ror ecx, 8 |
154 | ror ecx, 8 |
155 | @@: |
155 | @@: |
156 | 156 | ||
157 | mov ecx,dword[Data_Double] |
157 | mov ecx,dword[Data_Double] |
158 | mcall SF_DRAW_NUMBER, (8 shl 16)+256,,(240 shl 16)+72,[sys_colors.work_text] ; 16- ï |
158 | mcall SF_DRAW_NUMBER, (8 shl 16)+256,,(240 shl 16)+72,[sys_colors.work_text] ; 16- ï |
159 | 159 | ||
160 | mov ecx,dword[Data_Double] |
160 | mov ecx,dword[Data_Double] |
161 | mcall , (8 shl 16)+512,,(240 shl 16)+44, ; 2- ï |
161 | mcall , (8 shl 16)+512,,(240 shl 16)+44, ; 2- ï |
162 | ror ecx, 8 |
162 | ror ecx, 8 |
163 | mcall ,,,((240-56) shl 16)+44, |
163 | mcall ,,,((240-56) shl 16)+44, |
164 | ror ecx, 8 |
164 | ror ecx, 8 |
165 | mcall ,,,((240-56*2) shl 16)+44, |
165 | mcall ,,,((240-56*2) shl 16)+44, |
166 | ror ecx, 8 |
166 | ror ecx, 8 |
167 | mcall ,,,((240-56*3) shl 16)+44, |
167 | mcall ,,,((240-56*3) shl 16)+44, |
168 | ror ecx, 8 |
168 | ror ecx, 8 |
169 | 169 | ||
170 | mcall SF_DRAW_LINE, (15 shl 16)+300-15, (137 shl 16)+137, [sys_colors.work_graph] |
170 | mcall SF_DRAW_LINE, (15 shl 16)+300-15, (137 shl 16)+137, [sys_colors.work_graph] |
171 | stdcall [edit_box_draw], edit1 |
171 | stdcall [edit_box_draw], edit1 |
172 | stdcall [option_box_draw], Option_boxes1 |
172 | stdcall [option_box_draw], Option_boxes1 |
173 | mcall SF_REDRAW,SSF_END_DRAW |
173 | mcall SF_REDRAW,SSF_END_DRAW |
174 | 174 | ||
175 | ret |
175 | ret |
176 | 176 | ||
177 | 177 | ||
178 | string1 db 32 dup (0) |
178 | string1 db 32 dup (0) |
179 | string1_end: |
179 | string1_end: |
180 | 180 | ||
181 | 181 | ||
182 | ;input: |
182 | ;input: |
183 | ; buf - 㪠§ ⥫ì áâபã, ç¨á«® ¤®«¦® ¡ëâì ¢ 10 ¨«¨ 16 à¨ç®¬ ¢¨¤¥ |
183 | ; buf - 㪠§ ⥫ì áâபã, ç¨á«® ¤®«¦® ¡ëâì ¢ 10 ¨«¨ 16 à¨ç®¬ ¢¨¤¥ |
184 | ;output: |
184 | ;output: |
185 | ; eax - ç¨á«® |
185 | ; eax - ç¨á«® |
186 | align 4 |
186 | align 4 |
187 | proc conv_str_to_int uses ebx ecx esi, buf:dword |
187 | proc conv_str_to_int uses ebx ecx esi, buf:dword |
188 | xor eax,eax |
188 | xor eax,eax |
189 | xor ebx,ebx |
189 | xor ebx,ebx |
190 | mov esi,[buf] |
190 | mov esi,[buf] |
191 | ;®¯à¥¤¥«¥¨¥ ®âà¨æ ⥫ìëå ç¨á¥« |
191 | ;®¯à¥¤¥«¥¨¥ ®âà¨æ ⥫ìëå ç¨á¥« |
192 | xor ecx,ecx |
192 | xor ecx,ecx |
193 | inc ecx |
193 | inc ecx |
194 | cmp byte[esi],'-' |
194 | cmp byte[esi],'-' |
195 | jne @f |
195 | jne @f |
196 | dec ecx |
196 | dec ecx |
197 | inc esi |
197 | inc esi |
198 | @@: |
198 | @@: |
199 | 199 | ||
200 | cmp word[esi],'0x' |
200 | cmp word[esi],'0x' |
201 | je .load_digit_16 |
201 | je .load_digit_16 |
202 | 202 | ||
203 | .load_digit_10: ;áç¨âë¢ ¨¥ 10-â¨çëå æ¨äà |
203 | .load_digit_10: ;áç¨âë¢ ¨¥ 10-â¨çëå æ¨äà |
204 | mov bl,byte[esi] |
204 | mov bl,byte[esi] |
205 | cmp bl,'0' |
205 | cmp bl,'0' |
206 | jl @f |
206 | jl @f |
207 | cmp bl,'9' |
207 | cmp bl,'9' |
208 | jg @f |
208 | jg @f |
209 | sub bl,'0' |
209 | sub bl,'0' |
210 | imul eax,10 |
210 | imul eax,10 |
211 | add eax,ebx |
211 | add eax,ebx |
212 | inc esi |
212 | inc esi |
213 | jmp .load_digit_10 |
213 | jmp .load_digit_10 |
214 | jmp @f |
214 | jmp @f |
215 | 215 | ||
216 | .load_digit_16: ;áç¨âë¢ ¨¥ 16-à¨çëå æ¨äà |
216 | .load_digit_16: ;áç¨âë¢ ¨¥ 16-à¨çëå æ¨äà |
217 | add esi,2 |
217 | add esi,2 |
218 | .cycle_16: |
218 | .cycle_16: |
219 | mov bl,byte[esi] |
219 | mov bl,byte[esi] |
220 | cmp bl,'0' |
220 | cmp bl,'0' |
221 | jl @f |
221 | jl @f |
222 | cmp bl,'f' |
222 | cmp bl,'f' |
223 | jg @f |
223 | jg @f |
224 | cmp bl,'9' |
224 | cmp bl,'9' |
225 | jle .us1 |
225 | jle .us1 |
226 | cmp bl,'A' |
226 | cmp bl,'A' |
227 | jl @f ;®âᥨ¢ ¥¬ ᨬ¢®«ë >'9' ¨ <'A' |
227 | jl @f ;®âᥨ¢ ¥¬ ᨬ¢®«ë >'9' ¨ <'A' |
228 | .us1: ;á®áâ ¢®¥ ãá«®¢¨¥ |
228 | .us1: ;á®áâ ¢®¥ ãá«®¢¨¥ |
229 | cmp bl,'F' |
229 | cmp bl,'F' |
230 | jle .us2 |
230 | jle .us2 |
231 | cmp bl,'a' |
231 | cmp bl,'a' |
232 | jl @f ;®âᥨ¢ ¥¬ ᨬ¢®«ë >'F' ¨ <'a' |
232 | jl @f ;®âᥨ¢ ¥¬ ᨬ¢®«ë >'F' ¨ <'a' |
233 | sub bl,32 ;¯¥à¥¢®¤¨¬ ᨬ¢®«ë ¢ ¢¥à娩 ॣ¨áâà, ¤«ï ã¯à®é¥¨ï ¨å ¯®á«¥¤ã饩 ®¡à ¡®âª¨ |
233 | sub bl,32 ;¯¥à¥¢®¤¨¬ ᨬ¢®«ë ¢ ¢¥à娩 ॣ¨áâà, ¤«ï ã¯à®é¥¨ï ¨å ¯®á«¥¤ã饩 ®¡à ¡®âª¨ |
234 | .us2: ;á®áâ ¢®¥ ãá«®¢¨¥ |
234 | .us2: ;á®áâ ¢®¥ ãá«®¢¨¥ |
235 | sub bl,'0' |
235 | sub bl,'0' |
236 | cmp bl,9 |
236 | cmp bl,9 |
237 | jle .cor1 |
237 | jle .cor1 |
238 | sub bl,7 ;convert 'A' to '10' |
238 | sub bl,7 ;convert 'A' to '10' |
239 | .cor1: |
239 | .cor1: |
240 | shl eax,4 |
240 | shl eax,4 |
241 | add eax,ebx |
241 | add eax,ebx |
242 | inc esi |
242 | inc esi |
243 | jmp .cycle_16 |
243 | jmp .cycle_16 |
244 | @@: |
244 | @@: |
245 | cmp ecx,0 ;¥á«¨ ç¨á«® ®âà¨æ ⥫쮥 |
245 | cmp ecx,0 ;¥á«¨ ç¨á«® ®âà¨æ ⥫쮥 |
246 | jne @f |
246 | jne @f |
247 | sub ecx,eax |
247 | sub ecx,eax |
248 | mov eax,ecx |
248 | mov eax,ecx |
249 | @@: |
249 | @@: |
250 | ret |
250 | ret |
251 | endp |
251 | endp |
252 | 252 | ||
253 | ;------------------------------------------------- |
253 | ;------------------------------------------------- |
254 | title db 'string to double 20.08.19',0 |
254 | title db 'string to double 03.01.21',0 |
255 | hexstr db 'hex:',0 |
255 | hexstr db 'hex:',0 |
256 | decstr db 'dec:',0 |
256 | decstr db 'dec:',0 |
257 | binstr db 'bin:',0 |
257 | binstr db 'bin:',0 |
258 | 258 | ||
259 | if lang eq ru |
259 | if lang eq ru |
260 | numstr db '¨á«®:',0 |
260 | numstr db '¨á«®:',0 |
261 | Okstr db '¢®¤',0 |
261 | Okstr db '¢®¤',0 |
262 | else |
262 | else |
263 | numstr db 'Number:',0 |
263 | numstr db 'Number:',0 |
264 | Okstr db 'Ok',0 |
264 | Okstr db 'Ok',0 |
265 | end if |
265 | end if |
266 | 266 | ||
267 | mouse_dd dd 0 |
267 | mouse_dd dd 0 |
268 | edit1 edit_box 182, 59, 146, 0xffffff, 0xff, 0x80ff, 0, 0x8000, (string1_end-string1), string1, mouse_dd, 0 |
268 | edit1 edit_box 182, 59, 146, 0xffffff, 0xff, 0x80ff, 0, 0x8000, (string1_end-string1), string1, mouse_dd, 0 |
269 | editboxes_end: |
269 | editboxes_end: |
270 | 270 | ||
271 | ;option_boxes |
271 | ;option_boxes |
272 | opt1 option_box option_group1, 15, 90, 8, 12, 0xffffff, 0x80ff, 0, op_text.1, 17 |
272 | opt1 option_box option_group1, 15, 90, 8, 12, 0xffffff, 0x80ff, 0, op_text.1, 17 |
273 | opt2 option_box option_group1, 15, 106, 8, 12, 0xffffff, 0x80ff, 0, op_text.2, 18 |
273 | opt2 option_box option_group1, 15, 106, 8, 12, 0xffffff, 0x80ff, 0, op_text.2, 18 |
274 | opt3 option_box option_group1, 15, 122, 8, 12, 0xffffff, 0x80ff, 0, op_text.3, 21 |
274 | opt3 option_box option_group1, 15, 122, 8, 12, 0xffffff, 0x80ff, 0, op_text.3, 21 |
275 | 275 | ||
276 | op_text: ;⥪áâ ¤«ï à ¤¨® ª®¯®ª |
276 | op_text: ;⥪áâ ¤«ï à ¤¨® ª®¯®ª |
277 | .1 db 'str(dec) -> float' |
277 | .1 db 'str(dec) -> float' |
278 | .2 db 'str(dec) -> double' |
278 | .2 db 'str(dec) -> double' |
279 | .3 db 'float(dec,hex) -> str' |
279 | .3 db 'float(dec,hex) -> str' |
280 | ;㪠§ ⥫¨ ¤«ï option_box |
280 | ;㪠§ ⥫¨ ¤«ï option_box |
281 | option_group1 dd opt1 |
281 | option_group1 dd opt1 |
282 | Option_boxes1 dd opt1, opt2, opt3, 0 |
282 | Option_boxes1 dd opt1, opt2, opt3, 0 |
283 | 283 | ||
284 | system_dir_0 db '/sys/lib/' |
284 | system_dir_0 db '/sys/lib/' |
285 | lib_name_0 db 'box_lib.obj',0 |
285 | lib_name_0 db 'box_lib.obj',0 |
286 | 286 | ||
287 | 287 | ||
288 | l_libs_start: |
288 | l_libs_start: |
289 | lib_0 l_libs lib_name_0, library_path, system_dir_0,import_box_lib |
289 | lib_0 l_libs lib_name_0, library_path, system_dir_0,import_box_lib |
290 | l_libs_end: |
290 | l_libs_end: |
291 | 291 | ||
292 | align 4 |
292 | align 4 |
293 | import_box_lib: |
293 | import_box_lib: |
294 | ;dd sz_init1 |
294 | ;dd sz_init1 |
295 | edit_box_draw dd sz_edit_box_draw |
295 | edit_box_draw dd sz_edit_box_draw |
296 | edit_box_key dd sz_edit_box_key |
296 | edit_box_key dd sz_edit_box_key |
297 | edit_box_mouse dd sz_edit_box_mouse |
297 | edit_box_mouse dd sz_edit_box_mouse |
298 | ;edit_box_set_text dd sz_edit_box_set_text |
298 | ;edit_box_set_text dd sz_edit_box_set_text |
299 | option_box_draw dd aOption_box_draw |
299 | option_box_draw dd aOption_box_draw |
300 | option_box_mouse dd aOption_box_mouse |
300 | option_box_mouse dd aOption_box_mouse |
301 | ;version_op dd aVersion_op |
301 | ;version_op dd aVersion_op |
302 | dd 0,0 |
302 | dd 0,0 |
303 | ;sz_init1 db 'lib_init',0 |
303 | ;sz_init1 db 'lib_init',0 |
304 | sz_edit_box_draw db 'edit_box',0 |
304 | sz_edit_box_draw db 'edit_box_draw',0 |
305 | sz_edit_box_key db 'edit_box_key',0 |
305 | sz_edit_box_key db 'edit_box_key',0 |
306 | sz_edit_box_mouse db 'edit_box_mouse',0 |
306 | sz_edit_box_mouse db 'edit_box_mouse',0 |
307 | ;sz_edit_box_set_text db 'edit_box_set_text',0 |
307 | ;sz_edit_box_set_text db 'edit_box_set_text',0 |
308 | aOption_box_draw db 'option_box_draw',0 |
308 | aOption_box_draw db 'option_box_draw',0 |
309 | aOption_box_mouse db 'option_box_mouse',0 |
309 | aOption_box_mouse db 'option_box_mouse',0 |
310 | ;aVersion_op db 'version_op',0 |
310 | ;aVersion_op db 'version_op',0 |
311 | 311 | ||
312 | i_end: |
312 | i_end: |
313 | sys_colors system_colors |
313 | sys_colors system_colors |
314 | align 16 |
314 | align 16 |
315 | sys_path rb 4096 |
315 | sys_path rb 4096 |
316 | library_path rb 4096 |
316 | library_path rb 4096 |
317 | rb 0x400 ;stack |
317 | rb 0x400 ;stack |
318 | e_end: ; ¬¥âª ª®æ ¯à®£à ¬¬ë'a' |
318 | e_end: ; ¬¥âª ª®æ ¯à®£à ¬¬ë'a' |
319 | >'A' |
319 | >'A' |
320 | > |
320 | > |