Можно конечно не обращать не какого внимания на эту рутинную вещь,возникает вопрос зачем из регистра ESP вычитать размер локальных переменных,и что будет если этого не сделать,и начать размещать значения по отрицательному смещению регистра ebp Код (ASM): push ebp mov ebp,esp sub esp,120 ; <----- а если это не делать ? mov byte ptr [ebp-120],255
Например, чтобы инструкции PUSH/POP, которые присутствуют внутри практически любой процедуры, не лезли в локальные переменные.
Entropy, Следы как заметать - двигаться не к ним, а от них, иначе наследите сзади.. Область стека < его дна общая в cfg. Общий буфер проще говоря. Отсюда следует необходимость атомарного переключения двух компонент(86) => загрузка селектора(ss) маскирует прерывания, позволив загрузить вторую адресную компоненту - указатель стека(sp).
Prober, получается что операнд после интрукции PUSH сохраняется за локальными переменными --- Сообщение объединено, 9 июл 2026 --- Ahimov, так дно стёка это старшие адреса или младшие ? ,например адреса стека: 30a0h-30ffh, 30a0h - младший адрес , 30ffh - старший адрес