Иллюстрированный самоучитель по Turbo Pascal

Встроенный ассемблер

  • Общее описание МП 8086/8088

    Ассемблером называется машинно-зависимый компилятор, преобразующий специальным образом составленные текстовые строки в машинные инструкции. Как и любой другой компилятор, ассемблер упрощает разработку программ за счет того, что предоставляет пользователю доступ к кодам машинных инструкций и операндам с помощью символьных имен.
  • Регистры

    В МП 8086/8088 имеется 14 регистров. В функциональном отношении они делятся на группы: | регистры общего назначения (АХ, ВХ, СХ, DX); предназначены для хранения операндов и выполнения основных команд;
  • Адресация

    В архитектуре МП 8086/8088 адрес любого байта задается двумя 16-битовыми словами – сегментом и смещением. При формировании 20-разрядного полного адреса, необходимого для адресации в пределах 1 Мбайт, сегмент сдвигается влево на 4 разряда (умножается на 16) и складывается со смещением.
  • Система команд

    В приводимых ниже таблицах указывается мнемоника всех допустимых инструкций для МП 8086/8088. Для удобства пользования все команды разбиты на 6 функциональных групп – пересылки данных, арифметические, битовые, строковые, передачи управления, прерываний.
  • Спецификация встроенного ассемблера. Оператор ASM.

    Приведенное выше общее описание архитектуры МП 8086/8088 является базовым для любого ассемблера, в том числе и для встроенного ассемблера Турбо Паскаля. Однако ассемблеры содержат массу дополнительных возможностей, облегчающих разработку готовых к работе программ.
  • Синтаксис ассемблерных команд

    Здесь и далее ассемблерными командами называются команды на языке встроенного ассемблера, вставляемые в тело ассемблерного оператора asm… end. Структура ассемблерной команды такова: | [Метка] [Префикс] [Код [Операнд [,Операнд]]] | В квадратных скобках указываются необязательные элементы структуры.
  • Директивы ассемблера

    Встроенный ассемблер не поддерживает никакие директивы, обычно используемые в других ассемблерах, за исключением DB, DW, DD. Структура директив такова: | Dx <константа> [,<константа>,…,<константа>] | Здесь: | Dx – DB, DW или DD; | <константа> – ассемблерная константа или константное выражение.
  • Ассемблерные прграммы

    Ассемблерные подпрограммы – это процедуры и функции, объявленные с директивой Assembler. В таких подпрограммах исполняемая часть не содержит begin… end и состоит из единственного ассемблерного оператора asm… end. Например: | Function LongMul(X,Y:Integer):LongInt; Assembler;
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.