PUSHPOP







Używanie stosu w programach w assemblerze




"Stos
- instrukcje push, pop, pusha, popa, pushf i popf"


Stos
omówiliśmy już wcześniej - już wówczas sygnalizowałem
istnienie dwóch instrukcji, które służą do obsługi stosu -
PUSH i POP. Push - powoduje wrzucenie wartości lub zawartości
rejestru na stos a POP - pobranie wartości ze stosu i wrzucenie
jej do rejestru.


Składnia:
PUSH REJ16
PUSH WAR16
POP REJ16


"REJ16" i "WAR16" -
oznaczają odpowiednio rejestr i wartość 16-bitową - tzn. nie
można wrzucać ani pobierać ze stosu wartości 8-bitowych np.
AL, AH...; inaczej: instrukcje PUSH i POP operują jedynie na
słowach czyli danych 2-bajtowych.

Instrukcja PUSHA i POPA powodują
wrzucenie na stos wszystkich rejestrów - nie trzeba wywoływać
kilkakrotnie instrukcji PUSH i POP - wpływa to więc na
skrucenie programu.
Niestety - instrukcje te nie są dostępne we wszystkich wersjach
procesora, czyli ich używanie w programie wpływa na
kompatybilność.


Składnia:
PUSHA
POPA



Ostatnią już parą instrukcji jest
PUSHF i POPF, których działanie jest identyczne do PUSHA i
POPA, lecz ogranicza się wyłącznie do flag - push flags...


Składnia:
PUSHF
POPF


 

Poniższy przykładzik demonstruje
użycie wszystkich omówionych tu instrukcji a dodatkowo pokazuje
jedną z dyrektyw Tasm służącą do ustawienia typu procesora.


Przykład
użycia i zastosowania instrukcji obsługi stosu

 

Powrót do spisu treści
kursu


Copyright by Grzegorz Złotowicz
Form and Graphics: Michał Stanek


Pytanie komentarz do Autora





Wyszukiwarka

Podobne podstrony:
PUSHPOP
PUSHPOP

więcej podobnych podstron