Próbuję podzielić dwie liczby w zespole. Pracuję nad zbiorem Irvine dla książek o komputerach inteligencji i nie mogę dzielić działów na całe życie.przepełnienie podziału masm
Oto mój kod
.code
main PROC
call division
exit
main ENDP
division PROC
mov eax, 4
mov ebx, 2
div ebx
call WriteDec
ret
divison ENDP
END main
Gdzie WriteDec powinien napisać cokolwiek numer w rejestrze eax (powinien być ustawiony na iloraz po wywołaniu dział). Zamiast tego za każdym razem, gdy go uruchamiam, studio graficzne ulega awarii (program się jednak kompiluje).
można wejść przez nią w Visual Studio debugera? Jak daleko zajdziesz, jeśli weźmiesz udział w każdej instrukcji? –
Nieobsługiwany wyjątek przy 0x00401075 w Project.exe: 0xC0000095: Przepełnienie Integer. Zdarza się zaraz po wywołaniu div. –
Jeśli dzielisz przez 2 i jesteś zainteresowany wydajnością, możesz rozważyć użycie SHR. –