Red de conocimiento informático - Conocimiento sistemático - Programa en lenguaje ensamblador: ¿Por qué al depurar con debug, después de ejecutar -g, -d no puede mostrar el resultado final, pero -d13cb puede mostrar el resultado?

Programa en lenguaje ensamblador: ¿Por qué al depurar con debug, después de ejecutar -g, -d no puede mostrar el resultado final, pero -d13cb puede mostrar el resultado?

Cuando se ejecuta directamente con el comando -g, la instrucción RET debe ejecutarse antes de que finalice el programa. Sin embargo, después de ejecutar la instrucción RET, las direcciones de cada segmento del programa cambiarán, haciendo imposible. Localice los datos originales en el valor del segmento.

Se recomienda que cuando utilice el comando -g para ejecutar, sea mejor encontrar la dirección del punto de interrupción. Por ejemplo, la dirección del punto de interrupción en esta pregunta es la dirección de desplazamiento 0029H donde se encuentra la instrucción RET. , por lo que se debe usar el comando -g = 0 para la ejecución 0029, para que la instrucción RET no se ejecute, y puede usar -d 0 para ver el resultado sin agregar la dirección del segmento de datos después del comando d. Pruébalo.