Программно доступные регистры
Программно доступные регистры, в свою очередь, можно разделить на несколько категорий:
• регистры общего назначения (или универсальные регистры);
• регистры данных;
• регистры адреса;
• регистры кодов условий.
Регистры общего назначения программист может использовать по своему усмотрению для выполнения самых разных функций. Иногда система команд никак не связывает их функции с выполняемой операцией (это бывает в системах команд, в которых поля кода операций и операндов ортогональны). В таком случае действительно имеют дело с универсальными регистрами, т.е. любой регистр может использоваться для спецификации любого операнда в любой машинной команде. Но в некоторых архитектурах возможность применения того или иного регистра все-таки в определенной мере ограничивается. Например, для работы с системным стеком и числами в формате с плавающей точкой используются не любые, а только определенные регистры.
В некоторых структурах процессоров регистры общего назначения можно применять для адресации операндов (т.е. косвенной адресации через регистр, адресации со смещением и т.п.). В других структурах существует жесткое разделение между регистрами адреса и регистрами данных.
Регистры данных разрешается использовать только для хранения операндов и результатов, но они не принимают участия в вычислении исполнительного адреса. В некоторых архитектурах имеются отдельные регистры для хранения данных с фиксированной точкой и регистры для хранения данных с плавающей точкой.
Регистры адреса могут быть в определенной степени универсальными, а могут и предназначаться только для определенного режима адресации. Ниже приведены некоторые регистры адреса.
Сегментные регистры. В компьютерах с сегментной организацией оперативной памяти предназначены для хранения адреса сегмента.
Индексные регистры. Эти регистры используются в режимах адресации с индексацией, и в некоторых процессорах при обращении к ним автоматически выполняется приращение или уменьшение значения на 1 (происходит автоиндексация).
Указатель стека. Если в компьютере механизм управления системным стеком программно доступен, то стек размещается в оперативной памяти и выделяется специальный регистр, который содержит текущее значение указателя вершины стека.
Дата добавления: 2015-09-29; просмотров: 746;