Calcolatori elettronici/Formato delle istruzioni macchina, tempi di esecuzione: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nuova pagina: {{Calcolatori elettronici}} ==Formato delle istruzioni macchina== In ambiente 8086 il '''formato delle istruzioni macchina''' è variabile, cioè le istruzioni hanno codici macchina...
 
Gian BOT (discussione | contributi)
m Bot: sostituzione tag obsoleti
 
Riga 15:
 
===Esempi di istruzioni in base alla lunghezza===
* <span style="text-decoration:underline;">1 byte:</span> <ttcode>NOP</ttcode>, <ttcode>PUSH</ttcode>, <ttcode>POP</ttcode>
* <span style="text-decoration:underline;">2 byte:</span> <ttcode>MOV AX</ttcode>, <ttcode>BX</ttcode>, <ttcode>MOV AX</ttcode>, <ttcode>[BX]</ttcode>
* <span style="text-decoration:underline;">3 byte:</span> <ttcode>MOV AX</ttcode>, <ttcode>imm</ttcode>
* <span style="text-decoration:underline;">4 byte:</span> <ttcode>MOV AX</ttcode>, <ttcode>var</ttcode>, <ttcode>MOV [BX]</ttcode>, <ttcode>imm</ttcode>
* <span style="text-decoration:underline;">6 byte:</span> <ttcode>MOV var</ttcode>, <ttcode>imm</ttcode>
 
==Tempi di esecuzione==
Il linguaggio assembler viene usato quando è richiesto un tempo di esecuzione minimo in termini di colpi di clock e non è disponibile un compilatore sufficientemente efficiente in termini di ottimizzazione del tempo di esecuzione. I '''tempi di esecuzione''' delle istruzioni sono specificati nel manuale in base a:
* <span style="text-decoration:underline;">tipo di istruzione</span>;
* <span style="text-decoration:underline;">posizione degli operandi:</span> gli operandi in memoria richiedono un tempo di accesso maggiore di quello richiesto dagli operandi immediati, e oltretutto l'indirizzo potrebbe dover essere calcolato (es. <ttcode>[BX]var</ttcode>) o un'istruzione potrebbe richiedere un accesso sia in lettura sia in scrittura (es. <ttcode>ADD var</ttcode>, <ttcode>AX</ttcode>);
* <span style="text-decoration:underline;">allineamento degli operandi in memoria:</span> [[File:Human-edit-redo.svg|16px]] [[Calcolatori elettronici/Architettura 8086#Accesso alla memoria|BHE]]