Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практикум_по_ассемблеру

.pdf
Скачиваний:
50
Добавлен:
12.03.2016
Размер:
1.9 Mб
Скачать

Строковые операции

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.

Соседние файлы в предмете Языки программирования