Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoFausta Caputo Modificato 6 anni fa
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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.