- •Микропроцессор мс68000
- •Обработка исключительных ситуаций.
- •Виды исключительных ситуаций.
- •Многократные ис.
- •Практическая часть.
- •1100 Lea 1200,a5 адрес начала сообщения
- •1100 Move.L a7,a0 копирование указателя стека
- •111Е move.L d1,d2 иначе выполняется операция вычитания
- •100А move.B #247,d7 установка функции ввода символа с
- •103С chk d1,d2 проверка размерности
- •1108 Cmpa.L a5,a6 конец строки?
- •Контрольные вопросы и задания
- •1. В чем состоит различие между прерываниями и исключительными ситуациями?
- •1. Напишите подпрограмму перехода из пользовательского режима в режим супервизора с использованием команды эмулятора.
1. Напишите подпрограмму перехода из пользовательского режима в режим супервизора с использованием команды эмулятора.
2. Напишите подпрограмму обработки ИС "ошибка адреса", которая выводит на терминал название режима работы поцессора, в котором произошла ИС.
3. Напишите подпрограмму обработки ИС "ошибка адреса", которая выводит на терминал информацию о том, к какой области памяти происходило обращение: к данным или командам.
4. Напишите подпрограмму обработки ИС "ошибка шины", которая выводит на терминал информацию о том, во время какого цикла чтения или записи произошла генерация ИС.
5. Напишите подпрограмму обработки ИС TRAP #3, позволяющую производить ввод-вывод строки или одиночного символа. Ввод и вывод осуществляется через ячейку $FF0007. 2-й бит ячейки $FF0003 контрольный.
6. Напишите подпрограмму обработки ИС TRAP #10, позволяющую производить преобразование ASCII символа в шестнадцатиричное число и обратно.
7. Напишите подпрограмму обработки ИС "ошибка шины", которая выводит на терминал сообщение о данной ошибке и переходит в TUTOR по адресу $801FE4.
8. Напишите подпрограмму обработки ИС "неопознанная команда", которая выводит на терминал сообщение о данной ошибке, и само неопознанное командное слово, а затем переходит в TUTOR по адресу $801FE4.
9. Промоделируйте команду TUTORа TR для пошагового выполнения какой-либо программы с выводом на терминал содержимого внутренних регистров.
10. Напишите подпрограмму обработки ИС "деление на ноль", которая выводит на терминал сообщение о данной ошибке, содержимое внутренних регистров и переходит в TUTOR по адресу $801FE4.
11. Напишпте подпрограмму обраьотки немаскируемого прерывания от кнопки Abort, позволяющую обнулить оперативную память с адреса $2000 по адрес $2500, вывести на экран содержимое внутренних регистров и вернутся к выполнению прерванной программы.
12. Напишите подпрограмму, позволяющую с помощью эммулятора записывать слово по нечетному адресу из регистра данных, номер которого указан в команде эммулятора.
13. Напишите подпрограмму, позволяющую с помощью эмулятора записывать длинное слово ячейки памяти с нечетным адресом в регистр адреса, номер которого указан в команде эммулятора.
14. Напишите подпрограмму обработки ИС "деление на ноль", позволяющую выводить сообщение о данной ошибке, а также адрес следующей после ошибочной команды. Точка возврата $801FE4.
15. Напишите подпрограмму обработки немаскируемого прерывания с автовектором (Abort), которая очищает все внутренние регистры кроме А7 и устанавливает указатель пользовательского стека по адресу $2500. Точка возврата $801FE4.
1Термин "Исключительная ситуация" (exception) предложен фирмой Motorola и является, в сущности, обычным прерыванием.
Микропроцессор МС68000. Лабораторный практикум.