Dati SEGMENT
Vett DB 5,3,1,6,4,10,8,2,7,9 ; vettore di numeri su cui cercare il minimo
Minimo DB ? ; il minimo viene messo in Minimo
Dati ENDS
Codice SEGMENT
Inizio:
MOV AX,Dati ; setta la posizione del segmento DS
MOV DS,AX
MOV CX,10d ; pone il numero di elementi da scandire
MOV BX, Offset Vett ; punta con BX all'inizio del vettore di numeri
MOV AL,[BX] ; ipotizza il numero in prima posizione come minimo
MOV Minimo,AL ; lo passa in Minimo
; (variabile che contiene il corrente minimo candidato)
Ciclo:
INC BX ; sposta il puntatore al successivo elemento del vettore
MOV AL,[BX]
CMP Minimo,AL ; controlla se l'elemento corrente è minore del minimo candidato
JNA Non_Sost ; se non lo è salta la riassegnazione del minimo corrente
MOV AL,[BX] ; riassegnazione del minimo corrente
MOV Minimo,AL
Non_Sost:
LOOP Ciclo ; cicla su un altro elemento di vett
MOV AH,4Ch ; ritorno a DOS....
INT 21h
Codice ENDS
END Inizio