Будь умным!


У вас вопросы?
У нас ответы:) SamZan.ru

И PUSH PUSH opernd onto stck Размещение операнда в стеке Схема команды-

Работа добавлена на сайт samzan.ru: 2015-07-05


(из книги Юрова В.И.)

PUSH

(PUSH operand onto stack)

Размещение операнда в стеке

 

Схема команды: 

push источник 

Назначение: размещение содержимого операнда источник в стеке.

Синтаксис
Алгоритм работы: 

  •  уменьшить значение указателя стека esp/sp на 4/2 (в зависимости от значения атрибута размера адреса — use16 или use32);
  •  записать источник в вершину стека (адресуемую парой ss:esp/sp).

Состояние флагов после выполнения команды: 

выполнение команды не влияет на флаги

Применение:
Команда push используется совместно с командой pop для записи значений в стек и извлечения их из стека. Размер записываемых значений — слово или двойное слово. Также в стек можно записывать непосредственные значения. Заметьте, что в отличие от команды pop в стек можно включать значение сегментного регистра cs. Другой интересный момент связан с регистром sp. Команда push esp/sp записывает в стек значение esp/sp по состоянию до выдачи этой команды. В микропроцессоре i8086 по этой команде записывалось скорректированное значение sp. При записи в стек 8-битных значений для них все равно выделяется слово или двойное слово (в зависимости от use16 или use32).

my_proc proc    near

        push    ax

        push    bx

;тело процедуры, в которой изменяется содержимое

;регистров ax и bx

...

        pop     bx

        pop     ax

        ret

        endp

        

PUSHA

(PUSH All general registers onto stack)

Размещение всех регистров общего назначения в стеке

 

Схема команды: 

pusha 

Назначение: размещение в стеке регистров общего назначения в следующей последовательности: ax, cx, dx, bx, sp, bp, si, di.

Синтаксис
Алгоритм работы: 

  •  уменьшить значение указателя стека esp/sp на 32/16 (в зависимости от значения атрибута размера адреса — use16 или use32);
  •  включить в стек последовательно значения регистров общего назначения ax, cx, dx, bx, sp, bp, si, di.

Содержимое di при этом будет на вершине стека. В стек помещается содержимое sp по состоянию до выполнения команды.
Состояние флагов после выполнения команды: 

выполнение команды не влияет на флаги

Применение:
Команда pusha используется совместно с командой popa для сохранения и восстановления всех регистров общего назначения. Эти команды удобно использовать при работе с процедурами, программами обработки прерываний, а также в других случаях для сохранения и восстановления регистров общего назначения как части контекста некоторого вычислительного процесса.

my_proc proc    near

        pusha

;тело процедуры, в которой изменяется

;содержимое регистров общего назначения

...

        popa

        ret

        endp

        

POP

(POP operand from the stack)

Извлечение операнда из стека

 

Схема команды: 

pop приемник 

Назначение: извлечение слова или двойного слова из стека.

Синтаксис
Алгоритм работы:
Алгоритм работы команды зависит от установленного атрибута размера адреса — use16 или use32:

  •  загрузить в приемник содержимое вершины стека (адресуется парой ss:esp/sp);
  •  увеличить содержимое esp/sp на 4 (2 байта) для use32 (соответственно для use16).

Состояние флагов после выполнения команды: 

выполнение команды не влияет на флаги

Применение:
Команда применяется для восстановления содержимого вершины стека в регистр, ячейку памяти или сегментный регистр. Заметим, что недопустимо восстановление значения в сегментный регистр cs.

my_proc proc    near

        push    ax

        push    bx

;тело процедуры, в которой изменяется содержимое

;регистров ax и bx

...

        pop     bx

        pop     ax

        ret

        endp

        

POPA

(POP All general registers from the stack)

Извлечение всех регистров общего назначения из стека

 

Схема команды: 

popa 

Назначение: извлечение из стека регистров общего назначения di, si, bp, sp, bx, dx, cx, ax.

Синтаксис
Алгоритм работы: 

  •  извлечь из стека последовательно значения и загрузить ими регистры общего назначения di, si, bp, sp, bx, dx, cx, ax. Содержимое di восстанавливается первым. Содержимое sp извлекается, но не восстанавливается;
  •  увеличить значение указателя стека esp/sp на 16.

Состояние флагов после выполнения команды: 

выполнение команды не влияет на флаги

Применение:
Команда popa по принципу работы является обратной команде pusha и используется для восстановления содержимого всех регистров общего назначения значениями из стека. Эту команду можно использовать в процедурах и программах обработки прерываний для восстановления регистров общего назначения прерванной программы.

.386

my_proc proc    near

        pusha

;тело процедуры, в которой изменяется

;содержимое регистров общего назначения

...

        popa

        ret

        endp

        




1. Лекція 5 Класифікатори Механічні класифікатори спіральні і рейкові
2. ИллиадаОдиссея ваза депилонская керамика Депилонский кратер ГРЕЦИЯ
3. Сущность мировоззрения
4. Решение системы линейных уравнений методом Гаусса и Жордана-Гаусса
5. Тыныс алу ж~йесі 1
6. Выдающийся деятель культуры Кубани Умар Тхабисимов
7. Екатеринбург Свердловская область Автор заданий- Сопельняк Эльвира Александровна учитель обществознани
8. і З дилетантської торгової пропозиції реклама перетворюється у витончений механізм впливу на споживача
9. Реферат- Оперативное запоминающее устройство
10. ЮГАНСКНЕФТЕГАЗ
11. The transition from selling to managing
12. Положения приведенные в отмеченных Методических указаниях обязательны для всех предприятий и организац
13. Нац. Экка и её структура Нац эккакомплекс взаимх отраслей сформирся в процессе развития общества
14. реферату- Філософський зміст і проблеми субстанціїРозділ- Філософія Філософський зміст і проблеми субстан.html
15. Тема 1. Предмет і завдання дисципліни Людина і світ з методикою викладання.
16. На тему Неолиберальные экономические концепции- истоки и эволюция
17. Люка В последнее воскресенье Масленицы 1578 года после народного гулянья когда на парижских улицах зат
18. Из истории музыкальных инструментов домра
19. Следственные действия, ограничивающие конституционные права и свободы гражда
20. Контрольная работа 3 по дисциплине Физика Вариант 9 Контрольная работа 4 по дисциплине