Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Простейшая микро-ЭВМ. Проектирование. Наладка. Использование.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

8.3. Отладка в рабочем режиме

Итак, ПМ-ЭВМ собрана, реаги­рует на нажатия клавиш, индикация загорается и гаснет, по-ви­димому, так, как нужно. Но это еще не значит, что ПМ-ЭВМ полностью проверена и функционирует правильно. Гарантиро­вать стопроцентную проверку вычислительной системы вообще невозможно, тем более с помощью имеющихся у читателя про­стейших средств. МП может неправильно выполнять некоторые операции и притом только для некоторых сочетаний кодов, микросхемы запоминающих устройств могут иметь неисправ­ные или ненадежные ячейки, искажающие некоторые сочетания кодов. Отдельные элементы ЭВМ могут работать в предельных режимах по нагрузке, по временным допускам, по питанию, по уровню помех и выдавать сбои при изменении внешних условий. Рано или поздно это выявится в процессе эксплуатации. Однако надлежаще проведенные испытания в начале эксплуатации по­зволят выявить значительную часть дефектов и устранить их. Первое, что необходимо сделать, - это проверить работоспо­собность ОЗУ. Простейший способ - записывать в ячейки ОЗУ с помощью клавиатуры различные коды, а затем последователь­но считывать их, проверяя совпадение. Такой метод очень трудо­емок, так как ПМ-ЭВМ имеет 1024 ячейки ОЗУ, к тому же не­которые ячейки, надежные в статике, в динамике могут выда­вать неверные коды. Приведенная ниже программа позволяет автоматически записать заданный код в произвольно заданную зону оперативной памяти. Программа записывается, начиная с ячейки ОЗУ с адресом 014Q OOOQ и занимает 24 ячейки. Зона памяти, в которую заносится код, может начинаться с ячейки 014Q 030Q. Этот адрес заносится в регистровую пару Н коман­дой LXIH. Адрес конца зоны заносится в регистровую пару D командой LXID. Устанавливаемый код задается вторым байтом команды MVIM адреса 014Q 007Q и 014Q 024Q. Проверку пра­вильности записи можно произвести вручную, последовательно просматривая память:

014000041 Ml: LXIH, 014Q 030Q

014001 030

014002014

014003021 LXI D, 017Q377Q

014 004 377

014005017

014006066 M2: MVIM, OOOQ

014 007 000

014010043 INXH

014011 174 MOV A, H

014012222 SUBD

014 013 302 JNZ M2

014014 006

014015 014

014016173 MOV A, E

014017225 SUBL

014 020 302 JNZ M2

014 021 006

014022014

014 023 066 MVI M, OOOQ

014 024 000

014025303 JMPM1

014 026 000

014027014

Путем незначительного усложнения программы можно авто­матизировать проверку правильности записи:

014 000 006 MVI B, OOOQ

014 001 000

014002041 Ml: LXI H, 014Q 055Q

014003055

014 004 014

014 005 021 LXI D, 020Q OOOQ

014 006 000

014 007 020

014010160 M2: MOV M, В

014011 170 MOV А, В

014012226 SUBM

014013302 JNZM4

014014 035

014015 014

014016043 МЗ: INX H

014017174 MOV A, H

014 020 222 SUB D

014021302 JNZM2

014022010

014023 014

014024 173 MOV A, E

014025225 SUB L

014026302 JNZ M2

014027010

014030014

014031000 NOP

014032303 JMPM1

014033 002

014034 014

014035174 M4: MOV A. H

014036323 OUT 0010

014037 001

014040175 MOV A, L

014041323 OUT OOOQ

014 042 000

014043 176 MOV A, M

014044323 OUT002Q

014045 002

014046315 CALLSKL

014047 177

014050000

014051303 JMPM3

014052016

014053 014

В данной программе проверочный код заносится по адресу 014Q 001Q. Сверка кодов производится последовательно в по­рядке возрастания адресов. При обнаружении ошибки програм­ма выводит адрес в порт 001 (старшие разряды) и в порт 000 (младшие разряды), содержимое ячейки — в порт 002 и перехо­дит в режим опроса клавиатуры. Нажатие любой кнопки за­пускает программу на проверку следующих ячеек до новой ошибки, и так далее до конца проверяемой зоны. Для более полной проверки необходимо задавать различные проверочные коды, в предельном случае — от OOOQ до 377Q. Поставив на место команды NOP по адресу 014Q 031Q команду INRB (код 004Q), получим программу автоматической проверки памяти для всех кодов. Читатель" может сам оценить, какая программа удобнее в эксплуатации. Необходимо заметить, что ячейки ОЗУ, отведенные для программы проверки, должны быть заве­домо исправными, и чем длиннее программа, тем труднее найти зону для ее размещения.

В результате проверки выясняется, какой частью ОЗУ можно располагать для работы. Лучше всего, когда все ячейки ОЗУ исправны и, значит, программы могут последовательно разме­щаться в ячейках памяти. Однако и при наличии дефектных ячеек (если их не слишком много) можно использовать почти весь оставшийся объем памяти, обходя дефектные места с по­мощью команды JMP.

С помощью простейших пробных программ необходимо также проверить исполнение всей системы команд МП. Напри­мер, программа MVI A, OPERA ADI, OPERB OUT PORT1 проверяет исполнение команд MVIA, ADI и OUT.