ПредишенСледващото

За да се избегне тази ситуация, го е направил за запазване на съдържанието на регистрите преди всяко повикване. Това може да се осъществи проникване на информация от интерес за нас в произволно място в паметта, съдържанието на които не се променят по време на работа съчетания. Непосредствено преди връщането към основното съдържание програма рутинни извършва възстановяване при регистър, т.е.. Д. Влизане съхранява информация в първоначалното си местоположение.

Така че, в списъка на изискванията за подпрограмите, следва да бъде допълнен с още две точки. Необходимо е да се направи за запазване на съдържанието на регистрите. Завръщането на контрол на основната програма трябва да бъде предшествано от съдържанието на възстановяване регистри. Така че нашият списък сега изглежда така:

S1: Спасяването регистри.

53: Възстановяване на регистрите.

Преди да се пристъпи към по-подробен анализ на стъпките S1 и S3, е се запозна с двата отбора.

LM и STM отбор

Както се вижда от описанието, операциите, изпълнявани от съдържанието на регистър група с число между R1 и R3. Например, командата

Запазване на съдържанието на регистри - подпрограма

Фиг. 13.3. Илюстрация STM работата в екип.

Запазване на съдържанието на регистри - подпрограма

Фиг. 13.4. Възстановяване на съдържанието на регистрите с помощта на екипа на LM.

Резултатът ще се зареди регистри от информация за района, в който паметта оригиналното му съдържание е запазена. Процесът на възстановяване е показано на фиг. 13.4.

Ако броят на първия регистър е по-голям от втория брой, т. Е. голяма R1 R3, резултатът отива първите регистри от R1 до 15 и след това от 0 до R3. според екипа

Зареждане на изображението се произвежда в регистъра SA 14, дума SA + 4 в регистъра 15, SA + 8 в регистър 0, SA + 12 в регистър 1, SA + 2 в регистъра 16, и най-накрая, SA + 20 в регистър 3. Ако, обаче, R1 = R3, тогава само един регистър използва като операнд. С други думи, резултатите от командата

защитена зона

Според приетия договор, запазване на съдържанието на регистъра, постигнат след четвъртия опазването на думата. Съдържанието на регистъра се съхранява в паметта в следния ред: 14, 15, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12. Регистърът 13 има специална роля в запазването на съдържанието на регистрите, както ще видим по-късно, и поради това, тя изисква специална обработка.

Запазване на съдържанието на регистри - подпрограма

(Вж. Фиг. 13.5). За възстановяване на регистрите в края на подпрограмата е достатъчно, за да ги заредите ценности на съхранение:

Тази команда трябва незабавно да предшества завръщането на отбора към главната програма.

Обобщавайки по-горе, нека сега да определя общата структура на произволен съчетания, които отговарят на тези изисквания. Нека рутината има име SUBR. Неговата обща структура е както следва:

STM 14,12,12 (13) съхраняване АПАРАТИ

LM 14,12,12 (13) Възстановяване на регистрите

Backup памет и константи

Една от услугите, предоставяни от операционната система; потребителят е да бъде в състояние да работи с макро библиотеки, съдържащ набор от много удобно за използване на макроси. Този комплект се състои от такива макро като спаси и RETURN. За да запазите съдържанието на регистъра, само толкова, колкото да се напише

В програмата на макроса се заменя с командата

За да възстановите съдържанието на регистрите и за изпълнение се връща към основната програма ще трябва да използвате друг макрос:

Това е еквивалентно на даване на няколко команди:

Използвайте стандартна макро или пишете еквивалентната команда е въпрос на вкус.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!