cp006 Указатели: стек

preview_player
Показать описание
Практическое применение указателей продемонстрировано на примере простейшего объекта - стека. Стек является LIFO объектом(последний записанный элемент извлекается первым). Основные его методы: вставить элемент(push) и извлечь его(pop). В лекции подробно описаны эти действия графически и показана их реализация на С++. Для полного восприятия желательно предварительно посмотреть видео cp004, cp005
Рекомендации по теме
Комментарии
Автор

Сколько видел и читал объяснений принципа работы стека, но ни одна аналогия, описывающая его суть, не была наглядной. Самое правильное понимание приходит при изучении ассемблера PDP-11 и способов регистровой косвенной адресации (с автодекрементом или автоинкрементом). Пример команд:
MOV #1000, SP ; установить адрес указателя стека (вершину)
MOV R0, -(SP) ; сохранить значение регистра общего назначения R0 (16 бит) в оперативной памяти по адресу, значение которого задано в SP, с предварительным декрементом адреса в указателе стека на 2 байта
CLR R0 ; очистка регистра R0
MOV (SP)+, R0 ; записать (восстановить) значение регистра из памяти, на которое указывал SP, с последующим автоинкрементом значения в SP на 2 байта.
Аналогично сие устроено на архитектурах x86, AVR. Но сейчас мало кто хочет изучать ассемблер для общего развития.

Al.Sy.
Автор

Устал слушать. Э ... э ... Неужели сложно написать текст заранее? Очень тяжело слушать.

Eric_Cartmany