|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.12.2010, 15:43 | #1 |
Пользователь
Регистрация: 09.12.2010
Сообщений: 44
|
Из masm в fasm ( К среде )
Помогите переделать masm в fasm пожалуйста,очень надо (( До серды... еще разобрать потом.. (((
Помогите переделать masm в fasm пожалуйста.... функция lg(x): ( Если у кого есть програмка,напишите пожалуйста... .486 .model flat,stdcall option casemap :none ; case sensitive include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\user32.inc include \masm32\include\gdi32.inc include \masm32\include\fpu.inc includelib \masm32\lib\kernel32.lib includelib \masm32\lib\user32.lib includelib \masm32\lib\gdi32.lib includelib \masm32\lib\fpu.lib Edit_ID1 EQU 3000 Edit_ID2 EQU 3001 Button_ID1 EQU 3002 Static_ID1 EQU 3003 Static_ID2 EQU 3004 .data I_float dt 0 X dt 0 I_temp dd 0 J_temp dd 0 I_float32 dd 0 J_float32 dd 0 wc WNDCLASSA <> hInstance dd 0 szClassName db "const_float",0 szTitleName db "const_float",0 newhwnd dd 0 msg MSG <> hwndStatic1 dd 0 hwndStatic2 dd 0 hwndEdit1 dd 0 hwndEdit2 dd 0 hwndButton1 dd 0 string_for_button1 db "посчитать lg", 0 string_for_static1 db "входное значение:", 0 string_for_static2 db "выходное значение:", 0 text_error1 db "string - not float",0 StaticClassName db "STATIC", 0 EditClassName db "edit", 0 ButtonClassName db "button", 0 input_bufer db 30 dup (?) output_bufer db 30 dup (?) .code start: ; initialize the WndClass structure mov [wc.style], CS_GLOBALCLASS mov [wc.lpfnWndProc], offset WndProc mov [wc.cbClsExtra], 0 mov [wc.cbWndExtra], 0 invoke GetModuleHandleA, 0 mov [hInstance], eax mov [wc.hInstance], eax ;-------ikonka--------------- invoke LoadIconA ,[hInstance], 0 mov [wc.hIcon], eax invoke LoadCursorA, 0 , IDC_ARROW mov [wc.hCursor], eax invoke GetStockObject, COLOR_BACKGROUND mov [wc.hbrBackground], COLOR_BTNSHADOW mov [wc.lpszMenuName], 0 mov [wc.lpszClassName], offset szClassName invoke RegisterClassA, offset wc invoke CreateWindowExA, 0,offset szClassName,offset szTitleName, \ WS_SYSMENU+WS_GROUP,CW_USEDEFAULT, \ CW_USEDEFAULT,300,200,0,0, \ [hInstance], 0 mov [newhwnd], eax invoke ShowWindow, [newhwnd], SW_SHOWNORMAL invoke UpdateWindow, [newhwnd] msg_loop: invoke GetMessage, offset msg, 0, 0, 0 cmp eax, 0 je end_loop invoke TranslateMessage, offset msg invoke DispatchMessageA, offset msg jmp msg_loop end_loop: invoke ExitProcess, [msg.wParam] WndProc proc uses ebx edi esi, hwnd:DWORD, wmsg:DWORD,\ wparam:DWORD, lparam:DWORD cmp [wmsg], WM_CREATE je wmcreate cmp [wmsg], WM_DESTROY je wmdestroy cmp [wmsg], WM_CLOSE je wmdestroy cmp [wmsg], WM_COMMAND je wmcommand_select invoke DefWindowProcA, [hwnd],[wmsg],[wparam],[lparam] ret wmcommand_select: cmp lparam, 0 je wmcommand jmp wmcommand_key wmcommand: mov eax, 0 ret wmcommand_key: mov eax, [wparam] mov ecx, eax shr eax, 16 cmp cx, Button_ID1 je wmcommand_1 ret wmcommand_1: cmp ax, BN_CLICKED je wmcommand_1_job ret wmcommand_1_job: invoke SendMessage, [hwndEdit1], WM_GETTEXT, 25, offset [input_bufer] invoke FpuAtoFL, addr [input_bufer], addr [X], DEST_MEM cmp eax, 0 je wmcommand_1_job_error fld [X] fldlg2 fxch fyl2x fstp [X] invoke FpuFLtoA, addr [X], 4, addr [output_bufer], STR_REG + SRC1_REAL + SRC2_DIMM invoke SendMessage, [hwndEdit2], WM_SETTEXT, 0, offset [output_bufer] mov eax, 0 ret wmcommand_1_job_error: invoke MessageBox, [hwnd], addr [text_error1], 0, MB_OK + MB_ICONEXCLAMATION ret wmcreate: invoke CreateWindowExA, 0, offset [StaticClassName], \ offset [string_for_static1], WS_CHILD + WS_VISIBLE,\ 20,25,180,15, [hwnd], Static_ID1, hInstance, NULL mov [hwndStatic1], eax invoke CreateWindowExA, WS_EX_CLIENTEDGE, offset [EditClassName], \ 0, WS_CHILD + WS_VISIBLE + ES_LEFT,\ 20,45,120,20,\ [hwnd], Edit_ID1, hInstance, NULL mov [hwndEdit1], eax invoke CreateWindowExA, 0 , offset [ButtonClassName], \ offset [string_for_button1], WS_CHILD + WS_VISIBLE + BS_CENTER, \ 30,70,90,20,\ [hwnd], Button_ID1, hInstance, NULL mov [hwndButton1], eax invoke CreateWindowExA, 0, offset [StaticClassName], \ offset [string_for_static2], WS_CHILD + WS_VISIBLE,\ 20,100,180,15, [hwnd], Static_ID2, hInstance, NULL mov [hwndStatic2], eax invoke CreateWindowExA, WS_EX_CLIENTEDGE, offset [EditClassName], \ 0, WS_CHILD + WS_VISIBLE + ES_LEFT,\ 20,120,120,20,\ [hwnd], Edit_ID2, hInstance, NULL mov [hwndEdit2], eax finit ret wmdestroy: invoke PostQuitMessage, 0 mov eax, TRUE ret WndProc endp end start |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LEA [FASM] | m32 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 10 | 03.10.2010 13:57 |
Вопросы по FASM | Crivel | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 18.06.2009 12:02 |
MySQL via FASM | Ivan_32 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 14.05.2009 04:55 |
tasm>>fasm | better | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 11 | 09.02.2009 19:34 |
Обьясните различия между - FASM, WASM, VASM, MASM, TASM | Amancha | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 9 | 17.01.2009 15:38 |