Проблема с 64-битными ассемблерами - PullRequest
1 голос
/ 07 июля 2011

(кодирование на win7 64 бит)

Вчера я начал кодировать на ассемблере и скачал плоский ассемблер. Теперь, когда я компилирую код, я получаю файл .fas и файл .bin.

Итак, я слышал, что вы изменили их расширения на .exe или .com, и это ваш встроенный код. Но когда я запускаю его, я получаю сообщение об ошибке, потому что пытаюсь запустить 32-битное приложение.

Я пытался:

  1. Измените выполнение файла на 32-битное через свойства файла (прочитайте его из Google), но там есть такая опция.

  2. Другой ассемблер - много. Я пробовал NASM 64 бит, та же проблема. И еще 2, которые я удалил, так как они не работали.

Может кто-нибудь дать мне ссылку для скачивания на WORKING 64 BIT ASSEMBLER? Я искал 1 весь день :(

Плюс, если у него есть опция разборки, было бы еще лучше, но не обязательно.

Кстати, я скорее ассемблер, у которого тоже есть IDE (например, FASM, вы кодируете внутри программы, и он сообщает вам об ошибках при компиляции), а не NASM, который просто ассемблер.

И у меня есть еще один вопрос: Я нашел много 32-битных руководств по ассемблеру, но гораздо менее 64-битных. Должен ли я учиться на 32-битной тоже? Я предполагаю, что есть только 64-битные инструкции, которые я не найду в этих руководствах, но пока все существующие 32-битные инструкции РАВНЫ при кодировании в 64-битных системах, это нормально для меня. Итак, они?

И ... Если у кого-нибудь есть хорошее руководство по x64, я бы оценил, если бы он мог опубликовать ссылку здесь.

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 07 июля 2011

Вам нужно будет связать сгенерированный двоичный файл. Для NASM (Netwide Assembler) вы можете указать формат вывода, но по умолчанию будет bin, если вы не предоставите аргумент .

Просто укажите параметр nam -fwin64 .... Для получения дополнительной информации о сборщике Windows-64 бит в NASM см. раздел 7.6 руководства NASM .

1 голос
/ 08 июля 2011

FASM имеет поддержку x64.Вы читали руководство ?Вы смотрели примеры в * EXAMPLES \ WIN64 *?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...