ВУЗ:
Составители:
16
полнительный сегмент, когда используются строковые инструкции. Все стро-
ковые инструкции, которые выполняют запись в память, используют в качестве
адреса памяти, в которую нужно выполнить запись, пару регистров ES:DI.
Это означает, что регистр ES особенно полезен при использовании его в каче-
стве целевого сегмента при копировании блоков, сравнении строк, просмотре
памяти и очистке блоков памяти.
Регистр SS указывает на начало сегмента стека, которые представля-
ет собой блок памяти объемом 64К, в котором находится стек. Все инструк-
ции, которые неявно используют регистр SP (включая занесение в стек, извле-
чение из стека, вызовы и возвраты управления), работают с сегментом стека,
так как только регистр SP может использоваться для адресации памяти в сег-
менте стека. Как мы обсуждали ранее, регистр BP также работает относи-
тельно сегмента стека. Это позволяет использовать регистр BP для доступа к
параметрам и переменным, которые хранятся в стеке.
Итак, чтобы на практике просмотреть все выше описанные примеры ис-
пользования регистров и средств управления оперативной памятью, наиболее
удобно воспользоваться программой-отладчиком DEBUG.
1.2.7 Программа-отладчик DEBUG
Программа-отладчик DEBUG является очень важным и необходимым
инструментом для изучения работы ЭВМ, поставляемым в составе DOS.
Программа DEBUG позволяет осуществлять три вида действий в отношении
содержимого ПЗУ и ОЗУ:
1) выборку произвольного участка памяти и отображение его содер-
жимого в двух форматах:
- шестнадцатеричный / ASCII;
- формат не связанный с деассемблированием;
2) запись программ на машинном языке или на языке ассемблера и их
выполнение;
3) исследование и отладку программ, хранящихся на диске или в памя-
ти.
Программы, представленные на языке машинных команд (например,
исполнительный модуль), чрезвычайно сложны для восприятия человеком.
Процесс деассемблирования, реализуемый программой DEBUG, значительно
облегчает процедуру интерпретации машинного языка.
Деассемблирование - это процесс трансляции или преобразования ин-
струкций машинного языка, представленных в абсолютном шестнадцате-
ричном виде в символическую нотацию языка ассемблера. Так, например,
на языке ассемблера можно записать INC AX (увеличить содержимое регист-
ра AX на единицу); ассемблер переведет эту конструкцию в команду на ма-
шинном языке с кодом 40/16. Функция деассемблера состоит в том, чтобы
привести команду машинного языка с кодом 40/16 обратно к виду INC AX. Не-
смотря на то, что деассемблер может выполнить преобразование команд ма-
шинного языка к более удобным командам языка ассемблера, целый ряд
полнительный сегмент, когда используются строковые инструкции. Все стро- ковые инструкции, которые выполняют запись в память, используют в качестве адреса памяти, в которую нужно выполнить запись, пару регистров ES:DI. Это означает, что регистр ES особенно полезен при использовании его в каче- стве целевого сегмента при копировании блоков, сравнении строк, просмотре памяти и очистке блоков памяти. Регистр SS указывает на начало сегмента стека, которые представля- ет собой блок памяти объемом 64К, в котором находится стек. Все инструк- ции, которые неявно используют регистр SP (включая занесение в стек, извле- чение из стека, вызовы и возвраты управления), работают с сегментом стека, так как только регистр SP может использоваться для адресации памяти в сег- менте стека. Как мы обсуждали ранее, регистр BP также работает относи- тельно сегмента стека. Это позволяет использовать регистр BP для доступа к параметрам и переменным, которые хранятся в стеке. Итак, чтобы на практике просмотреть все выше описанные примеры ис- пользования регистров и средств управления оперативной памятью, наиболее удобно воспользоваться программой-отладчиком DEBUG. 1.2.7 Программа-отладчик DEBUG Программа-отладчик DEBUG является очень важным и необходимым инструментом для изучения работы ЭВМ, поставляемым в составе DOS. Программа DEBUG позволяет осуществлять три вида действий в отношении содержимого ПЗУ и ОЗУ: 1) выборку произвольного участка памяти и отображение его содер- жимого в двух форматах: - шестнадцатеричный / ASCII; - формат не связанный с деассемблированием; 2) запись программ на машинном языке или на языке ассемблера и их выполнение; 3) исследование и отладку программ, хранящихся на диске или в памя- ти. Программы, представленные на языке машинных команд (например, исполнительный модуль), чрезвычайно сложны для восприятия человеком. Процесс деассемблирования, реализуемый программой DEBUG, значительно облегчает процедуру интерпретации машинного языка. Деассемблирование - это процесс трансляции или преобразования ин- струкций машинного языка, представленных в абсолютном шестнадцате- ричном виде в символическую нотацию языка ассемблера. Так, например, на языке ассемблера можно записать INC AX (увеличить содержимое регист- ра AX на единицу); ассемблер переведет эту конструкцию в команду на ма- шинном языке с кодом 40/16. Функция деассемблера состоит в том, чтобы привести команду машинного языка с кодом 40/16 обратно к виду INC AX. Не- смотря на то, что деассемблер может выполнить преобразование команд ма- шинного языка к более удобным командам языка ассемблера, целый ряд 16
Страницы
- « первая
- ‹ предыдущая
- …
- 14
- 15
- 16
- 17
- 18
- …
- следующая ›
- последняя »