Звоните! 
 (926)274-88-54 
 Бесплатная доставка. 
 Бесплатная сборка. 
Ассортимент тканей

График работы:
Ежедневно. С 8-00 до 20-00.
Почта: soft_hous@mail.ru
Читальный зал -->  Отладка микропроцессорных систем 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [ 41 ] 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82

анализаторе логических состояний, запрограммированном на анализ микропроцессора Z80 фирмы Zilog, имеет следующий вид:

АДРЕС

КОП/ДАННЫЕ

ВНЕШНИЕ

0D00

A, 06

1111 0000

0D02

(08)

1111 0000

0808

OUTPUT

1111 0001

0D04

CALL

0F06

1111 ООП

0FFF

WRITE

1111 ООП

0FFF

WRITE

1111 ООП

0F06

A, (02)

nil 0001

0202

INPUT

1111 0000

0F08

(HL), A

1111 0000

2000

WRITE

. nil 0000

На первый взгляд этот листинг покажется запутанным даже человеку, знающему ассемблерные коды микропроцессора Z80. Анализатор показывает на дисплее не только команды программы, но и те события на шинах адреса и данных, которые относятся к выполнению команд. Чтобы разобраться в листинге, пользователь должен знать особенности работы конкретного микропроцессора, в данном случае микропроцессора Z80.

Анализатор был запущен с использованием в качестве запускающего слова адреса 0D00, а информация с шины данных и с 8 внешних входов установлена на состояния безразлично . В ячейках с адресами 0D00 и 0D01 хранились данные ЗЕ и 06 соответственно. Управляющий микрокомпьютер был запрограммирован на дисассемблирование кодов микропроцессора Z80. На дисплее под заголовком КОП/ДАННЫЕ показана мнемоника LD А, 06, которая определяет загрузку в регистр А значения 06. Во второй строке дисассемблерной программы OUT (08) посылает это значение данных в выходной порт 08. В операции ВВ микропроцессора Z80 адрес порта В В выдается не только на младшие 8 линий шины адреса, но и дублируется на 8 старших линиях. Поэтому в следующей строке адрес порта (дублированный) показан как 0808 на шине адреса, а передаваемое в этот порт значение данных показано как 06 на линиях шины данных. Чтобы показать, что значение с шины данных записывается в выходной порт, после значения



данных (G6 в этом случае) находится слово UU1PUT, В четвертой строке листинга произведен вызов (CALL) подпрограммы из ячейки 0F06. Когда программа была написана в символической форме, а затем ассемблировалась в машинный код, адрес вызова, по-видимому, был символической меткой. Анализатор не может дисассемблировать такую информацию, так как она теряется в процессе ассемблирования; в лучшем случае анализатор может показать адрес первой команды в подпрограмме. Для хранения кода операции и 2-байтно-го адреса вызова в команде CALL требуется 3 байта памяти, поэтому следующая команда основной программы. начинается по адресу 0D07. Этот адрес должен быть возвращен в программный счетчик по окончании подпрограммы, поэтому его необходимо сохранить в стеке. В данном примере предполагается, что при инициализации программы указатель стека был установлен на начальный адрес 1000 ЗУПВ. Адрес возврата (0D07) включается в стек путем декремента указателя стека (адрес OFFF) с последующей записью в стек старшего байта (0D) программного счетчика. После этого вновь производится декремент указателя стека, и в стек записывается младший байт (07) программного счетчика. Передачи по шине, связанные с записью в стек, показаны в строках 5 и 6 листинга. В программный счетчик загружен начальный адрес подпрограммы 0F06, по которому, как видно в строке 7, находится команда ввода INPUT из порта ВВ с адресом 02. Считываемые из этого порта данные (16-ричное число 4С) и дублированный адрес порта (0202) видны в строке 8. Собственно данные загружаются в регистр А центрального процессора. Операция определяется на дисплее как считывание из входного порта словом INPUT, которое находится после значения данных 4С.

В последних строках листинга показано, что введенное в регистр А значение запоминается в ячейке памяти, адресуемой регистровой парой HL. Предполагается, что в регистровой паре HL находится адрес 2000, поэтому последняя строка показывает запись значения 4С в ячейку с адресом 2000.

Возможным недостатком приведенного формата можно считать наличие в нем передач по шине данных, которых нет в ассемблерном листинге отлаживаемой программы. Пользователь испытывает неудобство в процес-



се расшифровки содержимого дисплея, так как он не может просто идти по листингу, фиксируя возможные ошибки в программе. Ответом на этот аргумент служит то обстоятельство, что анализатор показывает важную информацию о реальных передачах на системных шинах, которая может сыграть ключевую роль в определении причины неправильной работы системы. Например, на дисплее видны используемые адреса стека, которые в силу ряда причин могут быть ошибочными. В предполагаемой области адресов стека микросхем памяти может не быть или указатель стека может адресовать другое устройство. Фактически используемые ячейки памяти могут хранить программу или данные. На дисплее видны реальные данные, передаваемые в порты ВВ, а они могут оказать решающую помощь в определении причины неправильной работы системы. В приведенном примере по операции считывания из входного порта 02 в ЦП передается значение 4С, а оно может быть не тем, которое ожидалось системой. Для проверки правильности работы порта 02 следует просмотреть его внешние входы. В порт могут подаваться неверные данные из-за какого-то внешнего отказа, но и сам порт может оказаться неисправным. Если к входному порту подключены тестовые переключатели, а к выходному порту - индикаторы, то анализатор позволяет проверить каналы ВВ информации.

Анализаторы логических состояний прошли эволюцию от встраиваемых в осциллографы модулей, появившихся в 1973 г., до автономных приборов, способных осуществлять дисассемблирование для конкретного микропроцессора (1977 г.). За четырехлетний период возможности анализаторов резко возросли, упростились их настройка и интерпретация результатов, а пользоваться приборами стало легко и удобно.

Анализаторы логических состояний в основном предназначены для упрощения отладки программ путем прослеживания и индикации смены состояний в алгоритмических автоматах, к которым относятся и микрокомпьютеры. Все операции в алгоритмическом автомате осуществляются синхронно с системной синхронизацией, которая применяется для регистрации и (вместе с другими управляющими сигналами, которые также синхронны с системной синхронизацией) для определения типа запоминаемой и индицируемой информации.



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [ 41 ] 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82



ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку.



Звоните! Ежедневно!
 (926)274-88-54 
Продажа и изготовление мебели.


Копирование контента сайта запрещено.
Авторские права защищаются адвокатской коллегией г. Москвы
.