Как работает память в сборке 16 бит с использованием DOSBOX - PullRequest
2 голосов
/ 13 февраля 2020

Я пытаюсь понять, как работает память в сборке

a dd 'aa'
b db 'aaa'

это будет работать нормально, а в памяти у меня будет: 61 61 00 00 61 61 61 ...

но если я к этому

d dd 'aaa'

, я получаю ошибку компиляции, говорящую: 'Значение вне диапазона'

Почему это так? И если бы вы могли принести мне какую-то документацию или что-то, чтобы лучше понять, это было бы неплохо. Спасибо

1 Ответ

0 голосов
/ 14 февраля 2020

dd означает «определить двойное слово». Это для объявления четырехбайтовых переменных. Что вы пытаетесь сделать, поместив туда двухбайтовую текстовую строку?

Я не уверен, что подойдет четыре байтовая строка под dd. По крайней мере, это будет иметь больше смысла.

...