Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Уроки по программированию (от Ассемблера до Делфи)


Информационный Канал Subscribe.Ru


Низкоуровневый язык программирования Ассемблер
урок 5
Стек

Стек напоминает по своей сущности трубу, и причем не просто трубу, а закрытую с одного конца. Предствавьте себе, что вы залезаете в эту трубу, а за вами следом залазит еще кто-нибудь. То есть вы заползли первыми, а еще кто-нибудь заполз вторым. Почему заползли? А потому, что труба настолько узкая, что чтобы вам вылезти из нее необходимо сначала вылезти тому самому "кто-нибудь", а потом только сможете выползти вы. Таким образом тот кто заполз первым вылазит последним, и соответственно кто заполз последним вылазит первым.

Вышеописанный механизм называется FILO (First Input Last Output или первый заполз последний выполз). На основе этого механизма работает стек. То есть он является той самой трубой, а данные это те самые чуваки, которые все время куда-нибудь залазят. Все просто!

Если взгянуть на этот самый стек со стороны компьютеров, то он является обычной областью памяти, за одним лишь исключением - механизм FILO. В Ассемблере есть пара команд "push" и "pop", которые позволяют вам работать со стеком. Рассмотрим небольшой пример:


push 1234h
push ABCDh
pop ax
pop bx

Отгадайте что будет находиться в регистрах ax и bx...Не знаю, что вы там нагадали, а в регистре ax будет число ABCDh и соответственно bx=1234h.

Вот собственно и все. Технические подробности вы узнаете на практике, в справочниках по инструкциям Ассемблера или из чьих либо исходников (например моих).

Повторяюсь: я умышленно не вникаю во все детали - их лучше изучать на практике (материал запоминается гораздо лучше тогда когда вы его используете при решении какой-либо задачи).


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное