Архитектура ЭВМ и систем. Коваль А.С - 65 стр.

UptoLike

Составители: 

65
грузки констант, основных арифметических команд, сравнения, управле-
ния сопроцессором. Все команды сопроцессоры относятся к классу т.н.
ESC- команд и начинаются с битовой последовательности 11011 (D1
16
).
Ниже приведены ассемблерная мнемоника и краткое описание действий
команд. Операнды обозначены следующим образом:
m32real, m64real, m80real – вещественные числа в памяти;
m16int, m32int, m64int – целочисленные значения в памяти;
m80bcd – упакованное двоично-десятичное число;
st(i) - регистр стека сопроцессора, смещенный от верхушки на i;
reg/mem – операнд в регистре/памяти.
Команды передачи данных и загрузки констант
FLD src st(0)
src (m32real/m64real/m80real)
FILD src st(0) src (m16int/m32int/m64int)
FBLD src st(0) src (m80bcd)
FLDZ st(0) 0.0
FLD1 st(0) 1.0
FLDPI st(0) π
FLDL2T st(0) log
2
(10)
FLDL2E st(0) log
2
(e)
FLDLG2 st(0) log
10
(2)
FLDLN2 st(0) ln(2)
FST dest dest st(0) (m32real/m64real)
FSTP dest dest st(0) (m32real/64/80); “вытолкнутьстек
FIST dest dest st(0) (m16int/32)
FISTP dest dest st(0) (m16int/32/64); “вытолкнутьстек
FBST dest dest st(0) (m80bcd)
FBSTP dest dest st(0) (m80bcd); “вытолкнутьстек
Команды сравнения
FCOM Установить флаги как для st(0) - st(1)
FCOM op Установить флаги как для st(0) - op (m32real/64)
FCOMP op Сравнить st(0) с op (reg/m32real/64); “вытолкнутьстек
FCOMPP Сравнить st(0) с st(1); “вытолкнутьстек 2 раза
FICOM op Установить флаги как для st(0) - op (m16int/m32int)
FICOMP op Сравнить st(0) с op (m16int/m32int); “вытолкнутьстек
FTST Сравнить st(0) с 0.0
FXAM Установить флаги по содержимому st(0)
FUCOMP st(i) Сравнить st(0) с st(i); “вытолкнутьстек
FUCOMPP st(i) Сравнить st(0) с st(i); “вытолкнутьстек 2 раза
Арифметические команды и команды трансцендентных функций
FADD st(0) st(0) + st(1)
                                     65
грузки констант, основных арифметических команд, сравнения, управле-
ния сопроцессором. Все команды сопроцессоры относятся к классу т.н.
ESC- команд и начинаются с битовой последовательности 11011 (D116).
Ниже приведены ассемблерная мнемоника и краткое описание действий
команд. Операнды обозначены следующим образом:
     • m32real, m64real, m80real – вещественные числа в памяти;
     • m16int, m32int, m64int – целочисленные значения в памяти;
     • m80bcd – упакованное двоично-десятичное число;
     • st(i) - регистр стека сопроцессора, смещенный от верхушки на i;
     • reg/mem – операнд в регистре/памяти.

              Команды передачи данных и загрузки констант
 FLD src          st(0) ← src (m32real/m64real/m80real)
 FILD src         st(0) ← src (m16int/m32int/m64int)
 FBLD src         st(0) ← src (m80bcd)
 FLDZ             st(0) ← 0.0
 FLD1             st(0) ← 1.0
 FLDPI            st(0) ← π
 FLDL2T           st(0) ← log2(10)
 FLDL2E           st(0) ← log2(e)
 FLDLG2           st(0) ← log10(2)
 FLDLN2           st(0) ← ln(2)
 FST dest         dest ← st(0) (m32real/m64real)
 FSTP dest        dest ← st(0) (m32real/64/80); “вытолкнуть” стек
 FIST dest        dest ← st(0) (m16int/32)
 FISTP dest       dest ← st(0) (m16int/32/64); “вытолкнуть” стек
 FBST dest        dest ← st(0) (m80bcd)
 FBSTP dest       dest ← st(0) (m80bcd); “вытолкнуть” стек
                            Команды сравнения
 FCOM             Установить флаги как для st(0) - st(1)
 FCOM op          Установить флаги как для st(0) - op (m32real/64)
 FCOMP op         Сравнить st(0) с op (reg/m32real/64); “вытолкнуть” стек
 FCOMPP           Сравнить st(0) с st(1); “вытолкнуть” стек 2 раза
 FICOM op         Установить флаги как для st(0) - op (m16int/m32int)
 FICOMP op        Сравнить st(0) с op (m16int/m32int); “вытолкнуть” стек
 FTST             Сравнить st(0) с 0.0
 FXAM             Установить флаги по содержимому st(0)
 FUCOMP st(i)     Сравнить st(0) с st(i); “вытолкнуть” стек
 FUCOMPP st(i)    Сравнить st(0) с st(i); “вытолкнуть” стек 2 раза
    Арифметические команды и команды трансцендентных функций
 FADD             st(0) ← st(0) + st(1)