Zdravím, spravil som jednoduchý algoritmus, ktorý nájde najbližšie číslo v zadanom intervale... Má niekto lepší nápad ako na to? :)
TITLE MASM Template(main.asm)
INCLUDE Irvine32.inc
.data
retazec DB "Najblizsie cislo je : ", 0
.code
main PROC
call Clrscr
mov edi, 1
mov ebx, -1
call ReadInt
push eax; nacitaj interval od
call ReadInt; nacitaj interval do
push eax
call ReadInt; nacitaj cislo x
push eax
HladajKladne : mov eax, [ESP]; cislo x
add eax, edi
cmp eax, [ESP + 4]; intervalDo
ja HladajZaporne
cmp eax, [ESP + 8]; intervalOd
jb HladajZaporne
jmp Koniec
HladajZaporne : mov eax, [ESP]
add eax, ebx
cmp eax, [ESP + 4]
ja Uprav
cmp eax, [ESP + 8]
jb Uprav
jmp Koniec
Uprav: inc edi
dec ebx
jmp HladajKladne
Koniec : mov edx, offset retazec
call WriteString
call WriteInt
call ReadChar
exit
main ENDP
END main
.stack