@sddvxd

По какому адресу запишется 1?

Добрый день
byteorder.png
Судя по этому изображению, если я попытаюсь это сделать:

mov dword [block], 1

И на моем компьютере будет стоять процессор с little-endian процессором, то, выходит, что если я попытаюсь прочесть 4 байта по адресу block, то получу не единицу, как ожидал, а 16777216? Ведь адреса растут вниз, или все-таки единица запишется в младший байт, то-есть по адресу block + 3?
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
@sddvxd Автор вопроса
Кажется немного понял, поправьте пожалуйста, если не так - Если бы у меня был компьютер с big-endian, то единица записалась бы по адресу block + 3, не как я указал бы на mov dword [block], 1, а именно по адресу block + 3. В little endian записывалось именно так, как я бы указал. Видимо для этого и существует требование к уточнению размера операнда типа память, потому что порядок байтов бывает разный
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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