Указатель операнда. Указатель операнда содержит 20-разрядный физический адрес операнда, использованного командой, вызвавшей возникновение особого случая.
Указатель команды. Указатель команды содержит 20-разрядный физический адрес команды, вызвавшей особый случай, а также 11-разрядный код последней выполненной операции. Если при возникновении особого случая использовался операнд, то его адрес заносится в регистр указателя операнда. Указатель операнда. Указатель операнда содержит 20-разрядный физический адрес операнда, использованного командой, вызвавшей возникновение особого случая. Все числа в стеке сопроцессора представляются в действительном формате. Сопроцессор может использовать три формата вещественных чисел: с одинарной точностью, с двойной точностью и с расширенной точностью. Конкретный формат определяется содержимым поля PC (Precision Control) регистра управления. Каждый из форматов действительных чисел, используемых сопроцессором, содержит поле мантиссы, поле порядка и бит знака. Размер мантиссы и порядка определяется типом формата действительного числа и влияет на точность представления чисел. Чем больше разрядов содержит мантисса, тем точнее представляется число. Чем больше разрядов содержит порядок, тем шире диапазон представляемых чисел. Форматы действительных чисел представлены ниже:
Формат с одинарной точностью
Формат с двойной точностью
Формат с расширенной точностью
Следует отметить, что ухудшение точности не приводит к ускорению работы программы. Поэтому различные форматы следует использовать тогда, когда это целесообразно. Все действительные числа, в независимости от их формата, хранятся в нормализованном виде. Это означает, что мантисса числа имеет значения от 1 до 2. При этом целая часть числа, равная 1, не хранится, так как она заранее известна. Порядок числа определяет степень числа 2, на которое умножается мантисса. При этом для хранения порядка к нему добавляется число 16383 для расширенной точности, 1023 для двойной точности и 127 для одинарной точности. Добавление константы к порядку нужно для того, чтобы полученное значение всегда было положительным, так как сам по себе порядок может быть и отрицательным.
При определении в программе вещественных чисел можно использовать директивы определения данных DD и DQ. При инициализации определенных таким образом переменных нужно записывать вещественное число в формате с плавающей точкой в десятичной форме, например 123. 81263. Даже если число не имеет дробной части, его все равно следует записать с десятичной точкой, например 5. 0, иначе число будет интерпретировано транслятором как целое, а не вещественное. Команды пересылки данных и загрузки констант В таблице 12 приведены команды пересылки данных и загрузки констант сопроцессора, их операнды и назначение.
Таблица 12 Команды передачи данных и загрузки констант сопроцессора
При использовании команд с выталкиванием из стека (FSTP, FISTP) число записывается в память и при этом выталкивается из стека сопроцессора. При использовании в качестве операнда ячейки памяти и косвенной формы адресации необходимо указывать тип операнда – конструкция WORD PTR для 16-битного целого числа, DWORD PTR для одинарной точности или для 32-битного целого числа, QWORD PTR для двойной точности или 64-битного целого числа, а также TBYTE PTR для формата с расширенной точностью. Команда FLD может иметь в качестве операнда регистры ST(0) – ST(7), при этом значение соответствующего регистра заносится в вершину стека. Команда FXCH используется для обмена значениями регистра ST(0) и другого числового регистра сопроцессора. Если команда используется без операндов, меняются значениями регистры ST(0) и ST(1). Если в качестве операнда указан числовой регистр сопроцессора, то меняются значениями регистр ST(0) и указанный регистр. Примеры использования команд: A DW 1. 0 B DD 2. 0 C DQ 3. 0 D DT 4. 0 . . . FLD B MOV BX, OFFSET C FLD QWORD PTR [BX] MOV DI, OFFSET D FLD TBYTE PTR [DI] FILD A MOV SI, OFFSET B FILD DWORD PTR B FILD C . . . FLDZ
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|