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


Инструкции, генерирующие исключения


Download 0.92 Mb.
Pdf ko'rish
bet12/36
Sana09.05.2023
Hajmi0.92 Mb.
#1449564
TuriРеферат
1   ...   8   9   10   11   12   13   14   15   ...   36
Bog'liq
эксплуатация систем arm linux AFANX

3.7 Инструкции, генерирующие исключения
Только две инструкции ARM используются для генерации исключений, но они
играют важную роль при построении систем с разграничением привилегий.
Инструкция Подразумевает
SWI
Программное прерывание (Software Interrupt)
BKPT
Точку останова (Breakpoint)
Вторая, инструкция точки останова, при выполнении генерирует исключение
Prefetch Abort exception (Исключение прерывания выборки). Такое поведение
21


полезно, когда аппаратное или программное обеспечение отладчика
анализирует выполнение программы.
Первая инструкция, программное прерывание, гораздо важнее, потому что она
позволяет программе пользовательского режима(User mode program) выполнять
вызовы к привилегированному коду операционной системы (Operationg System
code).
Рис. 10: Концепция программного прерывания
В системах Linux SWI нужен для выполнения многих операций, реализованных
в ядре (такие как fork, open, socket, ...), которые требуют полных привилегий.
Это делает инструкцию очень важной для написания шеллкода.
Мы увидим много примеров использования в следующих главах, поскольку они
специфичны для конкретной системы.
3.8 Сопроцессорные инструкции
Архитектура ARM была спроектирована таким образом, чтобы быть модульной
и легко расширяемой за счет использования сопроцессоров. В наборе
инструкций определены три типа инструкций для взаимодействия с
сопроцессорами:
22



Инструкции, используемые для инициирования операции обработки
данных сопроцессора

Инструкции, используемые для передачи значений в регистры
сопроцессора и из них

Инструкции, используемые для генерации адресов для сопроцессора
загрузка и хранение инструкций
Во время выполнения программы каждый сопроцессор получает один и тот же
поток инструкций и игнорирует инструкции ARM и инструкции других
сопроцессоров. Если инструкция не реализована в аппаратном обеспечении
сопроцессоров, возникает исключение Undefined Instruction exception, и
инструкция может быть эмулирована операционной системой.
Это краткий обзор инструкций сопроцессоров:

Download 0.92 Mb.

Do'stlaringiz bilan baham:
1   ...   8   9   10   11   12   13   14   15   ...   36




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