Переведено для codeby. Net


Download 0.92 Mb.
Pdf ko'rish
bet4/36
Sana09.05.2023
Hajmi0.92 Mb.
#1449564
TuriРеферат
1   2   3   4   5   6   7   8   9   ...   36
Bog'liq
эксплуатация систем arm linux AFANX

3. Ассемблер ARM
Обычно, в документации объясняется набор инструкций ARM. Начинается с
преждевременного объяснения инструкций, рассматривая все возможные
вариации и тем самым вызывает замешательство у читателя.
В этой главе используется практический подход, вводя новые понятия только в
тех случаях, когда это необходимо, и исключить те инструкции и функции,
которые не имеют отношения к теме.
В ARM существует 6 широких классов инструкций:

Инструкции Branch

Инструкции Data-processing

Инструкции Status register transfer

Инструкции Load and store

Инструкции Coprocessor

Инструкции Exception-generating
Хотя не все эти инструкции полезны для эксплуатации программ, базовые
знания о действиях, выполняемых различными классами, необходимы для
понимания операций и дизассемблированного кода исполняемого файла.
Мы рассмотрим наиболее важные инструкции, относящиеся к каждому классу.
Рекомендуется обратить внимание на пример, чтобы получить определенное
знакомство с кодом. Благодаря этому приемы, изложенные в последующих
главах, покажутся простыми и интуитивно понятными.
3.1 Размер и выравнивание опкода
Операционные коды ARM имеют фиксированный размер 32 бита, и в
программе их адреса должны быть выровнены по словам (т.е. каждая
инструкция начинается с адреса, кратного 4). Инструкция, чей адрес
выравнивания слов равен A, состоит из четырех байт, с адресами A, A+1, A+2 и
A+3.
10


Рис. 3: Выравнивание инструкций ARM
Важно помнить, что биты СП [1:0] всегда равны нулю, так как инструкции
ARM всегда нулевые, поскольку инструкции ARM всегда выровнены по словам.
Это не так, однако в других наборах инструкций, таких как Thumb, где
инструкции выравниваются по полуслову.

Download 0.92 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   36




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling