Стек. Реализация стека

Слайд 2

Стек

Реализация стека на уровне ЦП

Регистры x86:
SS – хранит границу стека (начало сегмента

Стек Реализация стека на уровне ЦП Регистры x86: SS – хранит границу
стека)
ESP – хранит вершину стека (адрес элемента, записанного в стек последним)
EBP – регистр для манипуляций со стеком. Позволяет получить доступ к предпоследнему, предпредпоследнему, и т.д. элементу.

Граница

Вершина

Основание

Слайд 3

Стек

Реализация стека на уровне ЦП

Команды для работы со стеком:
PUSH – добавить данные

Стек Реализация стека на уровне ЦП Команды для работы со стеком: PUSH
в стек. Команда записывает данные в стек и уменьшает регистр ESP.
POP – извлечь данные из стека. Команда извлекает данные и увеличивает ESP.

PUSH BX
PUSH CX
<здесь любые манипуляции с BX и CX>
POP CX
POP BX

Слайд 4

Стек

Реализация стека на уровне ЦП

Регистры x86:
SS – хранит границу стека (начало сегмента

Стек Реализация стека на уровне ЦП Регистры x86: SS – хранит границу
стека)
ESP – хранит вершину стека (адрес элемента, записанного в стек последним)
EBP – регистр для манипуляций со стеком. Позволяет получить доступ к предпоследнему, предпредпоследнему, и т.д. элементу.

;код для 32-битного процессора
mov EBP,ESP ;получаем доступ к последнему
inc [EBP] ;можем изменить последний
add EBP,4 ;получаем доступ к предпоследнему
inc [EBP] ;можем изменить предпоследний

Слайд 5

Стек

Примеры работы со стеком

Стек Примеры работы со стеком
Имя файла: Стек.-Реализация-стека.pptx
Количество просмотров: 32
Количество скачиваний: 2