2016-02-10 3 views
-3

Привет, я пытаюсь понять, сколько байтов потребуется для хранения этих чисел в memmory.Сколько байтов требуется для хранения в памяти (сборка)

delta dw 0,1,2,3,00FFH,0AAAAh 

и

message db "Hello", 0dh, 0ah, "carcar", '$' 

Будет ли каждый символ взять 1 байт? Спасибо!

+0

'dw'' 'слово данных', 2B. Очевидно, каждый элемент в списке занимает 2B. Перенос для тривиального вопроса RTFM. –

+0

Вы * do * знаете, что означает 'dw'? –

+0

Я только начинаю изучать сборку. Кто-то сказал мне, что один символ - один байт, а где-то еще, я видел, что dw имеет 2 байта, поэтому возникла конфликт информации ... – Undertaker

ответ

1

Первый (с использованием dw) зарезервирует 12 байтов. Второй резерв будет 14. Всего будет 26 байт. Вот почему:

Вы правильно идентифицируете DW как «Определить Word», который, как вам сказали, резервирует два байта. Поскольку вы определяете шесть чисел и 2 * 6 = 12, выделяется двенадцать байт.

Вы также правильно идентифицируете DB как «Определить Байт», который, что неудивительно, выделяет один байт. Кроме того, в этот случай, символы одного байта в длину. Так как строка, которую вы определяете, имеет 14 символов (включая конечный «$»), это резервирует 14 байтов.

+0

При закрытом осмотре вы отключены на 1. Есть ** 14 ** байтов в 'сообщении db« Привет », 0dh, 0ah,« carcar »,« $ »' –

+0

. Исправленный. –

+0

Последний абзац все еще читает 13! –

Смежные вопросы