• Inicio
  • Buscar
  • Ingresar
  • Registrarse

    Starfield: el juego que revolucionará el espacio y la tecnología

    • Hack x Crack - Comunidad de Seguridad informática »
    • Programación »
    • ASM »
    • Ayuda, No me funciona un programa sencillo de suma de registros
    • Imprimir
    Páginas: [1]   Ir Abajo

    Autor Tema: Ayuda, No me funciona un programa sencillo de suma de registros  (Leído 15044 veces)

    Desconectado doommachine

    • { L3 } Über
    • ***
    • Mensajes: 218
      • Ver Perfil
    Ayuda, No me funciona un programa sencillo de suma de registros
    « en: Mayo 15, 2016, 08:06:42 am »
    Muy buenas a todos estoy usando asm x86, hice mi primer programa en ensamblador y no funciona, consiste en meter valores en AX y BX y luego sumarlos dentro de  AX.

    Estoy usando el "debug" de windows xp para programar,

    primero comencé con el comando  "-r"  de "debug" para mostrar todos los registros, AX y BX estan en "0000".
    Luego use el comando "-a" para iniciar el ensamblado en "0100".

    luego escribí todo el código para sumar y luego interrumpir:

    todo esto es hecho en el debug de windows xp

    Código: ASM
    1. mov ax,0002 ;coloca el valor 0002 en el registro ax
    2. mov bx,0004 ;coloca el valor 0004 en el registro bx
    3. add ax,bx ;le adiciona al contenido de ax el contenido de bx
    4. int 20 ; provoca la terminación del programa.
    5.  

    Luego el comando "-g" para ejecutar el programa, se ejecuta correctamente, pero luego al escribir "-r" para ver los registros, los registros AX y BX siguen en "0000" cuando deberia estar AX en "0006" y BX en "0004", no se porque no funciona la suma o el programa.

    Aquí una captura del proceso:


    ¿Alguien tiene idea que porque no muestra los resultados correctos?
    « Última modificación: Mayo 15, 2016, 08:24:34 am por doommachine »
    En línea

    Desconectado FlaskBreaker

    • { L0 } Ñuub
    • Mensajes: 7
      • Ver Perfil
    Re:Ayuda, No me funciona un programa sencillo de suma de registros
    « Respuesta #1 en: Mayo 15, 2016, 01:12:17 pm »
    No sé cómo funciona el comando debug de Windows XP, pero si miras los registros, el IP (Instruction Pointer), apunta a la dirección 0x100, es decir, a la dirección de la instrucción mov ax, 0002 (que aún no se ha ejecutado).
    Conclusión, no ha ejecutado el programa.

    Tips por si alguno lo arregla/sirve de ayuda:
    • Quizá resetea el programa, prueba a poner un breakpoint en la línea de int 20.
    • Prueba a usar t (trace), para ejecutar instrucción a instrucción.
    • Prueba a usar otra vez g, después de ejecutarlo una vez.
    « Última modificación: Mayo 15, 2016, 01:25:36 pm por FlaskBreaker »
    En línea

    Desconectado hackmundy

    • { L3 } Über
    • ***
    • Mensajes: 196
      • Ver Perfil
      • [H]ACKMUNDY - [L]ABS
    Re:Ayuda, No me funciona un programa sencillo de suma de registros
    « Respuesta #2 en: Julio 15, 2016, 07:20:38 am »
    Yo recien estoy aprendiendo ASM por la universidad recien voy por el add programamos con MIPS32, bueno para sumar hacemos lo siguiente
    a=b[5]+c

    lw $t0,5($s1)
    add $t1,$s1,$s2

    en $t1 se almacenara el registro.

    saludos
    En línea
    Un Hacker sabe de la materia;
    Un Lamer cree Saberlo;
    Y Yo solo Aprendo..

    Desconectado edilber

    • Y2K-Bug
    • { L0 } Ñuub
    • Mensajes: 5
      • Ver Perfil
    Re:Ayuda, No me funciona un programa sencillo de suma de registros
    « Respuesta #3 en: Abril 26, 2017, 02:38:26 am »
    Que tal amigo, disculpa si respondo fuera de tiempo, pero para clarificar la duda y abrir nuevos motivos para seguir programando en este lenguaje posteo lo que yo considero está el error, cuando ejecutas con -g debes especificar hasta que segmento de memoria debes aplicar la ejecución, en este caso sería -g108, con esto debería mostrarte los cambios en cada registro.

    Saludos!!!
    En línea
    Si no puedes explicar algo de forma sencilla, entonces tu no lo entiendes bien. Albert Einstein

    Desconectado b10s_0v3rr1d3

    • Administrador
    • { L6 } Flooder del foro
    • ******
    • Mensajes: 885
    • why not die?
      • Ver Perfil
      • c0d3-l4bs
    Re:Ayuda, No me funciona un programa sencillo de suma de registros
    « Respuesta #4 en: Mayo 11, 2017, 07:40:12 pm »
    @doommachine: para lo que quieres hacer, tienes que usar el 'p' y veras como lo executa linea por linea ;)

    los 0's que pones en los valores no te hacen falta, como en el "a0100" puedes ponerlo como "a100" que es lo mismo.
    el int 20 del final no te hace falta tampoco si lo que quieres es hacer pruebas de este tipo, lo que si que para programar en ello no te recomendaria el debug precisamente xD

    nos leemos :P
    « Última modificación: Mayo 11, 2017, 07:42:35 pm por b10s_0v3rr1d3 »
    En línea

    Desconectado alanchoo

    • { L0 } Ñuub
    • Mensajes: 1
      • Ver Perfil
    Re:Ayuda, No me funciona un programa sencillo de suma de registros
    « Respuesta #5 en: Noviembre 19, 2018, 06:18:48 am »
    Después de usar -a para ensamblar tu código
    tienes que poner -r para ver los registros iniciales
    Luego, poner puros -t para ejecutar línea por línea

    Saludos
    En línea

    Desconectado mundonuevo

    • { L0 } Ñuub
    • Mensajes: 12
      • Ver Perfil
    Re:Ayuda, No me funciona un programa sencillo de suma de registros
    « Respuesta #6 en: Marzo 25, 2021, 11:49:32 pm »
    revisa bien el registro del los ips
    En línea

    • Imprimir
    Páginas: [1]   Ir Arriba
    • Hack x Crack - Comunidad de Seguridad informática »
    • Programación »
    • ASM »
    • Ayuda, No me funciona un programa sencillo de suma de registros
     

    • SMF | SMF © 2013, Simple Machines
    • XHTML
    • RSS
    • WAP2
    Va un mudo y le dice a un sordo: Hack x Crack usa cookies. Pues eso... Learn more