Размер по умолчанию в инструкциях кода сборки - PullRequest
0 голосов
/ 03 октября 2019

У меня есть вопрос о размере по умолчанию для инструкций по сборке в MSP430.

Скажем, у меня есть какой-то составленный код, похожий на этот:

push.w R10
push.w R11

mov.w 10(SP), R10
mov.w @R10+, R12

cmp #0, R12
inv R12

Когда я не использую .w с cmp и inv и другими - по умолчанию это .b в MSP430?

Как это повлияет на результаты?

Я новичок во всем этом, поэтому, пожалуйста, потерпите меня.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 03 октября 2019

Раздел 3.4 Руководства пользователя семейства MSP430x2xx гласит:

Все инструкции с одним операндом и двумя операндами могут быть инструкциями байтов или слов с использованием .B или .Wрасширения. Байтовые инструкции используются для доступа к байтовым данным или байтовым периферийным устройствам. Команды Word используются для доступа к данным слова или периферийным устройствам слова. Если расширение не используется, инструкция представляет собой словесную инструкцию.

0 голосов
/ 03 октября 2019

По умолчанию используется доступ к словам (16 бит)

О возможных проблемах:

  • Чтение и запись без выравнивания приведет к неожиданному поведению. Специально записи могут изменить соседние байты
  • Все арифметические операции не будут переполнены / перенесены на 8-й бит. Это может привести к неожиданным результатам в коде, использующем их.
  • По этой причине использование байт-массива невозможно. Массивы слов в порядке.
...