Язык ассемблера ASCII порядок строк - PullRequest
0 голосов
/ 04 октября 2018

Я новичок в использовании MSP430 с компоновщиком кода, и я выполнял лабораторное задание, в котором были закодированы простые инструкции.

Я выполнил эту инструкцию:

mov.w #'ABC', R9

inВ результате я получаю #0x4241 в R9.

Я понимаю, что вышеприведенное в кавычке 'ABC' является строкой ASCII, и при преобразовании A = 41 B = 42 C = 43 и что C удаляетсякак хранится только слово, так и A и B сохраняются.

Что я не понимаю, так это:
почему 4241 вместо 4142?
Поскольку A - это 41, а B - 42?

1 Ответ

0 голосов
/ 04 октября 2018

Одним словом: endianness

Ваше слово сохраняется. Сначала младший байт: 0x4241.

На машине "Big Endian" оно будет сохраненокак 0x4142.

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

В формате с прямым порядком байтов, при каждой адресации памяти или посылке / сохранении слов в байтовом порядке старший значащий байт - байт, содержащий старший значащий бит - сохраняется первым (имеет самый низкий адрес) или отправляется первым, затемпоследующие байты сохраняются или отправляются в порядке убывания значимости, причем младший значащий байт - тот, который содержит младший значащий бит, - сохраняется последним (имеющим самый высокий адрес) или отправляется последним.

Формат с прямым порядком байтов обращает этот порядок в обратном порядке: последовательность адресов / отправляет / хранит младший значащий байт первым (самый младший адрес) и старший значащий байт последним (самый высокий адрес).Большинство компьютерных систем предпочитают единый формат для всех своих данных;использование исходного формата системы происходит автоматически.Но при чтении памяти или получении переданных данных из другой компьютерной системы часто требуется обрабатывать и переводить данные из предпочтительного формата с прямым порядком байтов в противоположный формат.

enter image description here

...