| Глава 1 | стр 5 |
Рисунок ric_01_07.bmp 24-разрядный рисунок "ПРИВЕТ РОДИНА". Этот рисунок взят для анализа.
Объем 10374 байт. Размер 79х43 пиксела
Скопируем вручную (через буфер обмена) и сохраним в текстовом файле дамп (матрицу) этого
24-разрядного bmp-рисунка. Копирование вручную заняло довольно большое время.
Напоминание: каждый символ в текстовом файле занимает 1 байт. Значит по количеству байт
мы можем определить число символов в текстовом файле. Сделаем приблизительный расчет:
в нашем текстовом файле, где сохраняется дамп рисунка - 33820 байт. Значит столько
же символов. Нам надо сгруппировать символы по 4. Это тетарды. Сосчитаем количество
тетард. 33820/4=8455. В любом случае эта цифра нам поможет сориентироваться в матрице
рисунка.
Еще одна подсказка: размер рисунка. В высоту наш рисунок 43 пиксела, это значит
что в матрице будет 43 строки. 8455/44=192,2.
Значит в одной строке 192 тетарды!
У нас в строке 8 тетард. 192,4/8=24. Нам надо объединить в одну строку 24 строки
В прошлый раз конец строки у нас обозначался числом: FF00. Поищем и сейчас в нашей матрице
это число. Число в матрице найдено. Замечено, что оно повторяется через каждые 15 строк.
В строке у нас 8 тетард. 15х8=120. Значит для того, чтобы матрица отразила наш рисунок,
надо в одну строку поместить 120 тетард.
После того, как подобным образом сгруппировал матрицу, появилась четкая надпись на матрице
"ПРИВЕТ РОДИНА". Вот например как выглядит буква "И":
Как всегда буквы в перевернутом виде. А буква "Д" даже и не влезла бы на экран!
То, что после группировки тетард на матрице появилась надпись это хорошо, но нам надо
надо автоматизировать любые процессы. На то мы программисты. Первый процесс, который надо
автоматизировать - перенос дампа памяти в текстовый файл. Для этого надо написать
программу, которая считывает из памяти и записывает в текстовый файл то, что в ней
находится.
Сделаем так: считаем содержимое bmp-файла в память, затем из памяти считаем в текстовый
файл в виде hex-кода.
Считывание из файла в память (в специально отведенный сегмент памяти - буфер)
хорошо описано в книге Калашникова "Ассемблер это просто" гл 9.1.
Назад |
Начало урока |
Вверх |
Вперед
Содержание