3 votos

Excepciones y banderas x86

por favor, sé que cuando, por ejemplo, la división por cero, el aproptiate indicador se establece en la CPU de la flag de registro. Pero hoy he leído que hay especial de vectores de interrupción (creo que los primeros 16 en IVT) que se utilizan para las condiciones tales como la división por cero. Así, lo que yo quiero preguntar es, ¿ cualquier situación que los cursos de cambio som flag también desencadena el apropiado interrupción? Porque en la escuela, hemos utilizado el condicional saltos que comprueba el tiempo de llevar la flag se ha establecido o no, y yo no recuerdo que hubo algunos interrumpir triggerd por que. Así que estoy muy confundido ahora.

3voto

warren Puntos 12172

Hay dos tipos de interrupciones.

El primer tipo son las interrupciones para la señalización de eventos de hardware, al igual que el temporizador de hardware ha transcurrido o que el controlador de disco duro ha terminado de transferir los datos a la memoria.

El segundo tipo son las interrupciones para la señalización de algunos condición inesperada. Algunos ejemplos son: el acceso a la memoria no válida, la división por cero (en realidad, se trata de "desbordamiento de división" que se produce no sólo cuando se divide por cero, pero incluso cuando se divide un valor muy grande por un valor muy pequeño), instrucción de punto de ruptura, breakpoint de hardware, etc. Este tipo de excepciones planteadas por la CPU cuando no se puede completar la instrucción en curso y suelen resultar en la terminación del proceso actual o romper en el depurador. En realidad son ajenos a la CPU banderas, que contenga los resultados de la última instrucción.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: