• Jueves 28 de Marzo de 2024, 10:06

Autor Tema:  PROBLEMA CON UNA SESIÓN DEL DEBUG  (Leído 2839 veces)

snoopty

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
PROBLEMA CON UNA SESIÓN DEL DEBUG
« en: Jueves 1 de Diciembre de 2011, 04:54 »
0
 :think:
La siguiente sesión de debug me plantea dos incógnitas:
1) Porqué si ingreso el valor 100d (ya qué push sólo guarda valores, es decir números, y por defecto 100 omitiendo sigla alguna está en decimal)
no debería aparecer en alguna instancia del debug su equivalente en HEXA, es decir, 64 ?
2) Mi otra consulta tiene que ver con el decremento de la posición de memoria: si en un principio era 100, porqué si hay un solo push ((( y de hecho el PUSH ya decrementó el SP original ( FFEE ) en 2 ( FFEC ) ))) el siguiente offset apunta a 104 ?
-a100
0CEB:0100 push[100]
0CEB:0104
-r
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0CEB ES=0CEB SS=0CEB CS=0CEB IP=0100 NV UP EI PL NZ NA PO NC
0CEB:0100 FF360001 PUSH [0100] DS:0100=36FF
-dss:ffe0 l10
0CEB:FFE0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
-t
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEC BP=0000 SI=0000 DI=0000
DS=0CEB ES=0CEB SS=0CEB CS=0CEB IP=0104 NV UP EI PL NZ NA PO NC
0CEB:0104 7465 JZ 016B
-dss:ffe0 l10
0CEB:FFE0 00 00 00 00 00 00 04 01-EB 0C 25 07 FF 36 00 00 ..........%..6..
-q
 :flower:Gracias x leer el mensaje.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re:PROBLEMA CON UNA SESIÓN DEL DEBUG
« Respuesta #1 en: Sábado 3 de Diciembre de 2011, 21:55 »
0
1) Estas empujando el contenido de la direccion 0x100 en la pila. push word ptr [0100h]. Por eso dice esto:
0CEB:0100 FF360001 PUSH [0100] DS:0100=36FF

Y lo podes ver despues en la misma pila:
0CEB:FFE0 00 00 00 00 00 00 04 01-EB 0C 25 07 FF 36 00 00 ..........%..6..

Si queres empujar el numero 100 en decimal ensambla:
Código: ASM
  1. mov ax, 64
  2. push ax

2) Estas confundiendo la pila con el codigo, push word ptr [100] ocupa 4 bytes en codigo maquina, podes comprobarlo asi:
-u 100
0CEB:0100 FF360001      PUSH  [0100]

Por eso despues de ejecutar esa instruccion pasa de 0100h a 0104h.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

snoopty

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re:PROBLEMA CON UNA SESIÓN DEL DEBUG
« Respuesta #2 en: Domingo 4 de Diciembre de 2011, 20:17 »
0
Gracias x responder. Saludos.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re:PROBLEMA CON UNA SESIÓN DEL DEBUG
« Respuesta #3 en: Domingo 4 de Diciembre de 2011, 22:08 »
0
De nadas  :ball:

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.