СПОСОБ И СИСТЕМА РАСКРУТКИ СТЕКА

1. Способ раскрутки стека, заключающийся в том, что в системе, содержащей вычислительное устройство, включающее в себя соединенные между собой центральный процессор, память и средство управления раскруткой стека, для каждой процедуры, участвующей в раскрутке стека, выполняют следующие операции:
- анализируют инструкции кода пролога процедуры или первые инструкции кода процедуры, при этом определяют те инструкции, которые уменьшают указатель вершины стека;
- вычисляют размер кадра, при этом суммируют величины, на которые указатель вершины стека должен быть уменьшен;
- анализируют инструкции кода пролога процедуры или первые инструкции кода процедуры, при этом определяют инструкцию, сохраняющую адрес возврата в вызывающую процедуру;
- определяют смещение относительно начала кадра, по которому находится адрес возврата;
- вычисляют начальные адреса кадров и
- считывают адрес возврата в каждом кадре.
2. Система раскрутки стека, содержащая вычислительное устройство, включающее в себя соединенные между собой центральный процессор, память и средство управления раскруткой стека, причем центральный процессор содержит регистр, выполненный с возможностью сохранения адреса возврата вызывающей процедуры; память содержит копию стека, сделанную от начального адреса стека до адреса указателя вершины стека, или сам стек, в случае, когда выполнение процесса было остановлено, и бинарный файл, содержащий блок кода с бинарными кодами процедур, а также блок кода с информацией о начальных адресах и размерах кодов процедур.
3. Система по п.2, отличающаяся тем, что вычислительное устройство выбрано из группы устройств, включающей в себя встраиваемое устройство и компьютер.
4. Система по п.2, отличающаяся тем, что блок кода с информацией о начальных адресах и размерах кодов процедур содержит также символьные имена процедур.
5. Система по п.2, отличающаяся тем, что бинарный файл содержит блок кода с отладочной информацией о структуре стековых кадров.