SoloCodigo

Programación General => ASM (Ensamblador) => Mensaje iniciado por: snoopty en Jueves 1 de Diciembre de 2011, 04:54

Título: PROBLEMA CON UNA SESIÓN DEL DEBUG
Publicado por: snoopty en Jueves 1 de Diciembre de 2011, 04:54
 :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.
Título: Re:PROBLEMA CON UNA SESIÓN DEL DEBUG
Publicado por: Eternal Idol en Sábado 3 de Diciembre de 2011, 21:55
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.
Título: Re:PROBLEMA CON UNA SESIÓN DEL DEBUG
Publicado por: snoopty en Domingo 4 de Diciembre de 2011, 20:17
Gracias x responder. Saludos.
Título: Re:PROBLEMA CON UNA SESIÓN DEL DEBUG
Publicado por: Eternal Idol en Domingo 4 de Diciembre de 2011, 22:08
De nadas  :ball: