Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: sbc10 en 6 Enero 2015, 22:09 pm



Título: YASM - Procedimientos
Publicado por: sbc10 en 6 Enero 2015, 22:09 pm
hola!
 :D

pregunta: se puede en YASM definir procedimientos como se hace en MASM?

asi:

mifuncion proc
.
.
.
mifuncion endp



Título: Re: YASM - Procedimientos
Publicado por: _Enko en 6 Enero 2015, 23:38 pm
Siendo supuestamente un rewrite de nasm... por lo menos en nasm es:
Código:
proc    _nearproc 

%$i     arg
%$j     arg
        mov     ax,[bp + %$i]
        mov     bx,[bp + %$j]
        add     ax,[bx]

endproc

Saludos.


Título: Re: YASM - Procedimientos
Publicado por: sbc10 en 7 Enero 2015, 08:56 am
gracias por responder.

pero no funciona, al compilar da error:

"error: instruction expected after label"

y si:aunque es un reescrito de nasm


Título: Re: YASM - Procedimientos
Publicado por: _Enko en 7 Enero 2015, 16:40 pm
Acabo de googlear rápido la documentacion de yasm... deja mucho que desear la cosa.

Es obligatorio que uses yasm? me da que con nasm vas a tener mejor resultados.

Si necesitas programar para linux, nasm y fasm te dan buenos resultados. Yo particularmente prefiero fasm, tiene buena documentacion y un monton de ejemplos en la red.

Saludos.


Título: Re: YASM - Procedimientos
Publicado por: sbc10 en 7 Enero 2015, 17:04 pm
gracias de nuevo por tu respuesta!

pues empece a mirar yasm porque parece ser lo ultimo de lo ultimo no? una nueva version de nasm y mejorada.

pero si me dices que fasm o el mismo nasm (nunca los probe) van bien, pues los mirare.

estoy mirando ensamblador para x64 en windows.

por cierto si: la ayuda del yasm deja bastante que desear.


Título: Re: YASM - Procedimientos
Publicado por: _Enko en 7 Enero 2015, 21:46 pm
El tema en los ensambladores es que las actualizaciones salen para agregar las instrucciones de hardware nuevo, por ejemplo  sse3,sse4; reparar algunos bugs. Pero funcionalidades nuevas, muy rara vez. Es un ensamblador, no un compilador. :)

Se que hay una muy buena documentacion y ejemplos para masm32-64. Y como es orientado a windows no vas a tener problemas alli. (es de microsoft)

Yo particularmente prefiero fasm:
http://flatassembler.net/docs.php

Principalmente por la idea de:
SSSO: Same Source Same Output. Es decir, a diferencia del masm que puedes pasarle parametros al ensamblador para que genere codigo diferente. En fasm se hace dentro del mismo codigo fuente. Por eso que el mismo codigo fuente no requiere del programador pasarle parametros extra.

Y tambien en modo en que maneja direcciones de memoria y valores. (direccion de memoria, valor)
[variable] ---> valor
variable ----> direccion de memoria

A diferencia de masm que es:
variable---> valor
offset variable---> direccion de memoria.

Pero para gustos hay colores.

Saludos.


Título: Re: YASM - Procedimientos
Publicado por: sbc10 en 8 Enero 2015, 08:41 am
gracias! me sirvieron tus respuestas y esta ultima aclaracion. :)