Что такое дебаг. Справка по команде debug и ее параметрам. Важный этап обнаружения ошибок

Здравствуйте! Интересно, по какой причине написание слова моточас (моторный час) изменилось на дефисное: мото-час? Как объяснить это ученикам?

Написание слова мото-час подвели под правило: сложные единицы измерения, независимо от того, образованы ли они при помощи соединительных гласных или без них, пишутся через дефис (ср.: человеко-день, тонна -километр, киловатт-час ). Это правило в целом является исключением из правила о сложных существительных, которые при наличии соединительной гласной пишутся слитно. В практике письма слово мото-час , видимо, чаще употреблялось в слитном написании, что соответствовало общему правилу. Возможно, лингвисты, фиксируя слово в орфографическом словаре впервые (это произошло в 1974 г.), видели, что написание подобных единиц измерения плохо подчиняется правилу. Если в 1956 г. было отмечено одно исключение трудодень, в 1967 Д. Э. Розенталь добавляет трудочас, позже в правилах фиксируется тонна жесутки. Из-за неустойчивости этой области письма, увеличения числа исключений, соответствующих общему правилу, лингвисты в начале ХХI в. предложили отказаться от правила-исключения и писать единицы измерения слитно. Однако проект, содержавший это предложение, был категорически отвергнут обществом, не принят на государственном уровне, и лингвистам пришлось перекодифицировать слово, подчинив его правилу-исключению.

Вопрос № 294276

Здравствуйте! Как правильно просклонять по числам словосочетание «картонна я коробка»? Две картонных коробки или две картонные коробки? Три картонных коробки или три картонные коробки? Четыре картонных коробки или четыре картонные коробки?

Ответ справочной службы русского языка

При существительных женского рода, зависящих от числительных два, три, четыре, определение, находящееся между числительным и существительным, чаще стоит в форме именительного падежа множественного числа: две (три, четыре) картонные коробки . Но и вариант две (три, четыре) картонных коробки возможен, это не ошибка.

Вопрос № 286473

Добрый день! Помогите, пожалуйста, написать правильно очень важное предложение. "В настоящее время в таких крупнотонна жный процессах как крекинг и гидрокрекинг... и др. применяют..." Очень выделить оборот с "как", будет ли это правильно?

Ответ справочной службы русского языка

Если сочетание и других указывает на другие виды крупнотонна жных процессов, то корректно: В настоящее время в таких крупнотонна жных процессах, как крекинг и гидрокрекинг... и других, применяют...

Вопрос № 285761

Диапазон: 0,5-1 тонны или 0,5-1 тонна ? Почему?

Ответ справочной службы русского языка

Правилами такие конструкции не регламентированы. Из затруднительного грамматического положения можно выйти следующим образом: д иапазон 0,5 – 1 т или диапазон от 0,5 до 1 тонны .

Вопрос № 274025
Здравствуйте, уважаемая справочная служба русского языка!
О сокращениях единиц времени.
Автор вопроса № 209637 ссылался на ваш ответ на вопрос № 208758 о том, что сокращенные единицы измерения пишутся без точек, и указал на противоречие с тем, что сокращенные единицы времени вы предлагаете писать с точками. (Вы не раз ссылались на орфографический словарь.)
Вы ответили ему (цитирую):
"Противоречия нет. Сокращенные единицы измерения - это, например, кг (килограмм), ц (центнер), тс (тонна -сила), сб (стильб), м (метр). Минута и секунда не относятся к единицам измерения, это единицы времени".
Простите, но что значит "единицы времени"? У времени как такового нет единиц, равно как у длины, силы, давления и вообще у любых физических величин.
"Единица времени" - это сокращеный строгий термин "единица измерения времени" (жаргонизм). Аналогично термин "единица измерения длины" сокращают до "единицы длины" аналогично всем прочим единицам измерения.
Таким образом, противоречие все-таки есть. Как физик и редактор не вижу никакого смысла в выделении единиц измерения времени в особую категорию и в точках после сокращений "с", "мин", "час" и так далее.
С уважением,
Peter

Ответ справочной службы русского языка

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

Вопрос № 265334
Здравствуйте. Почему следует писать 10 шт., а не 10 шт?
Ведь сокращенные названия единиц измерения пишутся без
точек, напр.: кг (килограмм), ц (центнер), тс (тонна -сила).
Параграф 209, Правила русской орфографии и пунктуации. Полный
академический справочник / Под ред. В. В. Лопатина. -
М: Эксмо, 2007.

Ответ справочной службы русского языка

Вопрос № 261767
В очередной раз пытаюсь задать вопрос и очень надеюсь на ответ. "Хотите ли вы разнообразия(,) или вам больше подходит монотонна я деятельность?" Нужна ли запятая перед "или" между простыми предложениями в составе сложного вопросительного? Очень-очень жду ответа!

Ответ справочной службы русского языка

Запятая не ставится, поскольку части сложносочиненного предложения объединены вопросительной интонацией.

Вопрос № 246622
Как правильно сократить в тексте слово тонна - т. или тн.? Заранее благодарна

Ответ справочной службы русского языка

Правильно т (без точки).

Вопрос № 242450
Правильно ли расставлены запятые: Это необходимо для обработки, прежде всего, крупнотонна жных контейнеров.

Ответ справочной службы русского языка

Запятые нужны.

Вопрос № 242362
Объясните, пожалуйста, смысловое различие между словами "тОннель" и "тУннель". В каком случае правильно употребить первое, а когда второе? Почему так получилось, что значение слов одно, а написание разное?

Ответ справочной службы русского языка

Тоннель и туннель – равноправные орфографические варианты (т. е. это не разные слова, а разные варианты написания одного слова). В любом контексте возможно употребление любого из этих вариантов.

Наличие орфографических вариантов связано с историей слова: оно пришло к нам из английского языка, в котором словом tunnel был назван проход под Темзой, построенный французским инженером Брюнелем. В свою очередь английское tunnel, которое буквально означало "дымоходная труба", восходит к французскому tonnelle – уменьш. от tonne "бочка" (отсюда же, кстати, и слово тонна ). В XVI веке слово tonnelle уже встречается во французских текстах в значении "труба" (в частности, "подземная труба"), развившимся, по-видимому, из значения "бочка (лежащая на боку) без дна".

В русском языке слово туннель (тоннель) известно с середины XIX века, при этом различное написание уже тогда фиксировалось словарями.

Правильно ли написано: керамзитобетонна я

Ответ справочной службы русского языка

Да, Вы написали правильно.
Вопрос № 235115
Как правильно сокращать слово =миллион=, с точкой или без? А слово =тонна = / =тонн=?

Ответ справочной службы русского языка

Нормативные сокращения: _млн, т_ (без точек).
Вопрос № 229641
надо ли ставить точку при сокращении следующих слов: тонна , миллион, миллиард, триллион, минута, секунда, час. И в каком словаре можно найти подобную информацию?

Ответ справочной службы русского языка

Сокращения слов _тонна , миллион, миллиард, триллион_ пишутся без точек, сокращения слов _минута, секунда, час_ -- с точками. См. «Русский орфографический словарь» РАН.
Вопрос № 227681
Скажите,пожалуйста,как правильно сокращается слово тонна (тонн) в русском языке? Спасибо!

Ответ справочной службы русского языка

Корректно: _т_ (без точки).

После сокращения обычно ставится точка. Слова сокращаются, как правило, после согласной буквы, напр.: г. (год, город), т. (том), р. (река), гр. (гражданин), р. и руб. (рубль), им. (имени), проф. (профессор), однако встречаются сокращения и после гласной буквы – первой буквы слова, напр.: а. л. (авторский лист), о. (озеро, остров, отец).

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

Млн, млрд, тыс. рекомендуется употреблять взамен нулей в круглых числах; напр.: 45 млн экз.; 10 млрд р.; 10 тыс. экз. Менее желательны эти сокращения перед названиями и обозначениями единиц физ. величин в изданиях для широкого читателя. Рекомендуется, напр.: 10 тысяч метров или 10 тыс. метров (в изданиях для широкого читателя) и 10 тыс. м (в изданиях для специалистов). Недопустимы все эти сокращения перед цифрами (при инверсии) и в случаях, когда сокращения отделены от цифр словами. Напр.:

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

Сокращённые названия городов, напр.: мск (Москва), нск (Новосибирск).

Меняют форму во множественном числе часть однобуквенных графических сокращений: они удваиваются, благодаря чему читатель не испытывает затруднений при чтении. Напр.: в 1976-1980 гг. (читателю не нужно думать, мн. или ед. ч. слова год здесь употреблено - сразу видно, что множественное), XIX - XX вв. ; пп. 1, 5 и 6.

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

Сокращенные названия единиц измерения, согласно ГОСТу, пишутся без точек, напр.: кг (килограмм), ц (центнер), тс (тонна-сила), т (тонна), гс (грамм-сила), сб (стильб), Мкс (максвелл); мм (миллиметр), см (сантиметр), м (метр), км (километр), га (гектар), а (ар); с (секунд), мин (минут), ч (часов). Так же пишутся сокращения млн (миллион) и млрд (миллиард). Однако в «Русском орфографическом словаре» РАН написание некоторых из этих сокращений зафиксировано с точками, поэтому список общеупотребительных сокращений представлен следующим образом:

сокращение расшифровка
а. л. и авт. л. авторский лист
в., вв. век, века

г., гг.

год, годы

г грамм
долл. доллар
и т. д. и так далее
и т. п. и тому подобное
канд. и к. кандидат
кг килограмм
кг. кегль
к.-н. какой-нибудь
м метр
Мб мегабайт
мин. и м. минута
мм миллиметр
р. и руб. рубль
с. и сек. секунда
с. и стр. страница
см сантиметр
см. смотри
т. , тт. том, тома
т. и тыс. тысяча
Ф. И. О. и ф. и. о. фамилия, имя, отчество

Отладчик DEBUG предназначен для решения широкого круга задач. К ним относятся, например, следующие задачи: изучение текущего содержимого оперативной памяти; дизассемблирование.COM и.EXE-файлов;разработка и отладка собственных программ на языке ассемблера; изучение работы программ и их модификация; тестирование периферийного оборудования, для работы с портами ввода/вывода напрямую (в диалоговом режиме); изучение системы команд процессора, прерываний BIOS и MS-DOS.

Существует два способа запуска отладчика:

debug (Enter) или debug filename (Enter)

После запуска отладчик загружается в оперативную память, а содержимое сегментных регистров CS, DS, ES, SS - на первый свободный параграф сразу после самого отладчика. Регистр IP устанавливается равным 100.

Отладчик DEBUG имеет специальный указатель адреса данных, который используется по умолчанию во многих командах отладчика.

После запуска отладчика слева на экране появляется черта [-], которая указывает на то, что отладчик ждет команду. Все числа интерпретируются отладчиком в шестнадцатеричной системе исчисления.

КОМАНДЫ ОТЛАДЧИКА DEBUG

А - команда ассемблирования. Эта команда позволяет вводить программы с использованием мнемокода команд в оперативную память. Ввод команды отладчика

А <число> (Enter)

заставляет его перейти в режим приема команд с клавиатуры и последовательного размещения их, начиная с адреса, равному указанному в команде. При вводе можно использовать две популярные инструкции ассемблера DB и DW. Например:

DB 1,2,3,”EXAMPLE”

DW 1000,2000,”FFFF”

Отладчик поддерживает мнемоники всех команд процессора, а также и сопроцессора 80Х87. При ассемблировании команд JMP и CALL по умолчанию, если это возможно, используется SHORT - вариант этих команд. Но можно указывать перед адресом перехода NEAR или FAR, что приведет к генерации соответствующих команд. Мнемоникой оператора RET, соответствующего дальнему вызову CALL FAR является RETF. Возможно, а в сомнительных случаях необходимо, использовать указатели WORD PTR или BYTE PTR. При вводе программы допускается печать префиксов CS:, ES:, SS: впереди команды в той же строке.

Пример. Программа заполнения экрана символом “!”.

Наберите А 200 (Enter), затем введите программу

В конце программы стоит команда INT 20, обеспечивающая возврат управления обратно на монитор команд отладчика. Запустите эту программу по команде

С - сравнение. Зта команда сравнивает побайтно две области памяти и печатает все различия между ними в форме

<адрес> <содержимое> <содержимое> <адрес>

В данной записи слева приведена информация о первой области памяти, а справа - о второй.

Пример. Сравнить два блока памяти длинной 256 байт. Первый начинается с адреса 100, второй с адреса 300.

Для этого надо набрать

С 100L100 300 (Enter)

Эта команда может быть полезна, например, при проверке на идентичность двух дискет. Для этого в соседние области памяти загружаются интересующие нас соответствующие блоки этих дискет, которые затем анализируются командой С.

D - дамп оперативнойй памяти. Эта команда дает на дисплее распечатку указанной области оперативной памяти, представленной в шестнадцатеричной системе счисления, а справа дает их символьное представление. Причем, кодовые комбинации, не имеющие символьного представления в стандарте ASCII, изображаются точками. В строке отображается шестнадцать байт. При этом справа указывается полный адрес самого левого бaйта. Таким образом, в одной строке приводится шестнадцатеричный дамп, а также ASCII-дамп шестнадцати байт оперативной памяти. Если команда D дана без параметров, то всего на экране отображается 128 байт (80Н) в восьми строках. В каждой строке имеется знак “-“, разделяющий 16 байт пополам: между восьмым и девятым байтами.

Пример. Просмотреть указатели-вектора первых тридцати двух прерываний (20Н).

Необходимо ввести команду

D 0:0,7F (Enter)

Е - команда изменения содержимого байтов. Эта команда позволяет побайтно просматривать содержимое памяти вперед и назад, и в случае необходимости, изменять содержимое просматриваемых байтов.

Ввод команды:

Е <адрес> (Еnter)

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

а) “пробел”, что означает переход к редактированию следующего байта;

б) “Enter”. Это приведет к выходу из режима побайтного редактирования на командный уровень отладчика;

в) “-“. Нажатие этого знака приведет к переходу на редактирование предыдущего байта.

Пример. Изменить значение счетчика системных часов.

Введем команду

и наберем четыре числа 70 70 70 70, разделенных пробелами, затеv символ возврата каретки 0D. Далее необходимо выйти из отладчика и выполнить команду time операционной системы.

F - команда заполнения. Эта команда позволяет заполнить содержимоt указанного диапазона оперативной памяти повторяющейся цепочкой байтов заданным и значениями. В частности, когда цепочка состоит из одного байта, эта команда позволяет обнулить нужную область памяти, когда байт равен нулю, а также занести во все биты единицу, заполняя байтом равным FF.

Команда имеет следующий синтаксис:

F <диапазон_памяти> <цепочка байтов> (Enter)

Пример. Заполнить область памяти, начинающуюся с адреса DS:0100 нулями общим числом 16384 байта (4000 16).

F 100L4000 00 (Enter)

Проверить командой

D 100L4000 (Enter)

G - команда запуска программы programmy. Эта команда предназначена для запуска программы на исполнение. При этом, если той области памяти, где хранятся данные, передается управление как программе, компьютер “зависает”, и требуется его повторный запуск. В случае, когда в программе имеются серьезные ошибки (например, отсутствует оператор INT 20 возврата на командный уровень отладчика), попытка исполнить ее с помощью оператора G также приводит к зависанию компьютера.

Этот оператор обычно используется в одной из следующих четырех форм:

Исполнение этого оператора сводится к передаче управления адресу CS:IP. Значения CS и IP можно узнать набрав команду R (Enter)дампа всех регистров процессора;

б) G=<адрес> (Enter)

При этом производится запуск программы по указанному адресу.

в) G <адрес> (Enter)

В этом случае программа запускается с адреса CS:IP и при достижении оператора с указанным адресом осуществляется BREAK- остановка исполнения программы. Распространенной ошибкой начинающих является пропуск знака “равно” при использовании команды G. В этом случае указанный адрес воспринимается как адрес останова, и если CS:IP указывал, например на область данных, то компьютер “зависнет”.

г) G=<адрес> <другой_адрес> (Еnter)

в этом случае производится запуск программы с указанного после знака “=” адреса и в случае достижения программой команды с величиной адреса, указанного вторым (другой адрес), происходит остановка. Такой способ остановки программы называется введением контрольной точки останова. При указании контрольной точки останова соответствующий байт команды по этому адресу заменяется командой INT 3, имеющей размер 1 байт. При достижении контрольной точки исходное значение байта восстанавливается.

Сначала введем программу (с помощью команды А 100):

MOV ,1234

DEC BX ;здесь поставить контрольную точку

Запустим программу командой G=100 109 (Еnter) Программа, дойдя до адреса 109, остановилась и дала полный дамп регистров.

Н - команда шестнадцатиричной арифметики. Эта команда позволяет получить сумму и разность двух указанных в команде шестнадцатеричных чисел.

В ответ получим 1 (сумма) и FFFF (разность).

I - команда ввода из порта. Эта команда позволяет прочесть содержимое порта ввода/вывода с указанным адресом, распечатав его на экране в шестнадцатиричном виде.

Синтаксис команды:

I <адрес_порта> (Enter)

При этом мы получим содержимое порта В из программируемого периферийного интерфейса 82 .

L - команда загрузки с диска. Эта команда позволяет загружать как логические сектора с флоппи-дисков и винчестеров, так и отдельные файлы. Загрузка секторов с диска производится командой:

L<адрес><номер_диска><начальный_сектор><число_секторов> (Enter)

Здесь “адрес” означает начальный адрес в оперативной памяти, начиная с которого будет последовательно размещаться содержимое блоков-секторов. Переменная “номер диска” указывает с какого диска будет производиться загрузка. Число 0 означает диск А, число 1 - диск В, число 2 - диск С и т.д. Следующие две переменные соответственно указывают с какого сектора начинается чтение и общее число прочитанных секторов.

Загрузить BOOT-блок с флоппи-диска А: в оперативную память, начиная с адреса DS:1000, для чего необходимо выполнить команду

L 1000 0 0 1 (Enter)

Затем содержимое ВООТ-блока можно распечатать командой

D 1000L200 (Enter)

а также дизассемблировать

U 1000L200 (Enter)

N <имя_файла> (Enter)

Далее необходимо исполнить команду L без аргументов. В результате этих действий файл (за исключением файлов с расширением ЕХЕ), будет загружен в оперативную память начиная с адреса CS:100. Если загружаемый файл имеет расширение ЕХЕ, то отладчик загрузит файл, начиная с адреса СS:0. Число прочитанных байтов хранится в регистровой паре ВХ:СХ после выполнения команды L.

M - команда копирования.Эта команда копирует содержимого части оперативной памяти в другую область оперативной памяти. Синтаксис команды следующий:

М <диапазон> <начальный_адрес> (Enter)

Здесь “диапазон” указывает на копируемую область памяти, а “начальный_адрес” - на адрес первого байта, начиная с которого размещаются скопированные данные. Эту команду можно использовать для временного сохранения содержимого оперативной памяти с ее последующим восстановлением.

В начале просмотрим содержимое памяти:

D 100L100 (Enter)

Затем сохраним часть памяти, начиная с адреса

M 100L100 1000 (Enter)

Затрем исходное содержимое

F 100L100 0 (Enter)

Проверим обнуление

D 100L100 (Enter)

И наконец восстановим исходное содержимое

M 100L100 100 (Enter)

N - команда указания имени. Эта команда прежде всего, определяет имя файла, который далее либо будет считываться с диска командой L, либо записываться на диск командой W. Синтаксис этой команды следующий:

N <имя_файла> (Enter)

Прочитаем с диска в оперативную память файл AUTOEXEC.BAT. Для этого выполним

N C:\AUTOEXEC.BAT (Enter)

В регистровую пару ВХ:СХ, будет занесена длина загруженного файла в байтах.

О - команда вывода данных в порт. Эта команда позволяет вывести указанный байт в порт с заданным адресом. Она полезна для тестирования работы периферийных устройств и корпусов на системной плате в диалоговом режиме. Синтаксис команды:

О <адрес_порта> <величина> (Enter)

Здесь вместо «адреса_порта» подставляется адрес необходимого порта в диапазоне 0-FFFF, а вместо “величина” - значение, которое затем загружается в порт. Если порт шестнадцатибитный, то “величина” может быть четырехразрядным шестнадцатиричным числом, которое загружается в порт.

Мотор дисковода А: для флоппи-диска можно включить следующей командой

О 3F2 10 (Enter)

Р - команда высокоуровневой трассировки. Эта команда также, как и команда Т, предназначена для трассировки программ. Однако, в отличие от Т трассировки, эта трассировка менее детальна. Она не отслеживает досконально подпрограммы и программные прерывания, а также циклы LООР и строковые команды с повторением. Как и в случае Т-трассировки после каждой команды печатается содержимое всех регистров и следующая исполняемая команда. Синтаксис команды:

Р=<адрес> <число_команд> (Enter)

Можно опустить любой из двух параметров командной строки: <адрес> и/или <число_команд>. Параметр<адрес> задает начальный адрес, начиная с которого будет производиться трассировка, а параметр <число_команд> будет указывать общее число команд, которые будут исполнены после нажатия клавиши (Enter). Обязателен ввод символа “=” при указании адреса для того, чтобы не спутать адрес с числом исполняемых команд. Этот тип Р -трассировки крайне полезен при изучении общей логики выполнения программы, избавляя от утомительного отслеживания деталей. При начальном изучении программы необходимо начинать именно с Р -трассировки.

Введем, начиная с адреса 100, следующую программу

Затем проведем Р-трассировку. Для этого сначала введем команду Р=100 (Enter) и далее последовательные

После этого проведем обычную детальную Т-трассировку

Q - команда выхода из отладчика. Команда Q приводит к выходу из отладчика на следующий верхний программный уровень. При этом рабочие файлы не сохраняются.

R - команда дампа/коррекции регистров. Эта команда позволяет просматривать содержимое всех регистров сразу, а также флаги, или просматривать значения отдельных регистров и регистра флагов с возможностью их изменения.

дает распечатку всех регистров, а также команды, на которую указывает CS:IP.

R <имя_регистра> (Enter)

дает распечатку содержимого указанного регистра, и затем печатает двоеточие на следующей строке. После этого пользователь может нажать клавишу (Enter) и выйти обратно на монитор команд отладчика, либо задать новое значение регистра перед нажатием клавиши (Enter). В последнем случае старое значение регистра заменится на новое. Возможные имена регистров: AX, BX, CX, DX, SP, BP, SI, DI, DS, ES, SS, CS, IP, F (регистр флагов).

При использовании команды

надо учитывать, что кодирование значений флагов производится весьма специфическим образом. Ниже приводится таблица кодировки, где символьная пара слева соответствует значению 0 соответствующего флага, а справа - значению, равному 1 (флаг установлен):

При исполнении команды

значения флагов печатаются в строку в порядке, обратном к порядку в таблице. Сразу же за этим в строке печатается знак черты <->, отладчик переходит в состояние ожидания ввода с клавиатуры. Если пользователь нажмет только клавишу (Enter), то значения флагов не изменятся и произойдет возврат на монитор команд отладчика. Однако, перед этим пользователь может набрать новые значения некоторых флагов согласно кодировочной таблицы. Порядок следования при этом не существенен.

S - команда поиска. Команда поиска упорядоченного набора байтов позволяет провести поиск указанной цепочки байт в заданном диапазоне оперативной памяти и имеет синтаксис:

S <диапазон_памяти> <цепочка_байтов> (Enter)

Ответ выдается в виде списка адресов, начиная с которых располагается указанная цепочка байтов.

Предположим, нужно определить встречается ли цепочка символов “DOS” в первых 32К оперативной памяти. Для этого необходимо ввести команду

S 0:0L8000 44 4F 53 (Enter)

Т - команда трассировки. Эта команда позволяет исполнить одну или несколько команд в режиме трассировки с печатью содержимого всех регистров и мнемоники следующей декодированной исполняемой команды. После трассировки текущей команды указатель IР сдвигается так, что он указывает на следующую команду. Команда

производит трассировку одной текущей команды, на которую указывает CS:IP, с соответствующим изменением IP.

T <число> (Enter)

производит последовательную трассировку нескольких команд, общее число которых задается в команде.

Т=<адрес> (Enter)

трассирует одну команду по указанному адресу.

Общий вид команды Т следующий:

Т=<адрес> <число_команд> (Enter)

Команда: Т=FFFF:0 (Enter)

производит трассировку первой исполняемой команды при первоначальном запуске компьютера.

U - команда дизассемблирования. Эта команда позволяет дизассемблировать программы, загруженные в рабочую область отладчика.Общий синтаксис:

U <начальный_адрес> <длина> (Enter)

U <начальный_адрес>,<конечный_адрес> (Enter)

вызывает дизассемблирование 32 байт, начиная с байта, на который указывает CS:IP с выводом результирующего листинга на дисплей.

W - команда записи на диск. Эта команда позволяет записывать на диск (флоппи-диски или винчестер) в последовательные блоки указанный диапазон оперативной памяти, а также записывать в файлы. Запись в секторы на диск производится командой

W<адрес><номер_диска><начальный_сектор><число_секторов> (Enter)

Эта команда записывает на диск не более 80Н секторов, число секторов не более 80. Параметр <адрес> означает адрес оперативной памяти, начиная с которого содержимое памяти копируется на диск. Параметр <номер диска> указывает диск, на который производится запись (0-диск А:, 1-диск В:, ..., 80 - винчестер С:). Параметр <начальный сектор> указывает номер логического сектора, начиная с которого будет производиться загрузка образа оперативной памяти. Параметр <число секторов> указывает общее количество записываемых на диске секторов.

Скопируем в файл на диске содержимое ВIОS-области оперативной памяти. Предполагая наличие РС/АТ со стандартным ВIОS размером 64К, обнулим сначала регистр ВХ, а затем занесем в регистр СХ 2000Н. Далее зададим имя файла, куда будем копировать старшую половину ВIОS, командой

N ВIОS.СОМ (Enter)

И наконец, команда

W F000:Е000 (Enter)

занесет в файл ВIОS.СОМ содержимое BIOS.





Top