Subversion Repositories Kolibri OS

Rev

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: ; ¬¥âª  ª®­æ  ¯à®£à ¬¬ë
318
e_end: ; ¬¥âª  ª®­æ  ¯à®£à ¬¬ë
319
>
319
>
320
>
320
>