IDEAL
MODEL small
STACK 100h
DATASEG
; --------------------------
; Your variables here
; --------------------------
array1 db 30,23,50,7,3


CODESEG
start:
	mov ax, @data
	mov ds, ax

; bx+si will point to the current cell. dl holds the smallest, al holds the index of the smallest	
    mov bx, offset array1
    xor ax,ax
    xor si,si
    mov dl,[bx]          ; assuming the first is the smallest
    mov cx, 4
smallest:
    inc si
    cmp [bx+si], dl
    jae cont1
    mov dl,[bx+si]       ; we found smaller, switch
    mov ax,si
cont1:    
    loop smallest
    mov dl,al
    add dl,30h
    mov ah,2h
    int 21h
    	
; --------------------------
; Your code here
; --------------------------
	
exit:
	mov ax, 4c00h
	int 21h
END start