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