Будь умным!


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

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

Работа добавлена на сайт samzan.net:


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

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. тематических наук Л.
2. Технология и оборудование пищевых производств
3. процесуальний аспект Спеціальність- 12
4. mericn Revolutionry Wr mericn Wr of Independence в американской литературе она чаще называется Американской революционной
5. Лекция 1 24
6. Для того чтобы согласовать передачу данных к отдельным компонентам работающих на своей частоте используе
7. МАКІЇВСЬКЕ ПЕДАГОГІЧНЕ УЧИЛИЩЕ Освітньокваліфікаційний рівень- мол
8. Курсовая работа- Интегрированная система в управленческом учет
9. Анализ возможностей внедрения процессного и системного подхода на предприятии
10. реферату Марко Вовчок основоположник прози для дітейРозділ Народознавство Марко Вовчок основоположник
11. во страниц Зар-плата Сроки в днях Страховой взнос 1121
12. Возможность проведения рекламной компании с охватом значительной аудитории при ограниченном бюджете; 2.html
13. Шутки и остроты А. С. Пушкин
14. спосіб виробництва виражає соціальний аспект діяльності суспільної людини зі створення необхідних для ї
15. Рынок совершенной конкуренции
16. Философия языка
17. К первому уровню можно отнести поток управления внутри выражений подчиняющийся правилам ассоциативности о
18. конспект лекций. ; М
19. Правосознание и правовая культура сотрудника ОВД.html
20. Контрольная работа по дисциплине Информационные технологии управления Направление