Вопрос № 68300: Уважаемые эксперты!У меня вопрос-предложение.
Я-начинающий изучать ассемблер.Есть определённые трудности (не только у меня-достаточно почитать вопросы новичков).
Все они крутятся вокруг установки и начала работы в TASM,MASM и особенностей их...
Вопрос № 68.300
Уважаемые эксперты!У меня вопрос-предложение.
Я-начинающий изучать ассемблер.Есть определённые трудности (не только у меня-достаточно почитать вопросы новичков).
Все они крутятся вокруг установки и начала работы в TASM,MASM и особенностей их работы в XP. Просто нет опыта.
Или вопросы типа почему не отображается рожица на экране. и т.д.
К сожалению, ответы на эти простые вопросы слабо акцентированны в книге Калашникова и других уважаемых авторов (иначе бы такого рода вопросов было бы на порядок меньше!!!)(Логично?)
Итак,не мог бы кто-то из Вас написать (у кого есть вдохновение) своеобразную памятку,наставление для новичков на простом, доступном языке ,где бы подробно(может даже где-то избыточно) описывались возможные проблемы и способы их решения,с которыми может столкнуться неопытный пользователь в начале пути?
Наверняка этим трудом в объёме 2-3 страницы вы окажете неоценимую и так необходимую помощь большому кругу людей.
Отправлен: 23.12.2006, 19:40
Вопрос задал: Andrej11 (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Луковкин Николай Иванович
Здравствуйте, Andrej11!
1.Для получения начальных навыков программирования на ассемблере в среде DOS Вам и всем остальным поситителям нашего портала я рекомендую использовать компилятор TASM фирмы Borland (но в будующем я рекомендую пользоваться компилятором MASM фирмы Microsoft. Это очень мощный компилятор, который очень облегчает создание больших программ на ассемблере!).
Для создания самой программы вам понадобится текстовый редактор. По началу лучше пользоваться встроенным текстовым редактором программы-оболочки Dos Navigator (но Вы можете взять любой, какой Вам больше нравится). Для работы Вам также потребуется отладчик. Это связано с тем, что в любой программе есть ошибки. Отладчик пригодится, чтобы найти их или чтобы понять, как работает программа. Для начинающих я рекомендую отладчик Turbo Debugger for DOS. Также я рекомендую Вам иметь любой шестнадцатеричный редактор (Hiew
или QView). На мой взгляд лучшим является Hiew. Он позволяет просматривать файлы неограниченной длины в текстовом и шестнадцатеричном форматах, а также в режиме дизассемблера процессора 80386.
Это бывает очень полезно, когда не знаешь, почему программа не работает, хотя вроде сделал все правильно.
2. Скачиваешь с сайта или достаешь (покупаешь в магазине) вышеуказанные инструменты.
3. В корневом каталоге своего диска C: или D: создаешь папку и называешь ее -Ассемблер.
4. В эту папку помещаешь: текстовый редактор Dos Navigator,файлы ассемблера TASM.EXE, TLINK.EXE и RTM.EXE. Туда же помещаешь отладчик Turbo Debugger(TD.EXE), файл TDSTRIP.EXE и шестнадцатеричный редактор Hiew.
Теперь Ваше рабочее место готово к созданию прекрасных программ в среде DOS!
5.Литература: Я советую изучать написание программ на ассемблере в среде DOS по книге О.Калашникова "Ассемблер?Это просто!", либо по его рассылкам. Книгу либо купить в магазине или заказать по почте через Интернет: http://www.ozon.ru
Я изучал ассемблер для DOS по рассылкам О.Калашникова, которые скачал на сайте http://www.crackl@b.ru
6. Почему именно по О.Калашникову? Когда Вы почитаете издание других авторов по ассемблеру, поймете, что лучше и доскональнее его для новичков никто пока не обяъснил! Узучая ассемблер по рассылкам или книге Олега, кажется как будто читаешь какую-либо сказку! Все понятно и доходчиво!
P.S. Олег извини, но это действительно так! Если бы не Ваши рассылки, я наверное до сих пор не смог понять и выучить Ассемблер!
7. Переходим к написанию программ:
7.1.Программы, предназначенные для выполнения под управлением MS-DOS, лучше и подготавливать в среде DOS (Если свой полученный com. exe. файл написанный в среде DOS, ты запустишь в среде Windows -Увы! Результатов своей работы ты не увидишь!Запомни это пожалуйста, чтобы потом на портал не задавать вопросов - почему программу запускаю, а что написал не вижу!!!)
7.2. Открываем папку Ассемблер, в текстовом редакторе Dos Navigator пишем свою первую программу и сохраняем текст программы в файле с именем PROG.ASM. Теперь нужно откомпилировать и запустить программу.
7.3. Завершаем работу редактора и в командной строке Dos Navigator вводим:
tasm /1 prog и нажимаем Enter
(ключ /1 нужен для создания листинга)
7.4. В результате будут созданы файлы prog.obj и prog.lst Если есть ошибки, то их можно посмотреть в листинге prog.lst, исправить и снова выполнить трансляцию.
7.5.Если ошибок нет, то производим сборку
tlink prog и нажимаем Enter
В результате будет создан файл prog.exe, котороый можно запустить на выполнение.
Запускай его в редакторе Dos Navigator в полноэкранном режиме и радуйся результатами своей работы!!!
8. Работа с отладчиком:
Для работы с отладчиком Вам следует откомпилировать Вашу программу таким образом, чтобы в ней содержалась отладочная информация. Это не обязательно, но желательно.
8.1. Если Вы создаете ЕХЕ-файл, то для этого Вам нужно:
а)Чтобы исходный модуль был оттранслирован с опцией /zi, например:
tasm /zi prog.asm
Применение опции /zi разрешает транслятору сохранить связь символических имен в программе и их смещений в сегменте кода, благодаря этому отладчик позволяет производить отладку, используя оригинальные имена.
б)Компоновка модуля должна осуществляться с опцией /v:
tlink /v prog.obj
Опция /v сообщает компановщику, что в исполняемом файле надо сохранить отладочную информацию.
8.2.Если Вы создаете COM-файл, то нужно сделать то же самое, что для создания EXE-файла, а потом запустить утилиту TDSTRIP:
tdstrip -s-c prog.exe
Появляется COM-файл, который можно отлаживать в отладчике.
8.3. Чтобы загрузить программу в отладчик, можно в командной строке выполнить:
td prog.exe (или prog.com) и нажимаем Enter
8.4.Использование клавиш в отладчике Turbo Debugger:
Ctrl+F5 - режим изменения размеров и положения окна
F6- перемещение между окнами
F5- развернуть окно на весь экран
Выполнение программ:
F4-по частям до местоположения курсора
F7-команда за командой с заходом в процедуру
F8-команда за командой без захода в процедуру
Окно процессора вызывается с помощью пункта View>CPU
Переходить от окна к окну можно кл. Tab
8.5. Я присоединяюсь к словам Олега Калашникова и говорю всем начинающим:
КАЖДЫЙ РАЗ НАПИСАННУЮ ПРОГРАММУ ИССЛЕДУЙТЕ И ИЗУЧАЙТЕ В ОТЛАДЧИКЕ!!!
Так Вы быстрее поймете и изучите Ассемблер!
9.Andrej11 после изучения Ассемблера в среде DOS Мы приступим (как Вы будете готовы!)к написании программ в среде Windows. Для этого я Вам объясню как устанавливается оболочка FAR,командные файлы компилятора MASM,как пользоваться отладчиком OllyDbg.
Желаю всем начинающим удачи!
--------- Главным критерием эффективности того или иного пути может служить лишь то, достиг или нет крекер конечного результата!!!