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