Система команд x86 |
|
Программирование - Архитектура и система команд микропроцессоров x86 |
FBLD
Влияние команды на флаги и форматы команды:
* |
|
|
|
|
|
|
DF /4 |
FBLD m80dec |
Преобразовать двоично-десятичное m80dec в вещественное и занести в регистровый стек |
8087 |
fbld tbyte ptr [bx+di] |
Описание:
Команда FBLD преобразует двоично-десятичный (BCD) операнд-источник во временное вещественное и помещает его в стек FPU. Преобразование происходит без ошибок округления. Знак операнда-источника сохраняется, включая случай, когда значение равно -0.
Подразумевается, что упакованные десятичные цифры находятся в диапазоне 0..9. Команда не проводит проверки на некорректные цифры (A..F), и попытка загрузить неверную кодировку приведет к неопределенному результату.
ST(7) должен быть пустым, во избежание стековой ошибки #IS.
Флаги C0, C2, C3 регистра SW после выполнения команды неопределены, флаг C1 устанавливается равным 0 в случае возникновения стековой ошибки #IS.
Операция:
Декремент указателя вершины стека FPU;
ST(0) = SRC;
Особые ситуации защищенного режима:
#GP(0), если используется некорректный эффективный адрес операнда в памяти в сегментах CS, DS, ES, FS, GS или нулевой селектор.
#SS(0) при использовании некорректного эффективного адреса в сегменте SS.
#NM, если CR0.EM = 1 или CR0.TS = 1.
#PF(Код ошибки) при страничной ошибке.
#AC(0) при невыровненной ссылке в память при текущем уровне привилегий равном 3.
Особые ситуации режима реальной адресации:
#GP, если любая часть операнда находится вне пространства эффективных адресов в сегментах CS, DS, ES, FS или GS.
#SS, если любая часть операнда находится вне пространства эффективных адресов в сегменте SS.
#NM, если CR0.EM = 1 или CR0.TS = 1.
Особые ситуации режима V86:
Такие же, как и в режиме реальной адресации.
#PF(Код ошибки) при страничной ошибке.
#AC(0) при невыровненной ссылке в память.
Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru