20 уроков Ассемблера

О книге

Автор книги - . Произведение относится к жанрам программы, программирование, компьютерная справочная литература. Оно опубликовано в 2020 году. Книге не присвоен международный стандартный книжный номер.

Аннотация

Уроки Ассемблера x86 под DOS от основ до создания антивируса. Основной упор автор делает на быстрое изучение языка и конкретные примеры. Рекомендуется всем, кто хочет быстро изучить Ассемблер.

Читать онлайн Семён Углев - 20 уроков Ассемблера


Урок 1. Вступление

Почему ассемблер? Перечитав энное количество книг, мне стало понятно, что хорошего самоучителя для изучения данного языка мне не найти. У каждого автора имеются свои плюсы и минусы в изложении; ряд авторов начинают с классических вещей – вводной лекции, теории, изучения переменных и операторов. Другие же начинают сразу с заумных вещей, публикуя "тяжеленные" тексты программ. Часть авторов изучают ассемблер в связке с языками высокого уровня. И лишь небольшое их количество идёт "заочным" путём – опуская заметную часть сложных операторов и объясняя простые; впрочем, разъясняя сложные операторы в дальнейшем. Так поступим и мы. Задача блога – быстро научить читателя программированию на ассемблере, и дать ему возможность самостоятельно изучать материал уже имея за плечами накопленные знания.

Что для этого нужно? Для начала – установите соответствующую операционную систему семейства Windows (мне, например, пришлось ради такого случая установить её в качестве виртуальной машины) – 98, 2000, XP (подойдёт и Vista). Далее – соответствующий набор инструментов, я использую Far manager в связке с плагином Colorer. Также понадобится сам ассемблер masm, отладчик AFDPRO и справочная информация HELP.EXE.

Все исполняемые файлы, за исключением LINK.EXE, я копирую в папку ../Far2 – чтобы из любого места можно было компилировать созданные текстовые файлы. LINK.EXE лучше копировать в папку с будущей программой.

Если всё прошло успешно, вы должны получить такого рода окна:


Просмотр исходного текста на языке assembler через Far (F4)


Запуск файла помощи HELP.EXE


Урок 2.  Первая программа

Итак, вот как будет выглядеть наша первая программа.

Не обращайте внимания на излишние комментарии справа от каждого оператора. Это справочная подробная информация для желающих детально разобраться, что происходит в программе. Мы же просто хотим вывести на экран MS-DOS строку «Hello, world!» с помощью программы типа .com. Для вывода текста мы будем использовать функцию 9 прерывания 21h.

Сама программа будет выглядеть примерно так:



Суть достаточно проста.

а. Командой mov ah,9 мы загружаем в регистра ah число 9. На языке "Бейсик" это выглядело бы примерно так: LET A=9. Следует отметить в данном случае, что ah предназначен "для служебного пользования" – в частности, использования тех же функций. Также стоит отметить, что на самом деле ah – это старший байт регистра ax, состоящего на самом деле из двух частей – старшего байта (ah) и младшего (al). Аналогично работают и остальные служебные регистры (bx, cx, dx).


Рекомендации для вас