Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm для начинающих > FASM->EXE?


Автор: xkill 31.5.2006, 08:02
Вообщем решил асм поизучать остановился на ФАСМЕ. 
Скачал написал пару строк. Опа, проблемки.
А как сделать, что бы 2.asm скопилировать в 2.exe и его можно было из консольки запустить??? fasmw v.1.66 (посл. на сайтеsmile

Автор: e-moe 31.5.2006, 11:01
Местные экстасенсы в отпуске smile
Покажи код и коммандную строку при компиляции ;) 

Автор: ds29 31.5.2006, 14:31
если ты запустил FASMW.EXE  , и писал в нём, то нажимай F9.
если писал в блакноте то пиши FASM.EXE  file.asm,

а вообще если ты скачал FASM, то в архиве есть файл FASM.PDF , для начала следовало бы его прочесть) 

Автор: xkill 31.5.2006, 14:57
Я просто сейчас его только хосю по изучать smile.
Так что код по идее ныкакой можно сказать.
Код

   start:
        mov     ds,ax
        mov     dx,message
        int     21h
message db      'Hello World!',0Dh,0Ah,'$'

Да, набирал в FASMW smile.
Нажимал F9 и никакой реакции почему- то ????
Вот мне не понятен тот момент, что если код не имеет синтакс. ошибок после нажатия F9 ничего не происходит, почему???
А кстате в FASM.pdf я не нашёл того что хотел smile(поэтому вопросу). 

Автор: ds29 31.5.2006, 16:33
xkill
а заголовки и т.д.?

вообще есть папка EXAMPLES, в ней примеры.

вот например, самый простой:

Код


; example of simplified Win32 programming using complex macro features

include 'win32ax.inc'

.code

  start:
    invoke    MessageBox,HWND_DESKTOP,"Hi! I'm the example program!","Win32 Assembly",MB_OK
    invoke    ExitProcess,0

.end start



чтобы не изменять исходник, скопируй туда-же где и FASMW.EXE , файл \INCLUDE\WIN32AX.INC 
 

Автор: xkill 31.5.2006, 17:28
Хм... 
Так значит скопировал FASMW в папку include, рез. 0, скопировал из includ'a файлы. Рез. 0 smile
Затем файл асма(где код) сохранил в директории где include и заработалоsmile. Странно конечно. 
Но почему такие феномены с перемещением??? 

Автор: Aike 31.5.2006, 18:31
измени в исходнике 
include 'win32ax.inc'
на
include '\fasm\include\win32ax.inc'

и сможешь компилировать из любого места, например перетащив свой *.asm на ярлык fasm.exe 

Автор: ds29 31.5.2006, 21:36
эх

исходник лежит ВМЕСТЕ с include файлом если include 'win32ax.inc'

т.е. т.к. перед именем файла (win32ax.inc) нет пути, то подразумевается, что он находится в той де директории что и сам исходный файл.

а вообще делаем так:

******************************************
в файле autoexec.nt для WinXP

set fasminc=путь_к_папке_fasm

в программе :

include '%fasminc%\INCLUDE\win32a.inc'

********************************************** 

Автор: xkill 3.6.2006, 13:50
Спасибо всем, подразобрался... 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)