| ||||||||||||||||||
После запуска DEBUG переходит в режим своей командной строки, подсказка-"приглашение" в которой выглядит как дефис ("-"). В этом режиме вы можете вводить свои программные инструкции.
Поскольку для отладки и компоновки ассемблерных кодов существуют гораздо более солидные и удобные средства, то DEBUG чаще всего используют для внесения небольших поправок в уже написанные на ассемблере программы и для коррекции данных в секторах на диске.
Инструкции и возможности программы DEBUG
Документация на программу DEBUG больше не включается в стандартные руководства для пользователей DOS. Если вы всерьез собираетесь работать с этой программой, то вам придется найти какое либо техническое описание DOS, предназначенное для специалистов, или другое подобное руководство по программированию.
Мы же ограничимся только перечислением инструкций программы DEBUG и их кратким описанием.
А [адрес] — преобразование операторов макроассемблера в машинные коды и размещение их в памяти.
С диапазон адрес — сравнение содержимого двух блоков памяти.
D [диапазон] — просмотр содержимого области памяти.
Е адрес — последовательный вывод байтов с возможностью их модификации.
Е адрес [список] — замена значений одного или нескольких байтов, начиная с указанного адреса, на значения, приведенные в списке.
F диапазон список — заполнение области памяти в указанном диапазоне адресов байтами, приведенными в списке.
G — выполнение отлаживаемой вами программы без остановок в контрольных точках.
G=[aflpec] — выполнение инструкций отлаживаемой программы, начиная с указанного адреса.
С=[адрес] [адрес] … — выполнение инструкций отлаживаемой программы, начиная с адреса, указанного первым. Работа программы будет приостанавливаться по достижении каждого из последующих адресов (контрольных точек), и на дисплей будут выводиться состояния регистров, флагов и код следующей исполняемой команды. Адресов контрольных точек должно быть не более 10.
Н число число — операции над двумя шестнадцатиричными числами. Вычисляется одновременно их сумма и разность между первым и вторым. В строке результата первое число — сумма, второе — разность.
I адрес — считывание и вывод на дисплей (в шестнадцатиричном коде) одного байта с порта с указанным адресом.
L [адрес] — загрузка в память содержимого файла.
L адрес диск сектор число — загрузка в память по указанному адресу данных с диска, начиная с указанного сектора. Считываются данные из того количества последовательно расположенных секторов, которое определено последним числом.
М диапазон адрес — копирование содержимого области памяти в указанном диапазоне адресов в область, начинающуюся с заданного адреса.
N [диск] [путь] имя — определение имени исполняемого файла для инструкций L и W или параметров командной строки для уже отлаживаемого файла (в последнем случае они перечисляются вместо указания диска, пути и имени).
О адрес байт — посылка байта в выходной порт с указанным адресом.
Р=[адрес] [число] — вызов подпрограммы, цикла, программного прерывания или команды-строки, расположенной по указанному адресу; второе число обозначает количество исполняемых машинных команд, после которого управление возвращается программе DEBUG.
Q — выход из программы DEBUG.
R — вывод на дисплей содержимого всех регистров и флагов, а также кода последующей исполняемой команды.
R F — вывод значений всех флагов.
R [регистр] — вывод содержимого указанного регистра.
S диапазон список — поиск перечисленной последовательности байтов в указанном диапазоне адресов.
Т=[адрес] [число] — исполнение одной или нескольких команд, начинающихся с указанного адреса, или — если он пропущен — с того, что хранится в регистрах CS:IP. После выполнения каждой команды выводится содержимое всех регистров и флагов, а также расшифрованный код исполненной команды.
U [диапазон] — обратное преобразование машинных команд (содержимое памяти преобразуется в операторы ассемблера) с указанием, наряду с самими операторами, их адресов и шестнадцатиричных значений.
W [адрес] — запись файла; инструкцию можно использовать как без указания параметров, так и задавая только начальный адрес области памяти, из которой будут переноситься данные.
W адрес диск сектор число — запись данных, начиная с указанного адреса памяти, в указанные секторы на диске.
ХА [число] — передача указанного количества страниц дополнительной памяти (EMS) каналу управления.
XD [канал] — освобождение канала управления EMS.
ХМ [лог. страница] [физ. страница] [канал]
— установка соответствия логической страницы
EMS физической странице, находящейся под управлением указанного канала.
XS — вывод сообщения о текущем статусе дополнительной памяти.
Выигрыш от многопроцессорной системы можно получить лишь при использовании систем, поддерживающих такую архитектуру - Windows NT/2000/XP/2003, Solaris, SCO UNIX MPX, UNIXWare, Linux, FreeBSD. При этом различные подзадачи могут независимо и одновременно выполняться на различных (или всех одновременно) процессорах. В случае "однопроцессорной" ОС или при отсутствии активных процессов с более чем одной подзадачей дополнительные процессоры выигрыша не дают.
| На главную |