|
Tutorial
|
Dettaglio Istruzioni |
| Istruzioni della Cpu 80x86 |
SCHEDA n° 07 [I/ 136 di 198] |
|
|
|
|
| Questa istruzione non appartiene al Set dell'8088/86; si usa solo con 80286/486. | |
| Si tratta di una istruzione piuttosto efficiente, nata per assumere un dato a 8 bit da una precisa area di memoria, puntata per default da DS:SI, e spedirlo verso il dispositivo d'uscita il cui nome esadecimale è indicato per default da DX. |
|
|
Per le scelte fatte dai primi progettisti di personal computer (IBM compatibili) per pilotare le periferiche sono state utilizzate solo le prime 10 linee d'indirizzo, da ADD0 a ADD9; per questa ragione per i nomi dei dispositivi sono previsti solo i numeri da 0000H (0) a 03FFH (1023=210), sebbene DX consenta la specifica di numeri di gran lunga maggiori. solo i dispositivi più moderni cominciano a riferirsi a nomi al di fuori di questo range... |
| Le sue caratteristiche sono riassunte nella
seguente tabella (leggi le istruzioni
|
| OUTSB | porta DX << byte dalla memoria DS:SI | |||||||||||||||
|
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 | ||
OUTSB |
|
no | 5 | 14 | 17 | 1 | 1 | |||||||||
Dalla tabella si deduce che l'istruzione non
influenza le flag e che è priva di operandi: in
realtà, essendo un'applicazione particolare della OUTS,
pur non dichiarandoli esplicitamente l'istruzione si accinge a leggere
dalla memoria dati a 8
bit e a spedirli alla porta; in dettaglio:
| |||||||||||||||
| Questa istruzione esegue con un solo
codice operativo, 6EH, il compito di 3 istruzioni,
cioè equivale all'esecuzione del seguente codice: |
|
MOV AL,DS:[SI] OUT DX,AL INC SI |
| Prima di concludere è opportuno sottolineare che questa istruzione può fruire dell'operatore di autoripetizione REP: anteponendolo al suo mnemonico il processo di lettura e uscita dati (a 8 bit, bytes) viene ripetuto automaticamente CX volte, con conseguente copia automatica sulla porta di tutta l'area sorgente di memoria; naturalmente il numero di dati, CX, va caricato preventivamente. | ||
| Data l'utilità di questa tecnica viene proposto un
esercizio d'esempio: |
|
||||||||||||||||||||||||||||||
L'analisi del codice suggerisce queste considerazioni:
|
|
|
|
Scheda n° 07 |
|
Istruzioni Cpu 80x86 |
|
|
|
||
| Istruzione 136 - OUTSB |
|
|
|
|
|
Home
|
|
|||||||
|
Motore Ricerca |
|