| |
Ассемблер для "иностранцев"
Наиль Мусин (г. Новомосковск Тульской обл.)
Окончание. Начло см. "Магия ПК" №2/2010
Как заглянуть в любую ячейку памяти
В самом начале мы научились заглядывать в регистры памяти процессора. Мы можем заглянуть и в любую ячейку оперативной памяти, для этого нужно ввести команду d (ди, от слова dump - дамп). Давайте узнаем, что же хранится в ячейке 0dca:99.
Вводим команду d 0dca:99 и нажимаем Enter (после буквы d надо добавить пробел).
1-я строка начинается с номера сегмента 0dca и смещения 0090. Далее до интересующей нас ячейки 0dca:0099 идут пробелы, а в "нашей" ячейке обнаруживаем число a0. Машина выдала гораздо больше ячеек, а мы просили только одну ячейку 0dca:0099. Не зря, оказывается, команда называется dump - в переводе это мусорная куча!
Давайте узнаем, какая память доступна Дебаггеру.
Имеются хорошие справочники по оперативной памяти (так называемые карты памяти), в которых указываются части памяти, в которые при включении компьютера (то есть при "загрузке") записываются необходимые для работы компьютера и программ. Сведения о памяти (о себе, любимой) записываются в сегмент с шестнадцатеричным номером 00400. Первые два нуля можно отбросить, так что получится число 400. Компьютер их сам потом допишет по умолчанию.
Сведения об объеме доступной памяти компьютерный писарь заносит в ячейки 413 и 414. Поскольку
413 = 400 + 13 и 414 = 400 + 14, то 400 - номер сегмента, который записывается как 40 (последний нуль подразумевается), а 13 и 14 - соответствующие смещения. Получаем два косвенных адреса: 40:13 и 40:14.
Пользуясь Дебаггером, достаточно ввести первый из них, так как на нас все равно вывалят большущую кучу ячеек - дамп памяти.
|