Формат 17: Программное прерывание
Рис. 55. Формат 17
Действие
Эта команда вызывает передачу управления на обработчик программного прерывания, при этом ядро процессора переключается в режим ARM и входит в режим супервизора (SVC). Синтаксис этих команд в ассемблере приведен в таблице 28.
Табл. 28. Команда программного прерывания
THUMB ассемблер |
ARM эквивалент |
Действия |
SWI константа |
SWI константа |
Выполнить программное прерывание: записать в регистр LR адрес следующей команды, скопировать в SPSR содержимое CPSR, загрузить адрес вектора SWI (0x00000008) в регистр PC. Переключить ядро в режим ARM и войти в режим супервизова - SVC. |
Примечания: 8-битная константа может быть как угодно использована в обработчике программного прерывания, так как игнорируется самим процессором.
Число машинных тактов при выполнении команд
Все команды этого формата эквивалентны командам в режиме ARM согласно таблице 28. Число машинных тактов выполнения этой команды в режиме THUMB идентично с числом тактов выполнения ее в режиме ARM. Примечание: для более подробной информации см. соответствующую главу.
Примеры
SWI 18 ; Вызвать обработчик программного прерывания.
; Войти в режим супервизора, передав число 18 в качестве номера
; программного прерывания SWI.
|
|