Estoy tratando de dividir dos números en el ensamblaje. Estoy trabajando en la asamblea de Irvine para el libro de computadoras inteligentes y no puedo hacer que la división funcione por mi vida.overm division overflow
Aquí está mi código
.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
Dónde WriteDec debe escribir cualquier número que se encuentra en el registro EAX (debe estar configurado en el cociente después de la llamada división). En cambio, cada vez que lo ejecuto, se bloquea el estudio visual (sin embargo, el programa sí compila).
Puede usted paso a través de él en el depurador de Visual Studio? ¿Qué tan lejos llegar si ingresas en cada instrucción? –
Excepción no controlada en 0x00401075 en Project.exe: 0xC0000095: desbordamiento de enteros. sucede justo después de la llamada a div. –
Si divide por 2 y le interesa el rendimiento, puede considerar usar SHR. –