Листовые инструкции (Процессор/Ассемблирование)

Я не уверен, что SO - лучшее место, чтобы задать этот вопрос. Если нет, пожалуйста, дайте мне знать, на какой дочерний сайт мне следует перейти.

Я читал статью о технологии Intel Trusted Execution Technology (TXT), и в ней есть следующий текст, который я не могу понять:

«Intel создала новую «листовую» инструкцию под названием GETSEC, которую можно настроить для вызова различных конечных операций (включая SENTER)».

Я ничего не могу узнать о листовых инструкциях. Что это такое и почему/когда они используются? Любые подсказки?

p.s. Документ называется «Как низко вы можете опуститься? Рекомендации по минимальному выполнению кода TCB с аппаратной поддержкой» МакКьюна и др.


person recluze    schedule 01.11.2011    source источник
comment
Я думаю, что Programers.stackexchange.com, вероятно, подойдет лучше. Вопрос может быть просто перенесен, поэтому пока нет причин публиковать его там.   -  person Carth    schedule 01.11.2011


Ответы (1)


Большинство инструкций делают одно — складывают, вычитают, перемещают и т. д. Некоторые (редкие) инструкции делают совершенно разные вещи в разных ситуациях. Одним из примеров этого является инструкция CPUID, которая выполняет разные действия в зависимости от начального значения EAX (а иногда и ECX). Эти «разные вещи» называются листьями (от Intel).

Инструкция Intel "GETSEC" выглядит так. Это одна инструкция, но в зависимости от начального значения EAX она может делать совершенно разные вещи. Например, если вы заранее установите EAX в ноль, инструкция GETSEC выполнит «(получить) конечную функцию CAPABILITIES», если вы заранее установите EAX в 4, инструкция GETSEC выполнит «листовую функцию SENTER», а если вы установите EAX в значение 5 заранее инструкция GETSEC выполнит "листовую функцию SEXIT".

person Brendan    schedule 01.11.2011