Программирование на Ассемблере
Стек - это специальная область памяти, которая используется для хранения
внутренних промежуточных данных. Указатель стека содержит адрес вершины
стека, то есть адрес последнего занесенного в стек слова. При
\"заталкивании\" новых данных в стек, указатель уменьшается (стек \"растет\"),
а при \"выталкивании\" из стека наоборот, увеличивается. Можно провести
аналогию с кипой бумаг на столе: бумага, которую Вы положили последней,
берется из кипы первой. Такой механизм называется LIFO (Last In First Out -
последним вошел, первым вышел).
О том, как работать с указателями стека, мы расскажем в следующем разделе. Программный счетчик.
Регистр программного счетчика (PC) всегда указывает на адрес команды,
которая следует за текущей (выполняемой в данный момент) командой. Регистр статуса.
Регистр статуса (SR) играет особую роль в машинном программировании. SR -
это 16-битный регистр, который содержит информацию о состоянии процессора
(используются только 10 бит из 16-ти). Отдельные биты регистра состояния
называются флагами условий. Если какое-то условие истинно, соответствуюший
флаг содержит 1.
В следующей таблице приведено описание битов регистра SR: Бит Название Смысл
--------------------------------------------------------------------------
0 C, Carry (перенос) Флаг переноса, устанавливается
арифметическими операциями и
командами сдвига.
1 V, Overflow (переполнение) Флаг арифметического переполнения
(или изменения знака).
2 Z, Zero (нуль) Флаг установлен, если результат
последней операции - 0.
3 N, Negative (знак) Знаковый флаг: устанавливается, если
результат последней операции
отрицателен.
4 X, Extended (дополнительный) Устанавливается арифметическими
операциями как копия бита C.
|