La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Comandi assembly Il termine assembly deriva dal programma traduttore in linguaggio macchina assembler, l’assemblatore non fa altro che assemblare il.

Presentazioni simili


Presentazione sul tema: "Comandi assembly Il termine assembly deriva dal programma traduttore in linguaggio macchina assembler, l’assemblatore non fa altro che assemblare il."— Transcript della presentazione:

1 Comandi assembly Il termine assembly deriva dal programma traduttore in linguaggio macchina assembler, l’assemblatore non fa altro che assemblare il codice macchina partendo da istruzione scritte in linguaggio mnemonico assembly.

2 Esistono diversi tipi di comandi, in tutto ci sono 15 tipologie.
Istruzioni di spostamento o assegnazione. Istruzioni aritmetiche. Istruzioni bitwise logiche. Istruzioni bitwise di rotazone/traslazione. Istruzioni di confronto. Istruzioni di salto. Istruzioni di gestione stringhe. Istruzione di lettura/scrittura da e per I/O. Istruzioni di attesa. Istruzioni logiche bitwise. Istruzioni bitwise di rotazione/taslazione.

3 Istruzioni di spostamento o assegnazione.
Istruzioni assembly che servono per lo spostamento di dati da un registro ad un altro.

4 Istruzioni bitwise logiche.
Istruzioni logiche servono principalmente per la manipolazione di bit.

5 Istruzioni di lettura e scrittura da e per I/O.
Istruzioni che servono per la lettura e scrittura delle informazioni da e per I/O.

6 ISTRUZIONI BITWISE ROTAZIONE

7 ISTRUZIONI DI CONFRONTO

8 ISTRUZIONI DI ATTESA

9 Trasferisce un byte o una word Tra due registri
MOV destinazione, sorgente ISTRUZIONE DI TRASFERIMENTO GENERICO Trasferisce un byte o una word Tra due registri Tra un registro e una locazione di memoria Per trasferire un dato da una locazione di memoria a un’altra: MOV AX, fromVar; copia fromVar in AX MOV toVar,AX; e quindi in toVar Non è possibile caricare una costante (come l’indirizzo di un segmento) in un registro di segmento:

10 PUSH sorgente POP destinazione
L’unico operando (sempre una word) può essere un registro o una locazione di memoria NON può essere una costante MOV AX, 100; costante in AX PUSH AX; e quindi sullo stack MOV AX, OFFSET Var; prima in AX PUSHF (PUSH Flags onto stack) POPF (POP Flags off stack) Trasferiscono il contenuto del registro flag (16 bit) nello stack e viceversa PUSHF= PUSH del registro flag POPF= POP del registro flag NECESSARIE IN QUANTO IL REGISTRO FLAG NON HA UN NOME GENERAL PURPOSE MOV destinazione,sorgente Muove un byte o una word PUSH sorgente Push di una word nello stack POP destinazione Pop di una word nello stack

11 XCHG destinazione sorgente
Scambia (eXCHanGE) il contenuto (byte o word) dei due operandi-due registri o un registro e una locazione di memoria Per scambiare il contenuto di due locazioni di memoria: XCHG AX, var 1 XCHG AX, var 2; var 2<-var 1 XCHG AX, var 3; var 1<-var 2

12 LEA reg16, mem16 LEA (Load Effective Address):
Calcola l’EA del secondo operando (un riferimento a una word in memoria) e Lo carica nel primo operando (un registro generale a 16 bit) LEA BX, Table; MOV BX, OFFSET Table LEA BX, [Table+BP+SI] Il secondo esempio non ha un’istruzione MOV equivalente, in quanto l’operatore OFFSET richiede un’espressione costante.

13 SUB destinazione, sorgente SBB destinazione, sorgente
SUB (SUBtract) sottrae l’operando sorgente all’operando destinazione e memorizza il risultato nell’operando destinazione SBB (Subtract with Borrow) effettua la stessa operaazione, comprendendo nella sottrazione il flag del riporto (CF) Destinazione_=sorgente+CF L’istruzione SBB permette di effettuare la sottrazione di numeri maggiori di 16 bit Sottrazione di due numeri di 32 bit (AX:BX)<- (AX:BX)-(CX:DX) SUB BX,DX; sottrae i 16 bit meno significativi SBB AX,CX; sottrae i 16 bit più significativi Le istruzioni di sottrazione modificano il contenuto dei flag in modo analogo alle istuzioni di somma.

14 GENERAL PURPOSE TRASFERIMENTO DI INDIRIZZI MOV destinazione, sorgente: muove un byte o una word LEA reg16, mem16: carica un indirizzo effettivo (EA) PUSH sorgente: Push di una word nello stack LDS reg16, mem32: carica un indirizzo completo in DS:reg16 POP destinazione: Pop di una word dallo stack LES reg16, mem32: carica un indirizzo completo in ES:reg16 XCHG destinazione, sorgente: Scambia un byte o una word ARRIVEDERCI E GRAZIE !!

15 Realizzato da: Lorenzo Cerami_Gabriele Salemi_Giuseppe Lanzetta. Classe III I A.S. 2015/2016


Scaricare ppt "Comandi assembly Il termine assembly deriva dal programma traduttore in linguaggio macchina assembler, l’assemblatore non fa altro che assemblare il."

Presentazioni simili


Annunci Google