Народ помогите составить блок схему и алгоритм программы

program MinMax;
var
  a: array[1..10] of Integer;
  i, Min, Max: Integer;
begin
  randomize;
  for i := 1 to 10 do
 begin
      a[i] := 1+Random(100);
      Write(a[i], ' ');
  end;
  Writeln;

  asm
    lea si,a {Загрузка эффективного адреса  а  память }
    lodsw  {Записываем в регистр АХ содержимое слова памяти}   
    mov bx,ax {В регистр bx помещается регистр ax }
    mov dx,ax {В регистр dx помещается регистр ax }
    mov cx,9 {В регистр cx помещается кол-во 9 натуральных чисел}
  @1:
    lodsw
    cmp ax,bx {Сравниваем два операнда ax и bx}
    jge @2 { переход знаковых чисел, если первый операнд больше либо равен второго}
    mov bx,ax {В регистр bx помещается регистр ax }
  @2:
    cmp ax,dx {Сравниваем два операнда ax и dx}
    jle @3  { переход знаковых чисел, если первый операнд меньше либо равен второго} 
    mov dx,ax {В регистр dx помещается регистр ax }
  @3:
    loop @1
    mov Min,bx {В Min помещается регистр bx }
    mov Max,dx{В Max помещается регистр dx} 
  end

  Writeln('Min = ', Min);
  Writeln('Max = ', Max);

end.


Сам сидел составлял не знаю правильно или нет dry.gif

DOC-файл удален. Читаем правила...