Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Непосредственный ввод программы в память с помощью debug.exeСодержание книги
Поиск на нашем сайте debug.exe позволяет вводить программу непосредственно в память машины, а затем следить и управлять ее выполнением. Мы будем вводить программу в машинных кодах, используя команду E. При этом будьте бдительны - ввод ошибочных данных по ошибочному адресу чреват непредсказумыми последствиями! Хотя к серьезным проблемам в системе это вряд ли приведет, но потерять все данные, введенные в debug.exe, можно потерять запросто. MOV AX, 0123; код B82301: заносим значение 0123h в AX ADD AX, 0025; код 052500: прибавляем 0225h к значению AX MOV BX, AX; код 8BD8: заносим значение AX в BX ADD BX, AX; код 03D8: прибавляем значение AX к BX MOV CX, BX; код 8BCB: заносим значение BX в CX SUB CX, AX; код 2BC8: отнимаем значение AX из CX SUB AX, AX; код 2BC0: очищаем AX JMP 100; код EBEE: переходим к началу программы
-E CS:100 B8 23 01 05 25 00 -E CS:106 8B D8 03 D8 8B CB -E CS:10C 2B C8 2B C0 EB EE -_
-r AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=15D7 ES=15D7 SS=15D7 CS=15D7 IP=0100 NV UP EI PL NZ NA PO NC 15D7:0100 B82301 MOV AX,0123 -_
· Адрес инструкции, в нашем случае это 15D7:0100, где 15D7 - адрес сегмента кода. · Машинный код, соответствующей этой инструкции (B82301). · Собственно инструкция, записанная на ассемблере (MOV AX,0123). Теперь, после анализа содержимого регистров и флагов, давайте перейдем к выполнению программу. Выполнять программу мы будем пошагово, используя команду T. Использовав в первый раз команду T, мы выполняем инструкцию MOV. Здесь машинный код операнда инструкции - 2301. Операция помещает 23 в AL (младшая половина AX), а 01 - в AH (старшая). -t AX=0123 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=15D7 ES=15D7 SS=15D7 CS=15D7 IP=0103 NV UP EI PL NZ NA PO NC 15D7:0100 B82301 ADD AX,0025 -_
|
||||||||||||||||||||
|
Последнее изменение этой страницы: 2016-07-16; просмотров: 569; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.176 (0.006 с.) |