Page 1 of 1

Написал первую программу, но она не работает.В чём проблема?

Posted: Wed Mar 02, 2016 11:52 pm
by Fajarowicz
Всем привет. Создал программу, вроде следовал манам, но ничего не отображает (хотя должно быть пустое окно)

Code: Select all

format binary
org 0x0
db 'MENUET01'
dd 0x01
dd START
dd I_END
dd I_END + 0x100
dd I_END + 0x100
dd 0x0
dd 0x0
START:
mov eax,0
mov ebx,0x100
mov ecx,0x100
mov edx,0x12BB6721
int 0x40
wait:
mov eax,10
int 0x40
jmp wait
I_END:
Я вообще не пойму, что здесь не так? Просветите! Прошу прощения, если пишу не туда, но я новичок. Хотел запостить этот вопрос в Оффтоп, но он почему-то закрыт для новичков (а почему?). Всем спасибо!

Re: Написал первую программу, но она не работает.В чём пробл

Posted: Thu Mar 03, 2016 12:13 am
by hidnplayr
You forgot the very important keyword at the beginning of the program: "use32".
It tells FASM to compile to 32 bit code.

<format binary> has no use in this case, I normally use <format binary as ""> because it tells FASM to compile to the filename without extension. (without ".bin")

Also, "wait" is a reserved keyword, so you'll have to choose another name for your label :)

Welcome, and good luck!

Re: Написал первую программу, но она не работает.В чём пробл

Posted: Thu Mar 03, 2016 2:20 pm
by Fajarowicz
Спасибо за ответ, заработало. Право, я думал, что fasm по умолчани. генерирует 32-битный код

Re: Написал первую программу, но она не работает.В чём пробл

Posted: Thu Mar 03, 2016 9:24 pm
by hidnplayr
I assume you already have found the FASM manual by now.
Here is a link to the relevant section anyway: http://flatassembler.net/docs.php?article=manual#1.1.4

Re: Написал первую программу, но она не работает.В чём пробл

Posted: Fri Mar 04, 2016 3:10 am
by Yason
На одном общеизвестном форуме, есть относительно свежий перевод рукаводства по FASM на русский язык.
Только там глава 1.4.1, на которую указал hidnplayr, является главой 1.7.1.

1. Мануал по flat assembler (<-1.7.1).
2. Руководство по препроцессору FASM.
3. Макросы и директивы компилятора FASM.