elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Duda debug - MS-DOS
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda debug - MS-DOS  (Leído 5,343 veces)
criskapunk

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Duda debug - MS-DOS
« en: 15 Agosto 2010, 02:59 am »

Buenas chicos, tengo una duda.

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

Código
  1. mov ax, 0002
  2. mov bx, 0004
  3. add ax, bx
  4. int 20

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

Código:
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 ;)


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Duda debug - MS-DOS
« Respuesta #1 en: 15 Agosto 2010, 12:13 pm »

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) ...


En línea

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

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: Duda debug - MS-DOS
« Respuesta #2 en: 15 Agosto 2010, 16:18 pm »

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 :)
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Duda debug - MS-DOS
« Respuesta #3 en: 15 Agosto 2010, 18:28 pm »

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 ...
En línea

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

Desconectado Desconectado

Mensajes: 277



Ver Perfil
Re: Duda debug - MS-DOS
« Respuesta #4 en: 15 Agosto 2010, 18:39 pm »

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 ;)
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Duda debug - MS-DOS
« Respuesta #5 en: 15 Agosto 2010, 20:50 pm »

De nadas  ::)
En línea

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
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
duda: Debug string
Ingeniería Inversa
.:UND3R:. 6 3,304 Último mensaje 23 Agosto 2011, 20:40 pm
por apuromafo CLS
Debug c++
Programación C/C++
inewcl 2 2,092 Último mensaje 7 Noviembre 2016, 16:53 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines