Группа команд передачи данных предназначена для организации обмена между регистрами стека, вершиной стека сопроцессора и ячейками оперативной памяти.
Команды этой группы имеют такое же значение для программирования сопроцессора, как команда MOV – для программирования основного процессора. Главной функцией всех команд загрузки данных в сопроцессор является преобразование данных к единому представлению в виде вещественного числа расширенного формата. Это же касается и обратной операции — сохранения в памяти данных из сопроцессора.
Команды передачи данных можно разделить 3 группы:
1. Команды передачи данных в вещественном формате;
2. Команды передачи данных в целочисленном формате;
3. Команды передачи данных в десятичном формате.
Команды передачи данных в вещественном формате.
fld источник — загрузка вещественного числа из области памяти на вершину стека сопроцессора.
fst приемник — сохранение вещественного числа из вершины стека сопроцессора в память. Как следует из анализа мнемокода команды (отсутствует символ p), сохранение числа в памяти не сопровождается выталкиванием его из стека, то есть текущая вершина стека сопроцессора не меняется (поле ТОР не меняется).
|
|
fstp приемник — сохранение вещественного числа из вершины стека сопроцессора в память. В отличие от предыдущей команды, в конце мнемонического обозначения данной команды присутствует символ p, что означает выталкивание вещественного числа из стека после его сохранения в памяти. Команда изменяет поле ТОР, увеличивая его на единицу. Вследствие этого вершиной стека становится следующий больший по своему физическому номеру регистр стека сопроцессора.