F1 - выполнить текущую инструкцию загруженной программы. Текущая инструкция - это инструкция, выделенная в окне дисассемблированного текста светлым прямоугольником. После выполнения на экране можно сразу наблюдать результаты ее выполнения.
F2 - выполнять программу до следующей по адресу за текущей инструкции.
Эта клавиша позволяет выполнить подпрограмму или цикл как одну инструкцию, что удобно, так как не нужно просматривать уже отлаженные подпрограммы.
F3 - позволяет представить числовую информацию на экране (содержимое регистров и памяти) в десятичной, а при повторном нажатии - в двоичной форме. (После запуска информация представлена в шестнадцатеричном виде.)
F4 - переключает большое окно памяти с внутренней (INT RAM) на внешнюю (EXT RAM) и обратно.
F5 - установка точек прерывания (см. п. 5).
F6 - переключает форму представления памяти в окне в двоичную и обратно.
F7 - листает окно памяти данных вверх на одну строку.
F8 - листает окно памяти данных вниз на одну строку.
F9 - листает окно памяти программ вверх на одну строку.
F10 - листает окно памяти программ вниз на одну строку.
Для быстрого листания можно пользоваться следующими клавишами:
[Home] - листает окно памяти данных вверх на одну страницу.
[End] - листает окно памяти данных вниз на одну страницу.
[PgUp] - листает окно памяти программ вверх на одну страницу.
[PgDn] - листает окно памяти программ вниз на одну страницу.
Команды отладчика
Для быстрого получения справки по командам можно ввести команду «Н» или нажать комбинацию клавиш «Ctrl-H».
В настоящем описании используются следующие обозначения:
- параметры заключены в угловые скобки, например, <адрес>.
- необязательные параметры заключены в квадратные скобки, например, [<адрес>].
Все числовые значения должны иметь шестнадцатеричный формат, при этом не требуется указывать букву «h».
3.2.1
L [<тип памяти><нач. адрес>,] <файл. спец.>[/A]
Загрузить файл в память. <Тип памяти> может быть I, E или P. В соответствии с этим параметром файл загружается во внутреннюю (Int), внешнюю (Ext) или программную (Pgm) память. <Нач. адрес> и <тип памяти> указывается только при загрузке чистого двоичного кода. При загрузке файла, выработанного ISIS-II MACRO-ASSEMBLER'ом, нужно указать только спецификацию файла и ключ /A.
Пример: L I 01F,A:\PGM\T1 - загрузить двоичный файл во внутреннюю память с адреса 01F.
3.2.2
S <тип памяти><нач. адрес>-<кон. адрес>,<файл. спец.>
Сохранить область памяти в дисковом файле (вообще говоря, во всех командах в качестве <файл. спец.> допускается любая корректная в DOS спецификация файла, например COM1). <нач.адрес> и <кон.адрес> указывают соответственно начало и конец сохраняемой области. Сохраненный командой S файл можно потом снова загрузить командой L.
Пример: S P 20-642,C:\PGMLIB\MYFILE
3.2.3
PRT <тип памяти><нач. адрес>-<кон. адрес>[,<файл. спец.>]
Распечатать дамп области памяти в шестнадцатеричном формате. Если не указана <файл. спец.>, то дамп выводится на принтер.
3.2.4
PRTD <нач. адрес>,<количество команд>[,<файл. спец.>]
Распечатать дисассемблированный текст, начиная с <нач. адреса>. Вывод по умолчанию на принтер.
3.2.5
R <номер регистра>=<число>
Занести число в регистр текущего банка. Число должно быть байтом.
Пример: R4=FF
3.2.6
<Имя регистра>=<число>
Занести число в регистр специального назначения. Можно использовать следующие имена: A, B, TH0, TH1, TL0, TL1, DPH, DPL, DPTR, SP, IP, IE, TMOD, TCON, SCON, SBUF, PC. Число для PC и DPTR может быть и двухбайтовой величиной.
Пример: SP=20 DPTR=FF00
3.2.7
<Имя флага>=<число>
Установить или сбросить флаг в PSW. Имена флагов: C, AC, F0, S1, S0, OV, P.
Если число=0, то флаг сбрасывается, иначе - устанавливается.
Пример: S1=0
3.2.8
PO <номер порта>=<число>
Занести число в порт. Номер порта может быть 0-3.
Пример: PO2=12
3.2.9
D <адрес>
Установить адрес дисассемблированного текста в окне.
Пример: D 0240
3.2.10
<Тип памяти><адрес>[-<кон. адрес>]=<число>
Занести число в память. Если указан <кон. адрес>, то этим числом заполняется область памяти.
Пример: I 22=55 P 0-40=FF
Возможно возникновение неоднозначности при заполнении некоторых ячеек памяти. Например, команда «P C=23» будет воспринята не как занесение числа 23 в память программ по адресу 0C, а как команда установки счетчика команд (PC) в значение 23. В этом случае нужно явно указать, что это адрес:
P 0C=23.
3.2.11
<Тип памяти><адрес>.<номер бита>=<число>
Установить или сбросить бит в памяти. <Номер бита> может быть 7-0 (старший бит - 7).
Пример: I 20.6=1
3.2.12
<Имя регистра>.<номер бита>=<число>
Установить или сбросить бит в регистре специального назначения (A, B, PO0-PO3, IP, IE, TMOD, TCON, SCON).
Пример: TMOD.3=0
3.2.13
M <тип памяти><нач. адрес>
Установить начальный адрес памяти в окне.
Пример: M I 20 M E 0FF M P 0
3.2.14
G [<нач. адрес>[,<кон. адрес>]]
Выполнить программу с <нач. адреса> до <кон. адреса>. Если <нач. адрес> не указан, выполнение начинается с текущей команды (текущая команда выделена белым прямоугольником). <кон. адрес> можно не указывать, если используются точки прерывания. Выполняющуюся программу можно остановить нажатием любой клавиши. G без параметров можно ввести нажатием <Alt-F10>. Можно указать только конечный адрес, но запятая должна присутствовать.
Пример: G 100-FF0 G,2200
3.2.15
T ON [,<файл. спец.>]
Включить трассировку программы. По умолчанию трассировочные записи выводятся на принтер.
3.2.16
T OFF
Выключить трассировку.
3.2.17
INT <0/1>=<число>
Имитировать высокий или низкий уровень на входах INT0 или INT1.
Пример: INT1=0
3.2.18
BA=<адрес>
Установить новую «точку отсчета» для дисассемблирования. Эта команда полезна при просмотре таблиц, зашитых в памяти программ, когда при дисассемблировании «назад» неизвестно, откуда вести дисассемблирование.
3.2.19
RSTC
Сбросить счетчик времени выполнения программы.
3.2.20
QUIT
Выход в DOS.
3.2.21
RST
Имитируется сброс процессора.
3.2.22
N
Сбрасывает значения отладчика, как будто только что запустили FD51.