Ассемблер: Используя «Плоский ассемблер», как мне создать EXE-файлы (компиляция, ссылка ..)? - PullRequest
2 голосов
/ 20 февраля 2010

Я использую FASM для компиляции небольшого фрагмента кода:

  mov ah,4ch
  mov al,00
  int 21h 

Я нажимаю Run -> Compile, и я получаю файл .BIN. извините за нубистский вопрос, но почему я не получаю OBJ или EXE-файл и что это за BIN?

Ответы [ 2 ]

4 голосов
/ 21 февраля 2010

BIN - это двоичный файл. Вам необходимо проверить параметры командной строки, которые вы использовали для передачи в FASM. Согласно документации формат по умолчанию представляет собой плоский двоичный файл. Цитирую из документации, раздел 2.4:

Default output format is a flat binary file, it can also be selected by using 
format binary directive. This directive can be followed by the as keyword and 
the quoted string specifying the default file extension for the output file. 
Unless the output file name was specified from the command line, assembler will
use this extension when generating the output file.

Так что я думаю, что ваш код должен выглядеть так:

.use32
.format pe console
mov ah,4ch
mov al,00
int 21h 

Редактировать: Я только что понял после нажатия Сохранить, что это были 16-битные регистры ...

.use16
.format MZ
mov ah,4ch
mov al,00
int 21h
3 голосов
/ 21 февраля 2010

Я знаю, у них есть свой форум. http://board.flatassembler.net/

...