Идеальной структурой данных для сброса регистров является стек - очередь, работающая по принципу «последним пришел — первым вышел». Стеку нужен указатель на самый последний распределенный в нем адрес, чтобы показать, куда следующая процедура должна поместить сбрасываемые регистры или где найти старые значения регистров. Указатель стека изменяет свое значение на одно слово для каждого сохраненного или восстановленного регистра. Программное обеспечение MIPS для указателя стека выделяет регистр 29. давая ему конкретное имя Ssp.
Также вам может показаться, что такая тема как http://www.vesper-ru.com/ никак не связана и даже не тематична. Хотя, может быть и связана. В любом случае все-таки зайдите на сайт vesper-ru.com. Тема веспер преобразователь частоты цена там представлена весьма широко. На том сайте можно узнать много интересного на тему веспер преобразователь частоты цена. Что означает вообще тема веспер преобразователь частоты цена, где найти веспер преобразователь частоты цена - про это написано на сайте vesper-ru.com. Это очень важная для многих людей тема - веспер преобразователь частоты цена. Спасибо сайту vesper-ru.com за информацию на тему веспер преобразователь частоты цена.
Процедура может вызываться из нескольких мест программы.
Инструкция перехода и ссылки
Инструкция, осуществляющая переход на адрес и одновременно сохраняющая адрес следующей инструкции в регистре.
Адрес возврата
Ссылка на место вызова, позволяющая процедуре вернуться на нужный адрес; в MIPS эта ссылка хранится в регистре $га,
Вызывающая программа
Программа, вызывающая процедуру и предоставляющая необходимые значения параметров.
Вызываемая программа
Процедура, выполняющая последовательность сохраненных инструкций на основе параметров, предоставляемых вызывающей программой, а затем возвращающая управление вызывающей программе.
Подразумевается, что идея сохраняемой в памяти программы предполагает наличие регистра для хранения адреса текущей выполняемой инструкции. В силу исторических причин в MIPS этот регистр почти всегда называют счетчиком команл. или сокращенно PC, хотя более подходящим названием для него было бы регистр адреса инструкции. При установке адреса возврата из процедуры инструкция jal сохраняет в регистре Sra для ссылки на следующую после вызова инструкцию значение PC + 4.
Использование большего количества регистров
Предположим, что компилятору требуется больше регистров для процедуры, чем четыре регистра аргументов и два регистра возвращаемых значений. Поскольку пам нужно замести свои следы после завершения миссии, все регистры, необходимые вызывающей программе, должны быть восстановлены, получив те значения, которые п них содержались до вызова процедуры. Эта ситуация является тем самым примером, упомянутым в разделе «Интерфейс аппаратного и программного обеспечения», когда нам необходимо сбросить регистры в память.
Стеки настолько популярны, что для них существуют специальные термины для переноса данных в стек и из стека: помещение данных в стек называется проталкиванием, а удаление данных из стека называется выталкиванием.
Опубликовал katy
June 26 2015 07:06:26 ·
0 Комментариев ·
3314 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.