Практикум_по_ассемблеру
.pdfСтроковые операции
FPU
MMX
SSE
ТУТ можно посмотреть коды всех прерываний. Позже включу основные из них в методичку.
ДИРЕКТИВЫ АССЕМБЛЕРА
Что есть директивы
Помимо инструкций в ассемблере так же есть и директивы, которые выполняются компилятором и позволяют управлять процессом компиляции и сборки программы. Директивы часто используются для эффективного уменьшения объёмов текста программы, реализации типовых конструкций и поддержки модульности.
include
Процедуры
Реализация «вручную»
Поддержку процедур в Ассемблере можно реализовать при помощи стандартных инструкций для работы со стеком, таких как: push, pop, callи ret.
Реализация при помощи директив
Имя_процедуры PROC [[модификатор языка] язык] [расстояние] [ARG список_передаваемых_параметров]
[RETURNS список_возвращаемых_значений] [LOCAL список_локальных_объявлений] [USES список_используемых_регистров]
…
Команды и директивы языка Ассемблер
…
RET
[Имя_процедуры] ENDP
Макросы
Ассемблер MASM32 имеет в своем составе средство, позволяющее оптимизировать написание программ с повторяющимися участками кода - макросы ассемблера. Различают макроопределение и макровызов. Макроопределение содержит фрагмент программы, который после замены псевдонимов будет подставлен в ее текст на месте макровызова. Макровызов - имя макроса с перечисленными записями для замены псевдонимов. Макросы могут быть вложенными, то есть в макроопределении допускается использовать макровызовы.
Макрос может быть определен в любом месте программы - в секции директив (в самом начале), в сегментеданных или в сегменте кода, но до первого макровызова. Кроме того, макрос может быть определен в файле (с расширением
.inc), в программу такой макрос подключается директивой include. Определение макроса (макроопределение) записывается следующим образом:
имя_макроса MACRO псевдоним_записи_1, псевдоним_записи_2...
(текст программы)
.ENDM
Макровызов записывается так:
имя_макроса запись_1, запись_2...
Макровызовы в MASM32 чувствительны к переносу строки, если записей передается много и для улучшения вида и читаемости программы записи удобно расположить в несколько строк, следует использовать символ переноса:
имя_макроса запись_1, запись_2, \
запись_3, запись_4...
Структуры Реализация высокоуровневых конструкций
Условные операторы Циклы
Сложные типы данных
МЕХАНИЗМЫ РАБОТЫ С ПОДСИСТЕМАМИ ПК
ПРЕРЫВАНИЯBIOS
Клавиатура Вывод на дисплей Видео-сервис
ПРЕРЫВАНИЯ DOS
Прерывание 21h. Сервис DOS. Ввод Вывод
Файловая система
РАБОТА С ВИДЕОПАМЯТЬЮ
Выбор режима Текстовый режим Графический режим
РЕАЛИЗАЦИЯ НА АССЕМБЛЕРЕ СТАНДАРТНЫХ АЛГОРИТМОВ
ПОИСК МАКСИМУМА / МИНИМУМА ИЗ СТРОКИ В ЧИСЛО И ОБРАТНО СОРТИРОВКА
ИСПОЛЬЗУЕМАЯ ЛИТЕРАТУРА
1.СИСТЕМЫ СЧИСЛЕНИЯ. http://sch69.narod.ru/mod/1/6506/system.html
2.М.Ю. Смоленцев. Программированиена языке Ассемблера для 32/64-разрядныхмикропроцессоров семейства 80x86. Иркутск 2009. http://sdo.irgups.ru/other_data/el_public/ae22d061f23b137.pdf
3.Знакомство с языком ассемблера. http://s7a1k3r.narod.ru/2.html.
4.Прерывания DOS и BIOS . http://www.codenet.ru/progr/dos/.
5.М. Петров. Ассемблер MASM32. http://sadda.ru/pages/assembler-masm32/macro/macro.htm
6.