Справочник по языку Ассемблера IBM PC


          

Справочник по языку Ассемблера IBM PC

Интересно проследить, начиная со времени появления первых компьютеров и заканчивая сегодняшним днем, за трансформациями представлений о языке ассемблера у программистов.
Когда-то ассемблер был языком, без знания которого нельзя было заставить компьютер сделать что-либо полезное. Постепенно ситуация менялась. Появлялись более удобные средства общения с компьютером. Но, в отличие от других языков, ассемблер не умирал, более того он не мог сделать этого в принципе. Почему? В поисках ответа попытаемся понять, что такое язык ассемблера вообще.
Если коротко, то язык ассемблера — это символическое представление машинного языка.
Все процессы в машине на самом низком, аппаратном уровне приводятся в действие только командами (инструкциями) машинного языка. Отсюда понятно, что, несмотря на общее название, язык ассемблера для каждого типа компьютера свой. Это касается и внешнего вида программ, написанных на ассемблере, и идей, отражением которых этот язык является.

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

Author
Микропроцессоров Intel
Порядок описания команд будет следующим:
Для описания команд приняты обозначения:
AAA
AAD
AAD - 2
AAM
AAS
ADC

Директивы управления листингом
Директивы управления листингом делятся на следующие группы: При рассмотрении директив обращайте внимание на то, что их формат отличается для режимов работы транслятора MASM и IDEAL: директивам режима MASM предшествует точка; директивам режима IDEAL предшествует знак “%”.

Общие директивы управления листингом
Директивы вывода текста включаемых файлов
Директивы вывода условного ассемблирования
Директивы вывода макрорасширений
Директивы вывода листинга перекрестных ссылок
Директивы изменения формата листинга
Директивы изменения формата листинга - 2
Сообщения об ошибках
Сообщения об ошибках - 2
Сообщения об ошибках - 3

Структура машинной команды
Префиксы. Необязательные элементы машинной команды, каждый из которых состоит из одного байта или может отсутствовать. В памяти префиксы предшествуют команде. Назначение префиксов — модифицировать операцию, выполняемую командой.

Структура машинной команды
Структура машинной команды - 2
Структура машинной команды - 3
Структура машинной команды - 4
Способы задания операндов команды
Способы задания операндов команды - 2
Способы задания операндов команды - 3
Прямая адресация
Прямая адресация - 2
Косвенная базовая (регистровая) адресация

Команды пересылки данных
Для удобства практического применения и отражения их специфики команды данной группы удобнее рассматривать в соответствии с их функциональным назначением, согласно которому их можно разбить на следующие группы команд

Команды пересылки данных
Команды пересылки данных - 2
Команды ввода-вывода в порт
Команды работы с адресами
Команды работы с адресами - 2
Команды преобразования данных
Команды преобразования данных - 2
Команды работы со стеком
Команды работы со стеком - 2
Команды работы со стеком - 3

Обзор группы арифметических команд и данных
Группа арифметических целочисленных команд работает с двумя типами чисел: целыми двоичными числами. Числа могут иметь знаковый разряд или не иметь такового, то есть быть числами со знаком или без знака; целыми десятичными числами.

Целые двоичные числа
Десятичные числа
Арифметические операции над двоичными
Сложение двоичных чисел без знака
Сложение двоичных чисел без знака - 2
Сложение двоичных чисел со знаком
Пример 1.
Пример 2.
Пример 3.
Пример 4.

Логические команды
Наряду со средствами арифметических вычислений, система команд микропроцессора имеет также средства логического преобразования данных. Под логическими понимаются такие преобразования данных, в основе которых лежат правила формальной логики. Формальная логика работает на уровне утверждений истинно и ложно. Для микропроцессора это, как правило, означает /b> и /b> соответственно.

Логические команды
Логические данные
Логические данные - 2
Логические команды
Логические команды - 2
Логические команды - 3
Логические команды - 4
Логические команды - 5
Команды сдвига
Команды линейного сдвига

Команды передачи управления
На предыдущих уроках мы познакомились с некоторыми командами, из которых формируются линейные участки программы. Каждая из них в общем случае выполняет некоторые действия по преобразованию или пересылке данных, после чего микропроцессор передает управление следующей команде. Но очень мало программ работают таким последовательным образом. Обычно в программе есть точки, в которых нужно принять решение о том, какая команда будет выполняться следующей

Безусловные переходы
Команда безусловного перехода jmp
Процедуры
Условные переходы
Команда сравнения cmp
Команды условного перехода и флаги
Команды условного перехода и регистр ecx/cx
Организация циклов

Цепочечные команды
Эти команды также называют командами обработки строк символов. Названия почти синонимичны. Отличие в том, что под строкой символов здесь понимается последовательность байт, а цепочка — это более общее название для случаев, когда элементы последовательности имеют размер больше байта — слово или двойное слово.

Цепочечные команды
Цепочечные команды - 2
Цепочечные команды - 3
Цепочечные команды - 4
Операция пересылки цепочек
Команда movs:
Команда movs: - 2
Операция сравнения цепочек
Команда cmps
Команда cmps - 2

Ассемблер и программирование для IBM PC

Написание ассемблерных программ требует знаний организа ции всей системы компьютера. В основе компьютера лежат понятия бита и байта. Они являются тем средством, благодаря которым в компьютерной памяти представлены данные и команды. Программа в машинном коде состоит из различных сигментов для определения данных, для машинных команд и для сигмента, названного стеком, для хранения адресов. Для выполнения ариф метических действий, пересылки данных и адресации компьютер имеет ряд регистров. Данная глава содержит весь необходимый материал по этим элэментам компьютера, так что вы сможете продвинутся к главе 2 к вашей первой программе на машинном языке.

Введение в семейство персональных компьютеров IBM PC
Для выполнения программ компьютер временно записывает программу и данные в основную память. Это память, которую люди имеют в виду, когда утверждают, что их компьютер имеет, например, 512К памяти. Компьютер имеет также ряд pегистров, которые он использует для временных вычислений. Минимальной единицей информации в компьютере является бит. Бит может быть выключен, так что его значение есть нуль, или включен, тогда его значение равно единице.

Введение в семейство компьютеров IBM PC
Введение в семейство компьютеров IBM PC - 2
Введение в семейство компьютеров IBM PC - 3
Введение в семейство компьютеров IBM PC - 4
Введение в семейство компьютеров IBM PC - 5
Введение в семейство компьютеров IBM PC - 6
Введение в семейство компьютеров IBM PC - 7
Введение в семейство компьютеров IBM PC - 8
Введение в семейство компьютеров IBM PC - 9
Введение в семейство компьютеров IBM PC - 10

Дисковая память II: Функции базовой версиии DOS
Все рассматриваемые операции были введены в первых версиях DOS и возможны во всех последующих версиях. Обработка дисковых файлов в базовой DOS включает определение блока управления файлом (FCB - file control block), который описывает файл и его записи. Передача адреса блока FCB в DOS обязательна для всех дисковых операций ввода-вывода. Новых команд ассемблера в данной главе не потребуется. Управление вводом и выводом осуществляется специальными прерываниями.

Функции базовой версиии DOS
Функции базовой версиии DOS - 2
Функции базовой версиии DOS - 3
Функции базовой версиии DOS - 4
Функции базовой версиии DOS - 5
Функции базовой версиии DOS - 6
Функции базовой версиии DOS - 7
Функции базовой версиии DOS - 8
Функции базовой версиии DOS - 9
Функции базовой версиии DOS - 10


История экономических учений - перейти
История экономических учений - перейти
История экономических теорий - перейти
Познание экономической практики - перейти
История экономических учений в системе наук - перейти
Денежное обращение и регулирование - перейти
Денежное обращение - перейти
Валютное международное право - перейти
Введение - перейти
Переплетение лучей - перейти
Перекрывание объектов - перейти
Основы микропроцессорной техники - перейти
Что такое микропроцессор? - перейти
Шины микропроцессорной системы - перейти
Функции устройств магистрали - перейти