[Главная] [Библиотека] [DownLoadS] [Гостевая книга] [LinkS]

Обращение к начинающим и еще не начавшим ассемблерщикам

У страха глаза велики

Чет глуповатый эпиграф... Вообще-то я хотел поставить туда что-то вроде этого: "Вещи трудные не из-за их трудности, а из-за нашего страха". Это - корявый, неточный перевод одной понравившейся мне фразы. Этот эпиграф должен был выразить то, что... он должен был выразить ;) Слышащий да поймет!

Немного о себе: на данный момент мне 16.5 лет, я знаю ассемблер, паскаль, визуал бейсик, учу С++ и PHP

Цель данной статьи помочь еще не начавшим ассемблерщикам, которых и ассемблерщиками-то называть неприлично ;). Сподвигло меня на написание этого бреда то, что когда я начинал учить асм, я не знал с чего начать. Поисковик находил мне разные TASM, MASM, а я даже не понимал, как относится тасм и масм к ассемблеру. Зная только VB, я думал, что ассемблер должен быть чем-то вроде этого: удобным и красивым. В последствии он таким и оказался, хотя по началу хотелось все бросить. Еще и друзья подливали масла в огонь, типа "Машинный, древний язык. Его учить не к чему да и не выйдет у тебя ничего!"
Если хотите знать мое мнение (то, которое ИМХО), то ассемблер не так уж и бесполезен. Одна его команда является одной командой процессора. А одна команда С и Васика генерирует туеву хучу бесполезного кода, тормозящего работу программы. Хотя если принять во внимание скорость современных процев, то проблема скорости не так уж и значительна. Какая разница, что на асме прога выполнится за 0.1 сек, а на С++ - за 0.5 секунды? Никакой! Только если прога на асме выполняется один день, то прога на С++ выполняется за 5 дней. Данные эти ОЧЕНЬ примерны, но ситуация, я думаю, изложена верно.
На ассемблере сейчас мало кто пишет. Толковые программисты используют ассемблерные вставки в языках высокого уровня для того, чтобы повысить скорость программы в циклах. Хотя я знаю программера, который пишет проги по 10 тысяч строк на асме (привет, Gibbel!). С другой стороны не стоит забывать, что ломаются программы-регистрации только с помощью ассемблера, и вирусы пишутся только на ассемблере. Потому вам никогда не стать "кул-хацкером" не зная асма. Добавлю, что я МНОГО узнал о компьютерах, изучая ассемблер, и почти ничего изучая Визуал Васик

Теперь перейдем непосредственно к тому, с чего же начать. Вам понадобится компилятор ассемблера. Не среда разработки, а компилятор. Т.е. текст программы вы будете набирать в текстовом редакторе, а потом запускать компилятор с некими параметрами. Всех всегда мучал вопрос: какой компилятор пользовать. Их много: TASM (Turbo ASseMbler), MASM (Macro ASseMbler), NASM (не помню), FASM (имхо, Flat ASseMbler)... Я пользуюсь ТАСМом. Его вы можете скачать у меня на сайте Для примера разберем (даже не разберем, а просто ознакомимся, пробежим глазами) маленькую прогу, выводящую "Хелло, ворлд!" в режиме ДОС:
masm
.model TINY
CSEG segment
assume cs:CSEG,ds:CSEG,ss:CSEG,es:CSEG
org 100h
Begin:
	mov	ah,9h
	mov	dx,offset Message
	int	0021h
	ret
Message db 'Hello, world!$'
CSEG ends
end Begin
Объяснять неохота, но чуток можно. 1 строчка указывает... Нет, не буду ничего объяснять. Все это разжеванно в рассылке Калашникова, в самой лучшей книге по ассемблеру под ДОС. Там возьмите и почитайте.

Сейчас пол третьего ночи и мне кажется, что я пнул читателя в нужном направлении. Может и не сильно, но в нужном. Берите вышеуказанную рассылку, посещайте сайт http://rusfaq.ru и все будет ОК, отвечаю. Если я, тугодум, разобрался, то и тебе это не будет проблемой.
Happy coding


Образование TopCTO Образование изучение тренингиbe number one

последнее обновление 21.12.2003


[c] Design by Faraon
ICQ UIN: 171937433
Сайт создан в системе uCoz