повикване стека

Слоят обаждане (от стека на повикване английски ;. По отношение на процесорите - просто "купчина") - по компютърни науки, LIFO-стак. съхраняване на информация, за да се върне контрола върху програмите (процедури) в програмата (или подпрограма с вложени или рекурсивни повиквания) и / или да се върнете към програмата от прекъсващ оператор (включително при превключване на задачи в многозадачна среда).

стека повикване обикновено се изпълнява от един от следните методи:

При липса на стека или нейната ограничена дълбочина или вложени разговори изключено броят им е ограничен. Ако е необходимо, по-разкрой стека повикване или удължаването на срока му може да се изпълнява от софтуер.

Подпрограма разговор и връщане от подпрограми и да прекъсне манипулатори. обикновено се извършва от специализирани инструкции процесор. Също така документира разговори и се връща, често Преработвателите са инструкции за употреба на стека на повикване, както и за запазване на данните - поставянето им в стека, оттегляне от тестето, съдържанието на стека от модификацията.

Ръчно повикване, връщане и работа с стека може да варира от размера на съхраняваните данни (в този случай, използвайте подходящите инструкции един до друг или техните еквиваленти).

Понякога се връща от подпрограма или прекъсне процедури манипулатор се различават една от друга, а също така да изискват различни команди (например връщане от прекъсване, често е необходимо да се възстанови стека регистър знамена и / или позволява обработка на прекъсванията конкурентни, които могат да бъдат автоматично забранено, когато администраторът на този разговор).

При липса на конкретни инструкции (процесор в намален набор инструкции) разговори, декларации и други дейности с стека повикване осъществява от инструкции конвенционалната памет експлоатация / контролните регистри и предаване.

повикване стека

Типичен случай на използване на стека в пример високо ниво език извикване на процедура аргументи «A, B, C» (споразумения изискват Pascal), в сравнение с асемблер

Използването на комина в многозадачни системи

В многозадачни системи, всяка задача обикновено има свой собствен комин, и при превключване на задачите показалеца на процесор стека го пренаредени.

Нестандартна употреба

Топчето може да се използва в наказателното поле, като например:

алтернативно използване

В алтернативно използване на курсора на стека се прегрупира в областта за данни, както и инструкции за работа с стека се използва като операциите по низови за обработка на серийни данни в паметта.

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

  • Задължителни езици за програмиране от високо ниво, като правило, не разполагат с възможностите на операционната изрично стека повикване, но има и изключения. Така например, в Forth с директен достъп до набора от системни функции (наречен "връщане стека", за разлика от "купчина данни" на езика).