Ejemplos MASM611

Iniciado por PamiLi, 23 Noviembre 2012, 03:04 AM

0 Miembros y 1 Visitante están viendo este tema.

PamiLi

Hola :)

Estoy teniendo problemas para encontrar ejemplos del MASM6.11, más que nada necesito de las Directivas condicionales (IF, ELSE, ENDIF), bloques de repetición (WHILE, FOR, FORC, REPEAT) y de las directivas PROTO, INVOKE, ADDR, PROC.

Cuando hago la búsqueda de las condicionales y repetición me manda a todas las páginas donde dicen que en el MASM no se permiten de esa forma y, por lo tanto, tenemos que programarlos paso a paso en ensamblador.

Si tienen ejemplos sencillos de un programa que use esas directivas, se los agradecería. No tardo mucho en aprender pero sin algo en que guiarme sólo termino desesperandome  :(

Agradezco de antemano a quien me apoye con mi problema educacional  :-(

Nop+

No se si te entendí bien, pero quieres ver como funcionan estas directivas?

Basicamente haría un bucle de diez repeticiones, en el cual simplemente incrementaría eax , una vez dentro del bucle comprueba si hemos llegado a cinco, en ese momento saca una ventana con un mensaje y si todavía no hemos llegado muestra otro mensaje

.while eax <10

     .if  eax == 5

            invoke  MessageBox hWin, addr Mensaje, addr ttitulo, MB_OK
     .else

           invoke  MessageBox hWin, addr Mensaje2, addr ttitulo, MB_OK
           
     .endif

    inc eax
   
.endw

Otro bucle con Repeat... simplemente cuenta hasta 100

.repeat

   inc ebx

.until ebx <100

invoke ya te habrás dado cuenta que sirve para hacer una llamada a una función API de windows


la información sobre estas directivas la puedes encontrar en muchos sitios y libros, en multitud de tutoriales de ensamblador

Un libro muy recomendable es el de Francisco charte Ojeda, seguro que te despeja multitud de dudas