; ric_min.asm

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 
; - asm2html -