Для начала разработаем блок-схему
1 Находим максималтный элемент
2 Находим минимальный элемент
3 Находим их разность
Теперь работаем :
data
caption db "prog",0
text db "результат = %d",0
tr db 100 DUP(?)
n dd 5,3,8,1,4,2,6,4,11,7
min dd 0
max dd 0
code
main:
mov esi,0
mov ecx,10
mov eax,[n+esi]
mov [min],eax
l1:
mov eax,[n+esi]
cmp eax,[min]
jnl m1
mov [min],eax
m1:
add esi,4
loop l1
invoke wsprintfA, addr tr, addr text,[min] ;находим минимум
invoke MessageBox, 0, addr tr, addr caption, 0
mov esi,0
mov ecx,10
mov eax,[n+esi]
mov [max],eax
l2:
mov eax,[n+esi]
cmp eax,[max]
jng m2
mov [max],eax
m2:
add esi,4
loop l2
invoke wsprintfA, addr tr, addr text,[max]
invoke MessageBox, 0, addr tr, addr caption, 0 ;находим максимум
mov eax,[min]
mov ebx,[max]
sub eax,ebx
invoke wsprintfA, addr tr, addr text,[min]
invoke MessageBox, 0, addr tr, addr caption, 0 ;находим их разность
invoke ExitProcess,0
end main
Вот и все.