@sakair

Что не так с моим кодом assembler?

Во общем вот мой код.
.8086
code SEGMENT para USE16 PUBLIC  'code'
       ASSUME CS:code,  DS:code,  SS:code,  ES:code
       ORG 100h
       START:
       message db 'Hello,  World!$'
       mov ah, 9h
       mov dx, offset message
       int 21h
       int 20h
code ends
end START

Вот так выглядит:
64aadd9917e45537921152.png
Вот ошибка:
64aade065cd8a031374711.png
  • Вопрос задан
  • 141 просмотр
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Что не так

Я не нашёл ответов в доступной документации, за исключением следующей ремарки в описании ключа /AT командной строки:
Enables tiny-memory-model support.
Enables error messages for code constructs
that violate the requirements for .com format files.

Подозреваю, что assume не может использоваться в masm в исходниках .com, поскольку такие исходники не могут иметь символьных ссылок на сегменты.

Если вопрос -- "что делать", то ответ -- выкинуть директиву assume из кода.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы