; à®£à ¬¬ ¤«ï ¯à¥®¡à §®¢ ¨ï ç¨á¥« ¨§ áâப¨ ; ¢ ä®à¬ â float, double, â ª¦¥ ¨§ 10 ¨«¨ 16 à¨ç®£® ; ¢® float. ; ‘¤¥« ®á®¢¥ hex2dec2bin ¨ ¯à¨¬¥à®¢ ¨§ ä ©« list2_05.inc ; ( ¢â®à Šã« ª®¢ ‚« ¤¨¬¨à ƒ¥ ¤ì¥¢¨ç 24.05.2002), ; ª®â®àë¥ ChE ¯¥à¥¤¥« « á 16 32 ¡¨â áᥬ¡«¥à fasm. ; à®£à ¬¬ ¯®§¢®«ï¥â à¥è âì â ª¨¥ § ¤ ç¨: ; 1) ç¨á«® ¢ áâப®¢®¬ ¢¨¤¥ ¯¥à¥¢¥á⨠¢ 4 ¡ ©â (float) ¢ ¬ è¨ë© ¢¨¤ ; 2) ç¨á«® ¢ áâப®¢®¬ ¢¨¤¥ ¯¥à¥¢¥á⨠¢ 8 ¡ ©â (double) ¢ ¬ è¨ë© ¢¨¤ ; 3) ç¨á«® ¢ ¬ 訮¬ ¢¨¤¥ (float) ¯¥à¥¢¥á⨠¢ áâப®¢ë© ¢¨¤ (5 § ª®¢ ¯®á«¥ § ¯ï⮩) use32 org 0x0 db 'MENUET01' dd 0x01,start,i_end,e_end,e_end,0,sys_path include '../../../proc32.inc' include '../../../macros.inc' include '../../../develop/libraries/box_lib/load_lib.mac' include '../../../develop/libraries/box_lib/trunk/box_lib.mac' include 'lang.inc' @use_library align 4 start: load_libraries l_libs_start,l_libs_end ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì è ¡¨¡«¨®â¥ª mov ebp,lib_0 cmp dword [ebp+ll_struc_size-4],0 jz @f mcall -1 ;exit not correct @@: mcall 40,0x27 mcall 48, 3, sys_colors, 40 edit_boxes_set_sys_color edit1,editboxes_end,sys_colors option_boxes_set_sys_color sys_colors,Option_boxes1 align 4 red: call draw_window align 4 still: mcall 10 ; äãªæ¨ï 10 - ¦¤ âì ᮡëâ¨ï cmp eax,1 ; ¯¥à¥à¨á®¢ âì ®ª® ? je red ; ¥á«¨ ¤ - ¬¥âªã red cmp eax,2 ; ¦ â ª« ¢¨è ? je key ; ¥á«¨ ¤ - key cmp eax,3 ; ¦ â ª®¯ª ? je button ; ¥á«¨ ¤ - button cmp eax,6 je mouse jmp still ; ¥á«¨ ¤à㣮¥ ᮡë⨥ - ¢ ç «® 横« ;--------------------------------------------------------------------- key: ; ¦ â ª« ¢¨è ª« ¢¨ âãॠmcall 2 ;cmp ah,13 stdcall [edit_box_key], dword edit1 jmp still ; ¢¥àãâìáï ª ç «ã 横« ; Š®«¨ç¥á⢮ § ª®¢ ç¨á« ¯®á«¥ § ¯ï⮩ (1-17) NumberSymbolsAD DW 5 ; Š®áâ âë (10 ¢ á⥯¥¨ N) MConst DQ 1.0E1,1.0E2,1.0E3,1.0E4,1.0E5 DQ 1.0E6,1.0E7,1.0E8,1.0E9,1.0E10 DQ 1.0E11,1.0E12,1.0E13,1.0E14,1.0E15 DQ 1.0E16,1.0E17,1.0E18,1.0E19,1.0E20 DQ 1.0E21,1.0E22,1.0E23,1.0E24,1.0E25 DQ 1.0E26,1.0E27,1.0E28,1.0E29,1.0E30 DQ 1.0E31,1.0E32,1.0E33,1.0E34,1.0E35 DQ 1.0E36,1.0E37,1.0E38,1.0E39,1.0E40 DQ 1.0E41,1.0E42,1.0E43,1.0E44,1.0E45 DQ 1.0E46,1.0E47,1.0E48,1.0E49,1.0E50 DQ 1.0E51,1.0E52,1.0E53,1.0E54,1.0E55 DQ 1.0E56,1.0E57,1.0E58,1.0E59,1.0E60 DQ 1.0E61,1.0E62,1.0E63,1.0E64,1.0E65 DQ 1.0E66,1.0E67,1.0E68,1.0E69,1.0E70 DQ 1.0E71,1.0E72,1.0E73,1.0E74,1.0E75 DQ 1.0E76,1.0E77,1.0E78,1.0E79,1.0E80 DQ 1.0E81,1.0E82,1.0E83,1.0E84,1.0E85 DQ 1.0E86,1.0E87,1.0E88,1.0E89,1.0E90 DQ 1.0E91,1.0E92,1.0E93,1.0E94,1.0E95 DQ 1.0E96,1.0E97,1.0E98,1.0E99,1.0E100 DQ 1.0E101,1.0E102,1.0E103,1.0E104,1.0E105 DQ 1.0E106,1.0E107,1.0E108,1.0E109,1.0E110 DQ 1.0E111,1.0E112,1.0E113,1.0E114,1.0E115 DQ 1.0E116,1.0E117,1.0E118,1.0E119,1.0E120 DQ 1.0E121,1.0E122,1.0E123,1.0E124,1.0E125 DQ 1.0E126,1.0E127,1.0E128 ; —¨á«® á ¯« ¢ î饩 § ¯ï⮩ ¤¢®©®© â®ç®á⨠Data_Double DQ ? ; —¨á«® ¢ BCD-ä®à¬ ⥠Data_BCD DT ? ; ‚ᯮ¬®£ ⥫ìë© ä« £ Data_Flag DB ? ; ‡ ª १ã«ìâ â (¥á«¨ ¥ 0 - ®âà¨æ ⥫쮥 ç¨á«®) Data_Sign DB ? ; ‘âப ¤«ï åà ¥¨ï ç¨á« ¢ ª®¤¥ ASCII Data_String DB 32 DUP (?) string1 db 32 dup (0) string1_end: ;******************************************************* ;* …Ž€‡Ž‚€ˆ… —ˆ‘‹€ ‘ ‹€‚€ž™…‰ ‡€Ÿ’Ž‰ ‚ ‘’ŽŠ“ * ;* —¨á«® ¨¬¥¥â ä®à¬ â á 㤢®¥®© â®ç®áâìî, १ã«ìâ â * ;* ¢ë¤ ¥âáï ¢ ¤¥áïâ¨ç®¬ ª®¤¥, ¢ "¡ë⮢®¬" ä®à¬ ⥠á * ;* 䨪á¨à®¢ ë¬ ª®«¨ç¥á⢮¬ § ª®¢ ¯®á«¥ § ¯ï⮩. * ;* ‚å®¤ë¥ ¯ à ¬¥âàë: * ;* Data_Double - ¯à¥®¡à §ã¥¬®¥ ç¨á«®; * ;* NumberSymbolsAD - ª®«¨ç¥á⢮ § ª®¢ ¯®á«¥ * ;* § ¯ï⮩ (0-17). * ;* ‚ëå®¤ë¥ ¯ à ¬¥âàë: * ;* Data_String - áâப -१ã«ìâ â. * ;******************************************************* DoubleFloat_to_String: pushad ; ¥§ã«ìâ â § ¯¨áë¢ âì ¢ áâபã Data_String mov EDI, Data_String ; ‘¤¢¨£ ¥¬ ç¨á«® ¢«¥¢® NumberSymbolsAD ; ¤¥áïâ¨çëå à §à冷¢ fninit ;á¡à®á ᮯà®æ¥áá®à fld [Data_Double] ;§ £à㧨âì ç¨á«® xor ebx,ebx mov BX,[NumberSymbolsAD] cmp BX, 0 je .NoShifts ;¥â æ¨äà ¯®á«¥ § ¯ï⮩ jl .Error ;®è¨¡ª dec BX shl BX, 3 ;㬮¦ ¥¬ 8 add EBX, MConst fmul qword [EBX] ;㬮¦¨âì ª®áâ âã .NoShifts: ; ˆ§¢«¥çì ç¨á«® ¢ ª®¤¥ BCD fbstp [Data_BCD] ; ஢¥à¨âì १ã«ìâ â ¯¥à¥¯®«¥¨¥ mov AX,word [Data_BCD + 8] cmp AX,0FFFFh ;"¤¥áïâ¨ç®¥" ¯¥à¥¯®«¥¨¥? je .Overflow ; ‚뤥«¨âì § ª ç¨á« ¨ § ¯¨á âì ¥£® ¢ ASCII-ª®¤¥ mov AL, byte [Data_BCD + 9] and AL,AL jz .NoSign mov AL,'-' stosb .NoSign: ; ᯠª®¢ âì ç¨á«® ¢ ª®¤ ASCII mov ebx,8 ;ᬥ饨¥ ¯®á«¥¤¥© ¯ àë æ¨äà mov ecx,9 ;áç¥â稪 ¯ à æ¨äà ; Ž¯à¥¤¥«¨âì ¯®§¨æ¨î ¤¥áïâ¨ç®© â®çª¨ ¢ ç¨á«¥ mov DX,18 sub DX,[NumberSymbolsAD] js .Error ;®è¨¡ª , ¥á«¨ ®âà¨æ ⥫ì ï jz .Error ;¨«¨ ã«¥¢ ï ¯®§¨æ¨ï .NextPair: ; ‡ £à㧨âì ®ç¥à¥¤ãî ¯ àã à §à冷¢ mov AL, byte [ebx + Data_BCD] mov AH,AL ; ‚뤥«¨âì, ¯¥à¥¢¥á⨠¢ ASCII ¨ ; á®åà ¨âì áâ àèãî â¥âà ¤ã shr AL,4 add AL,'0' stosb dec DX jnz .N0 mov AL,'.' stosb .N0: ; ‚뤥«¨âì, ¯¥à¥¢¥á⨠¢ ASCII ¨ ; á®åà ¨âì ¬« ¤èãî â¥âà ¤ã mov AL,AH and AL,0Fh add AL,'0' stosb dec DX jnz .N1 mov AL,'.' stosb .N1: dec BX loop .NextPair mov AL,0 stosb ; “¡à âì ¥§ ç 騥 㫨 á«¥¢ mov EDI, Data_String mov ESI, Data_String ; யãáâ¨âì § ª ç¨á« , ¥á«¨ ® ¥áâì cmp byte [ESI],'-' jne .N2 inc ESI inc EDI .N2: ; ‡ £à㧨âì ¢ áç¥â稪 横« ª®«¨ç¥á⢮ à §à冷¢ ; ç¨á« ¯«îá 1 (¡ ©â ¤¥áïâ¨ç®© â®çª¨) mov ecx,18+1+1 ; யãáâ¨âì ¥§ ç 騥 㫨 .N3: cmp byte [ESI],'0' jne .N4 cmp byte [ESI+1],'.' je .N4 inc ESI loop .N3 ; Žè¨¡ª - ¥â § ç é¨å æ¨äà jmp .Error ; ‘ª®¯¨à®¢ âì § ç éãî ç áâì ç¨á« ¢ ç «® áâப¨ .N4: rep movsb jmp .End ; Žè¨¡ª .Error: mov AL,'E' stosb mov AL,'R' stosb mov AL,'R' stosb xor AL,AL stosb jmp .End ; ¥à¥¯®«¥¨¥ à §à冷© á¥âª¨ .Overflow: mov AL,'#' stosb xor AL,AL stosb ; Š®¥æ ¯à®æ¥¤ãàë .End: popad ret ;**************************************************** ;* …Ž€‡Ž‚€’œ ‘’ŽŠ“ ‚ —ˆ‘‹Ž ‘ ‹€‚€ž™…‰ ‡€Ÿ’Ž‰ * ;* (ç¨á«® ¨¬¥¥â ®¡ëçë©, "¡ë⮢®©" ä®à¬ â) * ;* ‚å®¤ë¥ ¯ à ¬¥âàë: * ;* Data_String - ç¨á«® ¢ ª®¤¥ ASCII. * ;* ‚ëå®¤ë¥ ¯ à ¬¥âàë: * ;* Data_Double - ç¨á«® ¢ ¤¢®¨ç®¬ ª®¤¥. * ;**************************************************** String_to_DoubleFloat: pushad cld ; Žç¨é ¥¬ Data_BCD mov dword [Data_BCD],0 mov dword [Data_BCD+4],0 mov word [Data_BCD+8],0 ; Žç¨é ¥¬ ¡ ©â § ª mov [Data_Sign],0 ; ‡ ®á¨¬ ¢ SI 㪠§ ⥫ì áâபã mov ESI, Data_String ; யã᪠¥¬ ¯à®¡¥«ë ¯¥à¥¤ ç¨á«®¬ mov ecx,64 ;§ é¨â ®â § 横«¨¢ ¨ï .ShiftIgnore: lodsb cmp AL,' ' jne .ShiftIgnoreEnd loop .ShiftIgnore jmp .Error .ShiftIgnoreEnd: ; ஢¥à塞 § ª ç¨á« cmp AL,'-' jne .Positive mov [Data_Sign],80h lodsb .Positive: mov [Data_Flag],0 ;¯à¨§ ª «¨ç¨ï â®çª¨ mov DX,0 ;¯®§¨æ¨ï â®çª¨ mov ecx,18 ;¬ ªá. ç¨á«® à §à冷¢ .ASCIItoBCDConversion: cmp AL,'.' ;â®çª ? jne .NotDot cmp [Data_Flag],0 ;â®çª ¥ ¢áâà¥ç « áì? jne .Error mov [Data_Flag],1 lodsb cmp AL,0 ;ª®¥æ áâப¨? jne .NotDot jmp .ASCIItoBCDConversionEnd .NotDot: ; “¢¥«¨ç¨âì 1 § 票¥ ¯®§¨æ¨¨ â®çª¨, ; ¥á«¨ ® ¥é¥ ¥ ¢áâà¥ç « áì cmp [Data_Flag],0 jnz .Figures inc DX .Figures: ; ‘¨¬¢®«ë ç¨á« ¤®«¦ë ¡ëâì æ¨äà ¬¨ cmp AL,'0' jb .Error cmp AL,'9' ja .Error ; ¨è¥¬ ®ç¥à¥¤ãî æ¨äàã ¢ ¬« ¤èãî â¥âà ¤ã BCD and AL,0Fh or byte [Data_BCD],AL ; ஢¥àª ª®¥æ áâப¨ cmp byte [ESI],0 je .ASCIItoBCDConversionEnd ; ‘¤¢¨£ ¥¬ BCD 4 à §àï¤ ¢«¥¢® ; (ᤢ¨£ ¥¬ áâ à訥 2 ¡ ©â ) mov AX,word [Data_BCD+6] shld word [Data_BCD+8],AX,4 ; (ᤢ¨£ ¥¬ á।¨¥ 4 ¡ ©â ) mov EAX, dword [Data_BCD] shld dword [Data_BCD+4],EAX,4 ; (ᤢ¨£ ¥¬ ¬« ¤è¨¥ 4 ¡ ©â ) shl dword [Data_BCD],4 ; ‡ £à㦠¥¬ á«¥¤ãî騩 ᨬ¢®« ¢ AL lodsb loop .ASCIItoBCDConversion ; …᫨ 19-© ᨬ¢®« ¥ 0 ¨ ¥ â®çª , ; â® ®è¨¡ª ¯¥à¥¯®«¥¨ï cmp AL,'.' jne .NotDot2 inc ecx lodsb .NotDot2: cmp AL,0 jne .Error ;¯¥à¥¯®«¥¨¥ à §à冷© á¥âª¨ ; …Ž€‡Ž‚€’œ —ˆ‘‹Ž ˆ‡ ŠŽ„€ BCD ‚ ‚…™…‘’‚…Ž… —ˆ‘‹Ž .ASCIItoBCDConversionEnd: ; ‚¯¨á âì § ª ¢ áâ à訩 ¡ ©â mov AL,[Data_Sign] mov byte [Data_BCD+9],AL ; ‘¡à®á¨âì ॣ¨áâàë ᮯà®æ¥áá®à fninit ; ‡ £à㧨âì ¢ ᮯà®æ¥áá®à ç¨á«® ¢ BCD-ä®à¬ ⥠fbld [Data_BCD] ; ‚ëç¨á«¨âì ®¬¥à ¤¥«¨â¥«ï mov EBX,18+1 sub BX,CX sub BX,DX cmp EBX,0 je .NoDiv dec EBX shl EBX,3 ;㬮¦ ¥¬ 8 add EBX, MConst fdiv qword [EBX] ;à §¤¥«¨âì ª®áâ âã .NoDiv:; ‚ë£à㧨âì ç¨á«® ¢ ¤¢®¨ç®¬ ä®à¬ ⥠fstp [Data_Double] jmp .End .Error:; ਠ«î¡®© ®è¨¡ª¥ ®¡ã«¨âì १ã«ìâ â fldz ;§ ¥á⨠®«ì á á⥪ ᮯà®æ¥áá®à fstp [Data_Double] .End: popad ret ;input: ; buf - 㪠§ ⥫ì áâபã, ç¨á«® ¤®«¦® ¡ëâì ¢ 10 ¨«¨ 16 à¨ç®¬ ¢¨¤¥ ;output: ; eax - ç¨á«® align 4 proc conv_str_to_int, buf:dword xor eax,eax push ebx ecx esi xor ebx,ebx mov esi,[buf] ;®¯à¥¤¥«¥¨¥ ®âà¨æ ⥫ìëå ç¨á¥« xor ecx,ecx inc ecx cmp byte[esi],'-' jne @f dec ecx inc esi @@: cmp word[esi],'0x' je .load_digit_16 .load_digit_10: ;áç¨âë¢ ¨¥ 10-â¨çëå æ¨äà mov bl,byte[esi] cmp bl,'0' jl @f cmp bl,'9' jg @f sub bl,'0' imul eax,10 add eax,ebx inc esi jmp .load_digit_10 jmp @f .load_digit_16: ;áç¨âë¢ ¨¥ 16-à¨çëå æ¨äà add esi,2 .cycle_16: mov bl,byte[esi] cmp bl,'0' jl @f cmp bl,'f' jg @f cmp bl,'9' jle .us1 cmp bl,'A' jl @f ;®âᥨ¢ ¥¬ ᨬ¢®«ë >'9' ¨ <'A' .us1: ;á®áâ ¢®¥ ãá«®¢¨¥ cmp bl,'F' jle .us2 cmp bl,'a' jl @f ;®âᥨ¢ ¥¬ ᨬ¢®«ë >'F' ¨ <'a' sub bl,32 ;¯¥à¥¢®¤¨¬ ᨬ¢®«ë ¢ ¢¥à娩 ॣ¨áâà, ¤«ï ã¯à®é¥¨ï ¨å ¯®á«¥¤ã饩 ®¡à ¡®âª¨ .us2: ;á®áâ ¢®¥ ãá«®¢¨¥ sub bl,'0' cmp bl,9 jle .cor1 sub bl,7 ;convert 'A' to '10' .cor1: shl eax,4 add eax,ebx inc esi jmp .cycle_16 @@: cmp ecx,0 ;¥á«¨ ç¨á«® ®âà¨æ ⥫쮥 jne @f sub ecx,eax mov eax,ecx @@: pop esi ecx ebx ret endp ;--------------------------------------------------------------------- align 4 button: mcall 17 ; 17 - ¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª®¯ª¨ cmp ah, 1 ; ¥á«¨ … ¦ â ª®¯ª á ®¬¥à®¬ 1, jne @f mcall -1 @@: cmp ah, 5 jne @f cmp dword[option_group1],opt3 jne .opt_3_end stdcall conv_str_to_int,dword[edit1.text] mov dword[Data_Double],eax finit fld dword[Data_Double] fstp qword[Data_Double] ; Data_Double - ¯à¥®¡à §ã¥¬®¥ ç¨á«® ; NumberSymbolsAD - ª®«¨ç¥á⢮ § ª®¢ ¯®á«¥ § ¯ï⮩ (0-17) call DoubleFloat_to_String mov dword[Data_Double],eax ;¢®ááâ ¢«¨¢ ¥¬ § 票¥ ¢ ä®à¬ ⥠float jmp .opt_all_end .opt_3_end: mov esi,string1 mov edi,Data_String cld mov ecx,32 rep movsb call String_to_DoubleFloat cmp dword[option_group1],opt1 jne .opt_all_end ;¥á«¨ ¢ë¡à float, â® ¯à¥®¡à §ã¥¬ ¨§ à ¥¥ ¯®«ã祮£® double finit fld qword[Data_Double] ;ç¨â ¥¬ ¨§ double fstp dword[Data_Double] ; ¢®§¢à é ¥¬ ¢® float .opt_all_end: jmp red @@: jmp still mouse: stdcall [edit_box_mouse], edit1 stdcall [option_box_mouse], Option_boxes1 jmp still ;------------------------------------------------ align 4 draw_window: mcall 48, 3, sys_colors, sizeof.system_colors mcall 12, 1 mov edx, 0x14000000 or edx, [sys_colors.work] mcall 0, 200*65536+300, 200*65536+175, ,,title mcall 8, (300-53)*65536+38,145*65536+ 15, 5,[sys_colors.work_button] ; ª®¯ª Ok mov ecx, 0x80000000 or ecx, [sys_colors.work_text] mcall 4, 15*65536 +30,, binstr, mcall , 15*65536 +58,, decstr, mcall , (240-56*3)*65536 +58,, Data_String, mcall , 15*65536 +72,, hexstr, mcall , 15*65536+150,, numstr, mov ecx, 0x80000000 or ecx, [sys_colors.work_button_text] mcall , (300-42)*65536+149, , Okstr,3 cmp dword[option_group1],opt1 je @f ;¥á«¨ ¢ë¡à float, â® áâ à訥 4 ¡ ©â (¨§ double) ¥ ¯¥ç â ¥¬ cmp dword[option_group1],opt3 je @f ;¥á«¨ ¢ë¡à float, â® áâ à訥 4 ¡ ©â (¨§ double) ¥ ¯¥ç â ¥¬ mov ecx, dword[Data_Double+4] mcall 47, 8*65536+256,,185*65536+72,[sys_colors.work_text] ; 16- ï mov ecx, dword[Data_Double+4] mcall ,8*65536+512,,240*65536+30, ; 2- ï ror ecx, 8 mcall ,,,(240-56)*65536+30, ror ecx, 8 mcall ,,,(240-56*2)*65536+30, ror ecx, 8 mcall ,,,(240-56*3)*65536+30, ror ecx, 8 @@: mov ecx,dword[Data_Double] mcall 47, 8*65536+256,,240*65536+72,[sys_colors.work_text] ; 16- ï mov ecx,dword[Data_Double] mcall , 8*65536+512,,240*65536+44, ; 2- ï ror ecx, 8 mcall ,,,(240-56)*65536+44, ror ecx, 8 mcall ,,,(240-56*2)*65536+44, ror ecx, 8 mcall ,,,(240-56*3)*65536+44, ror ecx, 8 mcall 38, 15*65536+300-15, 137*65536+137, [sys_colors.work_graph] stdcall [edit_box_draw], edit1 stdcall [option_box_draw], Option_boxes1 mcall 12, 2 ; äãªæ¨ï 12: á®®¡é¨âì Ž‘ ®¡ ®âà¨á®¢ª¥ ®ª ret ;------------------------------------------------- title db 'string to double 07.09.11',0 hexstr db 'hex:',0 decstr db 'dec:',0 binstr db 'bin:',0 if lang eq ru numstr db '—¨á«®:',0 Okstr db '‚¢®¤',0 head_f_i: head_f_l db '‘¨á⥬ ï ®è¨¡ª ',0 else numstr db 'Number:',0 Okstr db 'Ok',0 head_f_i: head_f_l db 'System error',0 end if mouse_dd dd 0 edit1 edit_box 182, 59, 146, 0xffffff, 0xff, 0x80ff, 0, 0x8000, (string1_end-string1), string1, mouse_dd, 0 editboxes_end: ;option_boxes opt1 option_box option_group1, 15, 90, 8, 12, 0xffffff, 0x80ff, 0, op_text.1, 17 opt2 option_box option_group1, 15, 106, 8, 12, 0xffffff, 0x80ff, 0, op_text.2, 18 opt3 option_box option_group1, 15, 122, 8, 12, 0xffffff, 0x80ff, 0, op_text.3, 21 op_text: ;⥪áâ ¤«ï à ¤¨® ª®¯®ª .1 db 'str(dec) -> float' .2 db 'str(dec) -> double' .3 db 'float(dec,hex) -> str' ;㪠§ ⥫¨ ¤«ï option_box option_group1 dd opt1 Option_boxes1 dd opt1, opt2, opt3, 0 system_dir_0 db '/sys/lib/' lib_name_0 db 'box_lib.obj',0 err_msg_found_lib_0 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'box_lib.obj',39,0 err_msg_import_0 db 'Žè¨¡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'box_lib',39,0 l_libs_start: lib_0 l_libs lib_name_0, sys_path, library_path, system_dir_0,\ err_msg_found_lib_0,head_f_l,import_box_lib,err_msg_import_0,head_f_i l_libs_end: align 4 import_box_lib: ;dd sz_init1 edit_box_draw dd sz_edit_box_draw edit_box_key dd sz_edit_box_key edit_box_mouse dd sz_edit_box_mouse ;edit_box_set_text dd sz_edit_box_set_text option_box_draw dd aOption_box_draw option_box_mouse dd aOption_box_mouse ;version_op dd aVersion_op dd 0,0 ;sz_init1 db 'lib_init',0 sz_edit_box_draw db 'edit_box',0 sz_edit_box_key db 'edit_box_key',0 sz_edit_box_mouse db 'edit_box_mouse',0 ;sz_edit_box_set_text db 'edit_box_set_text',0 aOption_box_draw db 'option_box_draw',0 aOption_box_mouse db 'option_box_mouse',0 ;aVersion_op db 'version_op',0 i_end: sys_colors system_colors rb 0x400 ;stack sys_path rb 4096 library_path rb 4096 e_end: ; ¬¥âª ª®æ ¯à®£à ¬¬ë