«СПЕЦИАЛИСТУ» - ОТЛАДЧИК ПРОГРАММ (Окончание. Начало в № 10’94 г.)

«СПЕЦИАЛИСТУ» — ОТЛАДЧИК ПРОГРАММ (Окончание. Начало в № 10’94 г.)

Как свидетельствует редакционная почта, в условиях почти полного отсутствия доступной литературы по программированию на низкоуровневых языках единственным методом самообразования для многих читателей и подписчиков нашего журнала остается подчас изучение программных продуктов, созданных профессиональными программистами и публикуемых в нашем журнале. Неплохо может зарекомендовать себя в этом плане и материал о CD’E’, печатать который журнал начал в № 10’94 г.

Несомненным плюсом материала о CD’E’ является сравнительно небольшой его объем при достаточном для указанных целей наборе реализуемых функций. Кроме того, возможно использование отдельных подпрограмм CD’E’. Например, использование БЕЙСИКОМ редактора CD’E’, которое хотя и требует незначительного изменения БЕЙСИК-интерпретатора, зато существенно облегчает ввод и редактирование программ.

«СПЕЦИАЛИСТУ» - ОТЛАДЧИК ПРОГРАММ (Окончание. Начало в № 10’94 г.)

III. Команды отладчика

1. ASM <адрес> — команда оперативного ассемблирования. Она позволяет разместить в памяти, начиная с <адрес>, коды команд. Именно те, которые соответствуют мнемоническим обозначениям МП КР580.

Для упрощения алгоритма ассемблирования в мнемонику команд внесены несущественные изменения. В частности, регистр указателя стека SP кодируется как S, а регистровая пара PSW — как F. Поэтому вместо LXI SP, nnnn следует вводить LXI S, nnnn

___»___ DAD SP ___»___ DAD S

___»___ PUSH PSW ___»___ PUSH F

___»___ POP PSW ___»___ POP F

2. DASM <адрес> — переводит расположенный начиная с <адрес> код команд МП КР580 в их мнемонические обозначения. А раз ассемблирование и дизассемблирование используют одни и те же таблицы, значит — упомянутые выше мнемонические особенности ASM сохраняются и для DASM. То есть,

DASM С000

С000 С303С0 JMP С003

С0003 31FF3F LXI S, 3FFF

Неисполняемые коды процессора печатаются в виде NOUSED n, где n — шестнадцатиричный номер неисполняемого кода.

NOUSED 0 08

NOUSED 1 10

NOUSED В FD

3. В CD’E’ имеется возможность задания содержимого регистровых пар процессора для последующей их передачи в опции RUN, TRACE и QUIT. Например,

AF = 4000

HL = 9000

SP = 3FFF

ВС = 0000

DE = 0101

4. REG — команда просмотра данных, которые будут переданы в регистры при выполнении команд TRACE, RUN, QUIT. Одновременно индицируются значащие биты регистра признаков:

REG

РС=7000 SP=3FFF AF=4000 S Z А Р С

HL=0000 DE=4000 BC=FFFF 0 0 0 0 0

5. RUN <адрес> — запускает на исполнение тестируемую программу, расположенную по <адрес>. С предварительной передачей в регистры заданных значений, которые можно проверить командой REG.

6. BREAK <адрес> — устанавливает на <адрес> так называемую «точку останова». По данной команде, начиная с указанного адреса, изымаются и сохраняются три последовательно расположенных байта. Вместо них устанавливается переход в область CD’E’. При достижении «точки останова» в исполняемой программе управление передается отладчику. А он восстанавливает изъятые ранее байты и запоминает текущие значения регистров. После этого результат работы исследуемой программы можно просмотреть командой REG.

Возможна установка только одной «точки останова». При установке новой точки старая удаляется.

7. TRACE <адрес> — позволяет «покомандно» исполнять программу. Причем начиная с <адрес>. Особенность здесь такова, что при нажатии любой клавиши исполняется текущая команда.

Помимо своего основного назначения (отладки программ), CD’E’ можно также рекомендовать для изучения приемов программирования. В частности, путем исследования программ, созданных высококвалифицированными специалистами. Эта возможность обеспечивается совместным использованием дизассемблирования, трассировки, индикации содержимого регистров процессора и памяти (области стека, системных переменных и т.п.).

Ю. МЕТЛИЦКИЙ, Брестская обл.

Рекомендуем почитать

  • СТЕНЫ «ХОДЯТ» ПО КВАРТИРЕСТЕНЫ «ХОДЯТ» ПО КВАРТИРЕ
    В однокомнатных квартирах неизбежна универсальность жилого помещения. Единственная комната должна выполнять функции гостиной, спальни и рабочего кабинета. Совместить такие разнородные...
  • ИСКУССТВЕННЫЕ ПОЛЕНЬЯИСКУССТВЕННЫЕ ПОЛЕНЬЯ
    Ежедневно мы пользуемся огромным количеством вещей и уже практически перестали их замечать. Но оказывается в производстве незначительных на первый взгляд вещей кроется масса...
Тут можете оценить работу автора: