НА ГЛАВНУЮ НАЗАД
КОМПЬЮТЕРЫ
ПЕРИФЕРИЯ
НОВЫЕ ТЕХНОЛОГИИ
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
ЦИФРОВОЕ ФОТО
ИНТЕРНЕТ
КОМПЛИТ
КОМПЬЮТЕРНАЯ ГАЗЕТА
     
1 . 2 . 3 . 4 . 5 . 6

Ассемблер для "иностранцев"

Наиль Мусин (г. Новомосковск Тульской обл.)

Окончание. Начло см. "Магия ПК" №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.

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