Обычно команда с плавающей точкой имеет один или два операнда, которые выбираются из регистрового стека модуля обработки операций с плавающей точкой или из памяти. Многие команды, такие как FSIN, автоматически работают с элементом в вершине регистрового стека модуля обработки операций с плавающей точкой. Другие команды позволяют или требуют, чтобы программист явно закодировал операнд или операнды в соответствии с мнемоникой операции. Еще одна разновидность команд принимает один явный операнд и один неявный операнд (обычно элемент в вершине стека модуля обработки операций с плавающей точкой).
Не зависимо от того, определены ли операнды программистом или подразумеваются по умолчанию, операнды команд с плавающей точкой делятся на два основных типа: операнд-источник и операнд назначения (приемник). Операнд-источник представляет для команды входную информацию и не меняется после выполнения. Даже когда команда переводит операнд-источник из одного формата в другой (например, вещественное в целое), команда работает во внутренней области для того, чтобы предотвратить изменение исходного операнда. Операнд назначения также может предоставлять команде некоторую входную информацию, но при выполнении, однако, команда выдает результат в операнд назначения, меняя его предыдущее содержание.
Многие команды позволяют кодировать операнды различными путями. Например, команда FADD (вещественное сложение) может быть записана либо без операндов, либо только с операндом-источником, либо с исходным и принимающим операндами. Когда указаны оба операнда, и операнд-приемник и операнд назначения, то операнд назначения должен предшествовать операнду-источнику в командной строке и оба должны быть взяты из стека модуля обработки операций с плавающей точкой.
Операнды из памяти могут быть закодированы любым способом адресации, предоставляемым байтом ModR/M. Для того, чтобы ознакомиться с этими методами (БАЗА = (ИНДЕКС x МАСШТАБ) + СМЕЩЕНИЕ), обратитесь к Главе 2. Команды с плавающей точкой с операндами из памяти либо читают из памяти, либо пишут в память. Ни одна команда с плавающей точкой не делает то и другое одновременно. Для детального ознакомления с каждой командой, включая способы возможных кодирований, обратитесь к справочной информации в Главе 26.