В группе команд пересылки данных сопроцессора 8087 имеется
всего три основных команды. Команда загрузки помещает данные в
регистровый стек 8087. Обычно эти данные читаются из памяти
системы, но команда загрузки может также извлечь число из самого
стека и заменить им вершину стека. Команда записи берет данные из
вершины стека и помещает их в память ЭВМ. Команда замены
обменивает два числа в регистровом стеке сопроцессора 8087.
На Фиг. 7.10 показан листинг ассемблера команд пересылки
данных. В текст в самом начале помещен набор макрокоманд
процессора 8087 с помощью фрагмента:
IF1
INCLUDE 87MAC.LIB
ENDIF
Эта последовательность команд помещает в текст программы
макрокоманды определения команд сопроцессора 8087 во время первого
прохода ассемблера, когда должны обрабатываться макрорасширения.
Ассемблер не читает файл макрокоманд во время второго прохода, так
как этот файл больше не нужен. В листинге ассемблера появляется
только команда ENDIF.
Первая команда пересылки данных, которую мы рассмотрим -
команда загрузки. Название всех команд сопроцессора 8087
начинается с буквы "F". Так что, чтобы загрузить число в
микросхему 8087, используется команда FLD (Floating LoaD, плавающая
загрузка). В отличие от команд микропроцессора 8088, где команда
MOV обслуживает все форматы данных, здесь существует разная
Microsoft (R) Macro Assembler Version 5.00 1/1/80 01:21:45
Фиг. 7.10 Команды пересылки сопроцессора 8087 Page 1-1
PAGE ,132
TITLE Фиг. 7.10 Команды пересылки сопроцессора 8087
0000 CODE SEGMENT
ASSUME CS:CODE,DS:CODE
0000 WORD_INTEGER LABEL WORD
0000 SHORT_INTEGER LABEL DWORD