Ассемблер для начинающих. Введение

Весь декабрь был отмечен предновогодней суетой, шумом и большими объемами работы. В какой-то момент нервы сдали, я произнесла небольшую речь по теме: "Все достало! Все тлен! Мы занимаемся какой-то фигней, никакого развития" и в качестве психотерапии установила себе MASM32. И не пожалела :)

Занятия ассемблером благотворно влияют на организм уставшего от работы программиста. Успокаивают нервы, улучшают работу мозга.

Как установить MASM32

Скачать архив с сайта www.masm32.com, распаковать и запустить распакованный файл install.exe на выполнение. Он будет задавать очень много вопросов и требовать много подтверждений, но никаких специальных знаний для установки не потребуется. Я установила и скачала 11 версию masm.

В списке системных переменных нужно изменить значение переменной "PATH". Дописать в конце строки:

 

Первая программа на ассемблере

Cтандартный "Hello World". Для вывода результатов я решила сразу использовать окна windows, а не консоль. По простой причине - так красивее.

Запускаем редактор C:/masm32/qeditor.exe . Вводим текст программы. Сохраняем. При сохранении обязательно надо указать вместе с именем файла расширение ".asm" . Выбираем пункт меню "Project" -> "Build All". Если в коде нет ошибок, программа будет скомпилирована и рядом с файлом исходного кода появится симпатичный exe-файл.

 

Вторая программа на ассемблере

Эта программа суммирует значение переменных и выводит результат.

 

Полезные ссылки для начинающих изучение ассемблера

Официальный сайт MASM32

Отладчик OllyDbg (один из лучших, по мнению более старших и опытных коллег)

programmersclub.ru: Учебник по ассемблеру

kaimi.ru: Немного основ ассемблера

bitfry.narod.ru: Дневники чайника (хорошая статья по masm для новичков)

av-assembler.ru: Введение в ассемблер

Список команд Ассемблера

Ассемблер для начинающих. Введение: 3 комментария

  1. Юрий

    Во второй программе может получиться неожиданный результат, потому что в AL это младший регистр AX, а тот в свою очередь ЕАХб корочеу при присваивании MOV AL, A ;EAX может содержать мусор из предыдущей операции. Короче Я перед этим сделал mov EAX,0;тогда результат правильный.

  2. Ирина

    У меня ошибки в процессе компиляции.
    скачала с того сайта, установила, path изменила.
    C:/masm32/qeditor.exe файла нет.
    игнорирует какую-то опцию z2 (LNK4044)
    конвертирует что-то из OMF в COFF (LNK4033)
    и LNK1181 фатальная ошибка, не может открыть test.exe

    bat:
    ml.exe test.asm /AT
    pause
    link.exe test.obj /TINY
    pause

Комментарии запрещены.