Имя объявления сегмента отклонено в ML64 (для Windows x64) - PullRequest
0 голосов
/ 01 мая 2018

Я портирую основной 32-битный проект на Ассемблер с WIN32 на WIN64. Кодовая база насчитывает 29 лет (и я написал много, поэтому я понимаю!). Я пытаюсь изменить как можно меньше, чтобы помочь поддерживать отдельные 32-битные и 64-битные версии для хорошего времени в будущем.

Одна маленькая вещь просто беспокоит меня: сегментные объявления. По какой-то причине ML64 принимает это:

сегмент данных пункт 'данные'

но не это:

сегмент кода, пункт 'code'

Если я использую другие имена, кроме «code» (например, «kode»), это работает. Так что, думаю, у меня есть свое решение, но просто из любопытства кто-нибудь знает, почему имя, которое отлично работало в ML.EXE (32-разрядной версии), выкладывается ML64?

Brian

1 Ответ

0 голосов
/ 01 мая 2018

IIRC Microsoft отказалась от поддержки ML64.exe, потому что пыталась использовать парадигму .NET.

Эта информация была передана в виде слухов в MASMForum (только общая ссылка, без конкретной) от Hutch. Таким образом, вероятность того, что это настоящий баг, равна HIGH .

В качестве альтернативы вы можете попробовать JWASM и посмотреть, если он также выдает ошибку в том же коде, потому что он утверждает, что MASM-совместимый .

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