Конечные инструкции (процессор / Сборка)

#architecture #assembly #instruction-set

#архитектура #сборка #набор инструкций

Вопрос:

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

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

«Intel создала новую»конечную» инструкцию под названием GETSEC, которую можно настроить для вызова различных конечных операций (включая ОТПРАВКУ)»

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

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

Комментарии:

1. Я думаю programmers.stackexchange.com вероятно, это подошло бы лучше. Вопрос может быть просто перенесен, хотя пока нет причин публиковать его там.

Ответ №1:

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

Инструкция Intel «GETSEC» выглядит следующим образом. Это одна инструкция, но в зависимости от начального значения EAX она может выполнять совершенно разные действия. Например, если вы заранее установите EAX равным нулю, команда GETSEC будет выполнять «конечную функцию (получения) ВОЗМОЖНОСТЕЙ», если вы заранее установите EAX равным 4, команда GETSEC будет выполнять «конечную функцию ОТПРАВИТЕЛЯ», а если вы заранее установите EAX равным 5, команда GETSEC будет выполнять «SEXITконечная функция «.