ВУЗ:
Составители:
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)
Страницы
- « первая
- ‹ предыдущая
- …
- 63
- 64
- 65
- 66
- 67
- …
- следующая ›
- последняя »