Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
адресация.doc
Скачиваний:
3
Добавлен:
05.12.2018
Размер:
285.18 Кб
Скачать

Прямой и обратный порядок байтов

Существует два способа адресации байтов в словах:

  • в прямом порядке (а)

  • в обрат­ном порядке (б)

Обратным порядком байтов (big-endian) называется сис­тема адресации, при которой байты адресуются слева направо, так что самый старший байт слова (расположенный с левого края) имеет наименьший адрес.

Прямым порядком байтов (little-endian) называется противоположная система адресации, при которой байты адресуются справа налево, так что наименьший ад­рес имеет самый младший байт слова (расположенный с правого края). Слова «старший» и «младший» определяют вес бита, то есть степень двойки, соответст­вующей данному биту, когда слово представляет число. В ПЭВМ на основе МП 80x86 используется прямой порядок, а в ПЭВМ на основе МП Motorola 68000 - обратный. В обеих этих системах адреса байтов 0,4, 8 и т. д. применяются в качестве адресов после­довательных слов памяти в операциях чтения и записи слов.

Наряду с порядком байтов в слове важно также определить порядок битов в байте. Наибо­лее естественный порядок битов для кодирования числовых данных (непосредст­венно соответствующий их разрядам) - «слева направо»: b32,….,b1,b0. Однако существуют компью­теры, для которых характерен обратный порядок битов.

Расположение слов в памяти

В случае 32-разрядных слов их естественные границы располагаются по адресам 0,4,8 и т. д. При этом мы говорим, что слова выровнены по адресам в па­мяти. Если говорить в общем, слова считаются выровненными в памяти в том случае, если адрес начала каждого слова кратен количеству байтов в нем. По практическим причинам, связанным с манипулированием двоично-кодирован­ными адресами, количество байтов в слове обычно является степенью двойки. Поэтому, если длина слова равна 16 бит (2 байтам), выровненные слова начинаются по байтовым адресам 0, 2, 4,..., а если она равна 64 бит (23 т.е. 8 байтам), то выровненные слова начинаются по байтовым адресам 0, 8, 16,....

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

Доступ к числам, символам и символьным строкам

Обычно число занимает целое слово. Поэтому, для того чтобы обратиться к нему в памяти, нужно указать адрес слова, по которому оно, это число, хранится. Точно так же доступ к отдельно хранящемуся в памяти символу осуществляется по ад­ресу его байта.

Во многих приложениях необходимо обрабатывать строки символов перемен­ной длины. Для доступа к такой строке нужно указать адрес байта, в котором хра­нится ее первый символ. Последовательные символы строки содержатся в после­довательных байтах. Существует два способа определения длины строки. Первый из них заключается в использовании специального управляющего символа, обо­значающего конец строки и являющегося ее последним символом. Второй способ состоит в использовании отдельного слова памяти или регистра процессора, со­держащего число, которое определяет длину строки в байтах.