1. Рабочие состояния процессора
О модели программирования
Ядро процессора ARM7TDMI использует архитектуру ARM v4T, которая поддерживает 32-разрядный набор инструкций ARM и 16-разрядный набор инструкций Thumb. Модель программирования описана в "ARM Architecture Reference Manual" (справочное руководство по архитектуре ARM).
Рабочие состояния процессора
Процессор ARM7TDMI поддерживает следующие рабочие состояния:
- ARM - в данном состоянии выполняются 32-разрядные инструкции ARM;
- Thumb - в данном состоянии выполняются 16-разрядные инструкции Thumb.
В состоянии Thumb счетчик программы (PC) использует бит 1 для переключения между альтернативными полусловами.
Прим.: переход между состояниями ARM и Thumb не оказывает влияния на процессорный режим или содержимое регистров.
2.1 Изменение состояния
Рабочее состояние ядра ARM7TDMI может переключаться между состоянием ARM и Thumb с помощью инструкции BX. Данная процедура описана в "ARM Architecture Reference Manual".
Обработка всех исключительных ситуаций выполняется в состоянии ARM. Если исключительная ситуация возникает в состоянии Thumb, то процессор возвращается в состояние ARM. При возврате из обработчика исключительной ситуации осуществляется автоматический переход в состояние Thumb. Обработчик исключительных ситуаций может изменить состояние на Thumb, но он также должен вернуться к состоянию ARM для корректного завершения обработки исключительной ситуации.
|