Domenica, 22 Ottobre 2017 19:55

Esempio 00: istruzione MOV

Scritto da

Un primo esempio semplice per comprendere l'uso dei registri e il comando MOV.

I valori per essere utilizzati devono necessariamente passare da registro. Ad esempio, inseriamo un valore numerico. Nei registri a debug è sempre riportato il valore esadecimale!

; esempio 00
; scrive 85 decimale nel registro AX occupando la parte bassa AL. In HEX-> 85= 0055h


.DATA
   
.CODE
.STARTUP

MOV AX, 85

;il formato delle istruzioni è il seguente     
; [label] ISTRUZIONE [PARAMETRO1, PARAMETRO2 ...] [;commento]

.EXIT
END

 

Il codice riportato sopra è compatibile con la sintassi di EMU8086. In generale vale il concetto per i seguenti trasferimenti leciti:

-da registro a registro

mov dx, ax      ;(caso 16 bit)

mov ecx, edx   ;(caso 32 bit)

-da immediato a registro

mov eax, 42h  ;(caso 32 bit)

Nell'immagine seguente, l'esempio in SASM con i registri a 32bit. Vengono passati o numeri decimali, o binari con la lettera b finale, o esadecimali con la notazione 0x** oppure da registro a registro, ripesttivamente nelle righe 8,9,10,11

Nei prossimi post vedremo e capiremo come comportarci con le assegnazioni da e verso la memoria, piuttosto che registri.

 

 

Letto 353 volte
Prof. Alfredo Centinaro

Docente di "Scienze e tecnologie informatiche", "Tecnologie e progettazione di sistemi informatici", "Sistemi e Reti" presso IIS Alessandrini-Marino (Teramo), consulente e sviluppatore web. Ha collaborato per anni come sviluppatore presso MHT - Treviso, assistente Sistemi ed elaborazione dell'informazione in UniTE Corso di laurea in Scienze del turismo culturale, tutor presso Telecom Italia Learning Services (L'Aquila)

Joomla SEF URLs by Artio