Tutorial
|
Dettaglio Istruzioni |
Istruzioni della Cpu 80x86 |
SCHEDA n° 07 [I/ 150 di 198] |
|
![]() |
|
![]() | Questa istruzione non appartiene al Set dell'8088/86; si usa solo con 80386/486. |
![]() | Si tratta di una PUSH tipizzata per trasferire nello stack di un dato a 16 bit, e per i dettagli funzionali valgono le descrizioni proposte per PUSH. |
![]() | Le sue caratteristiche sono riassunte nella
seguente tabella (leggi le istruzioni
![]() |
PUSHW Sorgente | [SS:SP]
stack << Sorgente SP << SP - 2 |
|||||||||||||||
Esempio di Applicazione |
Cicli di Clock | Mem Acces |
N° Bytes |
Flag influenzate | ||||||||||||
Mnemonico | Operandi | 86 | 268 | 386 | 486 | O | D | I | T | S | Z | A | P | C | ||
PUSHW |
1234H |
no | 3 | 2 | 1 | no | 2,3 | |||||||||
PUSHW |
DS |
10 | 3 | 2 | 3 | 1 | 1 | |||||||||
PUSHW |
AX |
11 | 3 | 2 | 1 | 1 | 1 | |||||||||
PUSHW | EAX | no | no |
![]() | La tabella evidenzia che l'istruzione non altera alcuna flag. |
![]() | L'operando può essere un numero immediato o un registro (a 16 o 32 bit), anche di segmento, ma non il contenuto di locazioni di memoria. |
![]() | Quando il processore esegue un'istruzione PUSHW
XX provvede ai seguenti compiti:
| ||||
![]() | Se non si provvede altrimenti lo stack rimane sporco, cioè con 2 bytes in più rispetto alla condizione precedente l'esecuzione dell'istruzione: la cosa è fastidiosa ma non ancora critica... ma se l'operazione fosse ripetuta sciaguratamente troppe volte si rischia, scrivendo all'indietro, di sovrascrivere il programma mentre è in esecuzione... |
|
![]() |
Scheda n° 07 |
![]() |
Istruzioni Cpu 80x86 |
![]() |
![]() |
![]() |
||
Istruzione 150 - PUSHW |
|
|
|
Home
![]() |
|
|||||||
|
Motore Ricerca |
|