ВУЗ:
Составители:
пошаговой трассировки при достижении переменных программы каких-то
определенных значений целесообразно использовать условия останова. В
программе M580 используются два механизма установки условий: условия
по содержимому регистров и таймера, и условия по содержимому ячеек
памяти. Первый механизм поддерживается путем редактирования данных
строки условий окна регистров и окна таймера. Для установки условия
останова по содержимому регистра необходимо ввести один из символов
сравнения('<' - меньше, '>' - больше, '=' - равно, '#' - не равно) и
шестнадцатиричное значение байта или слова регистра МП. Для
установки временной границы выполнения программы во второй строке
окна таймера необходимо в десятичном виде задать предельно допустимое
число машинных тактов выполнения программы. Установка и изменение
условий останова по содержимому ячеек памяти вызывается командой
Alt/F5, по кот орой активизируется всплывающее окно редактирования
условий.
При установке большого числа условий и точек ост анова необходимо
тщательно анализировать причину останова выполнения программы.
Прежде всего нужно проверить, не ист екло ли заданное время работы
прог-
раммы и не выполнилась ли команда HLT. Затем нужно последовательно
проверить точки и условия останова. При этом лишние условия и точки
целесообразно удалять, т.к. процесс выполнения постоянно будет о них
"спотыкаться".
Определенные трудности вызывает отладка фрагментов, где для
хранения временных переменных используется стек. Одна из самых
распространеных ошибок программирования при этом заключается в порче
адреса возврата из подпрограммы и невосстановлении указателя стека SP в
то значение, которое он имел перед началом использования стека для
временных переменных. Для упрощения наблодения за областью стека
целесообразно в начале программы устанавливать SP в конец первого
отображаемого на экране фрагмента памяти(например, в значение 00C0).
При отладке программ, содержащих обработку прерываний,
необходимо учитывать, что сигнал требования прерываний эмулируется в
M580 путем нажатия F7 во время исполнения программы. Программа
M580 отрабатывает это нажатие, выдавая запрос на номер вектора(0..7).
После ввода от пользователя одной из цифр диапазона 0..7 программа
реализует алгоритм входа в прерывание. В случае, когда программа
зациклена на машинных командах ввода IN, процесс входа в прерывание
задерживается, пока пользователь не введет данные для IN. Т.е. сначала
необходимо нажать F7, затем ввести запрашиваемое данное и только
затем M580 запросит номер вектор прерываний и запустит процесс входа в
него.
3.4. Пример ассемблер-программы
Приводимый ниже пример демонстрирует т ехнику работы с моделью
консоли и использование директив языка ассемблера, поддерживаемых
кросс-ассемблером AS80. Программа самодокументирована, поэтому все
необходимые пояснения содержит в своих комментариях.
Страницы
- « первая
- ‹ предыдущая
- …
- 17
- 18
- 19
- 20
- 21
- …
- следующая ›
- последняя »