Red de conocimientos turísticos - Información de alquiler - ¿Por qué el siguiente programa produce un error de desbordamiento de división?

¿Por qué el siguiente programa produce un error de desbordamiento de división?

La CPU puede desbordarse al ejecutar instrucciones de división.

Específicamente, cuando el divisor es cero, inevitablemente se producirá un desbordamiento de la división.

Además, el desbordamiento de división también ocurre cuando el bit de orden superior del divisor es mayor o igual que el divisor.

Cuando se ejecuta la instrucción DIV?BH, el cociente se almacenará en AL y no podrá exceder los 8 dígitos.

Pero tu cociente es 1000H, que supera los 8 dígitos, por lo que definitivamente se desbordará.

Por lo tanto, antes de ejecutar la instrucción DIV, primero debes hacer un juicio.

Un mejor enfoque es escribir un programa de división que "no se desborde".

La idea es la siguiente:

En la imagen de la derecha,

el divisor es 1A2B3C4DH, que tiene 32 bits.

El dividendo es: BL, sólo 8 bits.

El cociente es: 32 bits.

Siga los pasos de la figura, mientras BL no sea cero, nunca habrá desbordamiento.