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.
Сам сидел составлял не знаю правильно или нет
DOC-файл удален. Читаем правила...