Фундаментальные основы хакерства


Идентификация аргументов функций - часть 51


 

Команда

Назначение

FLD источник

Заталкивает вещественное число из источника на вершину стека сопроцессора

FSTP приемник

Выталкивает вещественное число из вершины стека сопроцессора в приемник

FST приемник

Копирует вещественное число из вершины стека сопроцессора в приемник

FLDZ

Заталкивает ноль на вершину стека сопроцессора

FLD1

Заталкивает единицу на вершину стека сопроцессора

FLDPI

Заталкивает на вершину стека сопроцессора число ?

FLDL2T

Заталкивает на вершину стека сопроцессора двоичный логарифм десяти

FLDL2E

Заталкивает на вершину стека сопроцессора двоичный логарифм числа e

FLDLG2

Заталкивает на вершину стека сопроцессора десятичный логарифм двух

FLDLN2

Заталкивает на вершину стека сопроцессора натуральный логарифм двух

FILD источник

Заталкивает целое число из источника на вершину стека сопроцессора

FIST приемник

Копирует целое число с вершины стека сопроцессора в приемник

FISTP приемник

Выталкивает целое число с вершины стека сопроцессора в приемник

FBLD источник

Заталкивает десятичное число из приемника на вершину стека сопроцессора

FBSTP приемник

Копирует десятичное число с вершины стека сопроцессора в приемник

FXCH ST(индекс)

Обмен значениями между вершиной стека сопроцессора и регистром ST(индекс)

 

Таблица 9 Основные команды сопроцессора, применяющиеся для передачи/приема аргументов

 

Типы double

и long double занимают более одного машинного слова и через стек основного процессора передаются за несколько итераций. Это приводит к тому, что анализ кода вызывающей функции не всегда позволяет установить количество и тип передаваемых вызываемой функции аргументов. Выход – в исследовании алгоритма работы вызываемой функции. Поскольку сопроцессор не может самостоятельно определить тип операнда, находящегося в памяти (т.е. не знает: сколько ячеек он занимает), за каждым типом закрепляется "своя" команда.


- Начало -  - Назад -  - Вперед -



Книжный магазин