Соглашение Little Endian против Big Endian в чипах x86 - PullRequest
0 голосов
/ 04 июня 2011

Я понял, что, хотя чипы Intel имеют меньший порядок байтов, когда речь идет о хранении данных в сегменте данных, но те же чипы являются порядком байтов, когда речь идет о хранении машинного кода в сегменте кода. Код операции для MOV AL, 57 - B057. B0 сохраняется в младшем байте, а 57 сохраняется в следующем старшем байте. Это означает, что соглашение о порядке байтов с прямым или младшим порядком относится только к сегменту данных?

Ответы [ 2 ]

1 голос
/ 04 июня 2011

endianess касается того, как байты хранятся, чтобы сформировать большие типы данных, например, хранится ли младший байт первым или последним в памяти, например, 16-битное целое число.

этот фрагмент машинного кода состоит из нескольких отдельных частей, он не объединен, чтобы рассматриваться как целое число, поэтому он не имеет смысла говорить о бесконечности там. Теперь, если у вас есть операционный код, работающий с непосредственным целым числом, которое больше байта, это целое число будет сохранено с прямым порядком байтов, хотя как часть кода.

1 голос
/ 04 июня 2011

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

...