Duda debug - MS-DOS

Iniciado por criskapunk, 15 Agosto 2010, 02:59 AM

0 Miembros y 3 Visitantes están viendo este tema.

criskapunk

Buenas chicos, tengo una duda.

Estoy leyendo un manual sobre ensamblador, donde hago lo siguiente (Usando debug de ms-dos)

Código (asm) [Seleccionar]
mov ax, 0002
mov bx, 0004
add ax, bx
int 20


El problema lo tengo cuando uso el comando r para ver el valor de los registros, que me devuelve:

AX=0000 BX=0000

Cuando (segun entiendo) deberia devolverme ax=0006 bx=0004.
El mismo problema tengo al ejecutar rax o rbx para ver el valor de los registros por separado. Sin embargo, si utilizo el comando g (Junto con la direccion de memoria donde esta int 20), puedo ver el valor correctamente.

Que estoy haciendo mal?

Un saludo y gracias ;)

Eternal Idol

AX sera 2 y BX 4 DESPUES de ejecutar las 2 primeras instrucciones y ANTES de ejecutar la tercera.

Usa p o t para ejecutar instruccion por instruccion y verlo.

PD. Si ejecutas hasta int 20 AX tiene que ser 6 (2 + 4) ...
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

criskapunk

Cuando utilizo el comando t o g (Este ultimo con la direccion de memoria donde esta int 20) puedo ver correctamente los valores.

El problema esta cuando (Segun el libro) utilizo el comando g para ejecutar el programa. Al parecer, despues de ejecutarlo y usar r para ver el valor de los registros, estos deberian mostrarme AX=0006 BX=0004, pero ambos estan en 0.

Gracias por la ayuda Eternal, y perdon por estas preguntas :)

Eternal Idol

Con g solo se ejecuta el programa completo, al ejecutar la instruccion ADD AX sera 6, despues ejecutar la interrupcion 20 puede cambiar los valores de los registros tambien ...
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

criskapunk

Ah ok! Esa era mi duda.

Entonces despues de ejecutar la interrupcion, los valores de los registros pueden volver a cambiar, devolviendo otro resultado.

Muchas gracias ;)

Eternal Idol

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón