Cтраница 1
Восстановление регистров производится в порядке, обратном их записи в стек. [1]
После восстановления регистров в вершине стека находится адрес L1 ( рис. 7.1 е) и по инструкции RETURN из подпрограммы SAVE05 управление возвращается в вызвавшую программу. [2]
Команда восстановления регистра 13 может отсутствовать, если подпрограмма на языке Ассемблера сама не вызывает другие подпрограммы и не изменяет содержимое этого регистра. [3]
Типичная последовательность вызова подпрограммы DECADD. [4] |
Запоминание и восстановление регистров, кроме пары HL, осуществляет подпрограмма. Запоминать пару HL не требуется, так как после считывания адресов параметров начальный адрес таблицы больше не нужен. [5]
По команде происходит восстановление регистров с 14 по 12; информация из области памяти передается в регистры. [6]
Макрокоманда RETURN осуществляет восстановление регистров общего назначения по информации, расположенной на поле сохранения вызывавшей программы, и осуществляет выход из подпрограммы. [7]
Необходимо очень внимательно решать вопрос восстановления регистров. Этот результат должен быть передан в основную программу. Команда LM 14, 12, 12 ( 13) не подходит, восстанавливать следует значения всех регистров, кроме первого. [8]
Команда LM чаще всего используется для восстановления регистров, ранее запомненных в памяти. [9]
Основные видеофункции BIOS. [10] |
Например, имеются подпрограммы для сохранения и восстановления регистров процессора, вывода управляющей информации в регистры CRTC, вычисления адреса символьной позиции в видеобуфере по задаваемым строке и столбцу и др. Все эти подпрограммы доступны и прикладным программам, так как их точки входа нетрудно определить. [11]
Основные компоненты операционной системы ( ОС. [12] |
Ядро ОС выполняет обработку прерываний, запоминание и восстановление регистров при прерываниях, реакцию на сбои и отказы процессоров и оперативной памяти и пр. [13]
Команда JSR. [14] |
Еще одно преимущество стекового механизма проявляется при сохранении и восстановлении регистров. В подпрограмме необходимость сохранения регистров возникает тогда, когда нужно использовать те из них, которые уже фигурировали в вызывающей программе. Содержимое этих регистров при входе в подпрограмму должно сохраняться, а при выходе - восстанавливаться. [15]