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


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

Инструкция Подразумевает
B
Ветвление (Branch)
BL
Ветвление с линковкой (Branch with Link)
BX
Ветвление и обмен (Branch and Exchange)
BLX
Ветвлние с линковкой и обменом (Branch with Link and Exchange)
Стандартную инструкцию Branch (B) можно рассматривать как простой
переход, вперед или назад в коде, вплоть до 32 МБ.
Для вызова подпрограммы BL является лучшим выбором, поскольку он
сохраняет адрес команды после ветвления (адрес возврата) в регистр связи
R14.
Инструкция BX использует содержимое регистра общего назначения, чтобы
решить, куда переходить. Инструкция BLX представляет собой комбинацию
этих двух инструкций.
13


Рис. 5: BL вызов подпрограммы
Альтернативным способом выполнения безусловных переходов является
прямое манипулирование программным счетчиком, операция, разрешенная в
архитектуре ARM.
Вот некоторые примеры использования ("subroutine 1" является меткой):

B
subroutine_1 ; unconditional jump
2
BEQ subroutine_1 ; conditional jump
3
BL
subroutine_1 ; function call
Вместо этого это прямая манипуляция со счетчиком программ:
1
MOV PC, #1100
; R15 = 1100
Позже мы увидим, что с помощью некоторых инструкций ветвления также
можно изменить набор инструкций, используемый процессором.
3.4 Инструкции по обработке данных
Арифметические, логические и сравнительные инструкции относятся к классу
обработки данных. С помощью этих инструкций мы можем манипулировать
значениями, хранящимися в регистрах, проводить сравнения (и
соответствующим образом устанавливать регистр CPSR), а также выполнять
большое количество математических вычислений. Это самый многочисленный
класс, поэтому будут рассмотрены только самые важные инструкции.
14


Логические инструкции:

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