Lunedì, 27 Novembre 2017 20:25

Esempio 13: blocco condizionale if

Scritto da

Ora è il turno di complicarci un po' la vita e vedere come funziona un classico IF, struttura condizionale molto semplice con i linguaggi ad alto livello mentre su assembler si richiede un "salto". Vediamo come.

; esempio 13
; blocco condizione if

;if (condition) then
; do_action;

; si trasforma un po' in qualcosa tipo questo:

;if not (condition) then goto end;
;  do_action;
;end:


.STACK
.DATA
x dw 1
y dw 2

.CODE
.STARTUP

; if(x <= y)
; {
;    x++;
; }


MOV ax, x                     ;move x into eax
CMP ax, y                     ;compare eax with y
JG end                          ;jump if greater than
INC ax
MOV x, ax                     ;increment x
end:

;Instruction     Meaning
;JNE         Jump if not equal !=
;JE         Jump if equal     ==
;JG         Jump if greater    >
;JLE         Jump if less than or equal <=
;JL         Jump if less than <
;JGE         Jump if greater or equal >=

Letto 255 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