Обучение : Программирование на Ассемблере для PIC


Анализ регистров общего и специального назначения

С помощью симулятора MPLAB SIM мы научились смотреть ход выполнения программы. Однако, гораздо больший практический интерес представляет анализ содержимого регистров общего и специального назначения.

Начнем с регистров специального назначения. Откроем программу и включим симулятор (см. раздел "Симулятор MPLAB SIM"). Далее откроем окно регистров специального назначения.

Нажимаем View –> Special Function Registers:

 

 

В таблице окна "Special Function Registers" несложно проследить за изменением регистров специального назначения в ходе работы симулятора.


Не менее интересно отслеживать и состояние регистров общего назначения.

Нажимаем View –> File Registers.

 

 

В ячейках таблицы окна "File Registers" мы видим числа в шестнадцатеричном формате. Это ни что иное как содержимое ВСЕХ ячеек оперативной памяти, а именно регистров общего и специального назначения. Таблица очень наглядна в плане охвата наблюдения за всеми регистрами, но не совсем понятна в плане понимания адреса регистра и его имени. Также определённые затруднения вызывает шестнадцатеричный формат данных в ячейках. Окно "Special Function Registers" в этом плане гораздо удобнее.

Адрес регистра (ячейки памяти, ячейки таблицы) в шестнадцатеричном формате несложно вычислить путем сложения числа из первого столбца и числа из первой сточки, на пересечении которых находится ячейка (см. глава 1, раздел "Регистры"). Например, h20+h09 = h29 или h30+h0A = h3A, что и является искомым адресом.

В окне "File Registers" удобно наблюдать за состоянием регистров при работе симулятора в режиме "Animate", особенно за регистрами, на которых реализованы задержки.

Необходимо отметить, что в рассматриваемых окнах можно вручную изменить состояние любого бита или любого регистра. Достаточно двойным щелчком мыши выделить значение и изменить содержимое ячейки. В нашем примере, изменяя величину значений регистров общего назначения (Reg_3 по адресу h0E и др.) мы, соответственно, увеличиваем или уменьшаем время работы симулятора на локальном участке сегмента паузы. Изменить значение можно в любой момент работы симулятора. В отдельных случаях будет полезной возможность изменения битов в регистре TRISA, например при анализе работы программы с кнопками.


<<< назад далее >>>

Просмотров: 24552

 








 
 
 

В русском Интернете бестолку защищать свои права. Хотите использовать материалы - используйте,
но с письменного согласия авторов. В противном случае будут высланы соответствующие письма
в поисковые системы об ограничении индексации ваших сайтов. Не доводите до греха.