Стек в архитектуре Intel растёт от больших адресов к меньшим. 1 Указатель стека (ESP) содержит адрес последнего элемента стека, следующий за последним элементом. 2
Инструкция PUSH добавляет элемент на вершину стека. 4 У неё один операнд, который может быть непосредственным значением, 16-битным регистром (в том числе сегментым) или 16-битной переменной в памяти. 4 Команда работает следующим образом: 4
Инструкция POP извлекает элемент с вершины стека. 4 У этой команды также один операнд, который может быть 16-битным регистром (в том числе сегментым, но кроме CS) или 16-битной переменной в памяти. 4 Команда работает следующим образом: 4
Извлечённый из стека элемент не обнуляется и не затирается в памяти, а просто остаётся как «мусор». 4 Он будет перезаписан при помещении нового значения в стек. 4
Стек представляет структуру LIFO («Last In — First Out» или «последним пришёл — первым ушёл»). 14 Это значит, что получение данных из стека происходит в порядке, обратном их добавлению. 1