elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Sintaxis FASM
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Sintaxis FASM  (Leído 10,676 veces)
Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Sintaxis FASM
« Respuesta #10 en: 8 Julio 2009, 23:32 pm »

Ok, todo bien, pero un par de cosas:

ese "xor cl, cl" pone a cero el registro verdad?
porque usas el registro "cl"?
porque pones "byte" delante de [Numero1]?
que hace exactamnt ese "ret"?

Gracias, y por cierto, en primer codigo q ha posteado Erik# no lo compila el FASM,
de hecho tengo la duda de que se pueda hacer un "pop" a una variable definida en .data
es posible?

Gracias y un saludo!
Estan caros los manuales de ASM que no se leen uno ? ¬¬'

xor cl,cl pone cl en 0.

Uso el registro cl por que se me da la regalada gana , podria usar al ,ah,ch,etc.. ( Siempre de tamaño de un byte ya que estoy trabajdno con un byte)

El byte antes de los corchetes es para expesificar el tamaño que quiero.

ret según lo que yo se saca EIP de la pila  y lo restaura :P


xD ¿Regalada gana? que vocabulario tan completo. (vés como al es de 1 byte :P(8 bits)).

Código
  1. format pe console
  2. entry start
  3. include 'win32ax.inc'
  4. Numero1 dd 3
  5. Numero2 dd 9
  6. Numero3 dd ?
  7. formato db '%d',0
  8. .code
  9. start:
  10. xor cl,cl
  11. mov cl,byte[Numero1]
  12. add cl,byte[Numero2]
  13. mov byte[Numero2],cl
  14. push [Numero2]
  15. push formato
  16. call [printf]
  17. add esp,8
  18. call [getchar]
  19. ret
  20. section '.idata' import data readable
  21. library msvcrt,'msvcrt.dll'
  22. import msvcrt,printf,'printf',getchar,'_fgetchar'

¿Porque no trabajas con dd? son usados para numeros, van genial, ya te digo que con db no vas a poder sumar mucho (:


En línea

ferk93

Desconectado Desconectado

Mensajes: 28


Ver Perfil
Re: Sintaxis FASM
« Respuesta #11 en: 8 Julio 2009, 23:38 pm »

Ok,  gracias a los dos y ya nos veRemos q me da q voy a tener muchas dudas con esto del ASM.


En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Sintaxis FASM
« Respuesta #12 en: 8 Julio 2009, 23:41 pm »

Ok,  gracias a los dos y ya nos veRemos q me da q voy a tener muchas dudas con esto del ASM.

De nada, ya sabes, cualquier duda, todos los programadores de asm (no me incluyo xD) te podran ayudar y los usuarios noobs como yo en asm tambien :) ¬¬ ya no soy tan noob xd
En línea

YST


Desconectado Desconectado

Mensajes: 965


I'm you


Ver Perfil WWW
Re: Sintaxis FASM
« Respuesta #13 en: 9 Julio 2009, 04:03 am »

Es ridiculo usar cl si estas trabajando con dword :xD .
Código
  1. format pe console
  2. entry start
  3. include 'win32ax.inc'
  4. Numero1 dd 3
  5. Numero2 dd 9
  6. Numero3 dd ?
  7. formato db '%d',0
  8. .code
  9. start:
  10. xor ecx,ecx
  11. mov ecx,dword[Numero1]
  12. add ecx,dword[Numero2]
  13. mov [Numero3],ecx
  14. cinvoke printf,formato,[Numero3]
  15. invoke getchar
  16. ret
  17. section '.idata' import data readable
  18. library msvcrt,'msvcrt.dll'
  19. import msvcrt,printf,'printf',getchar,'_fgetchar'                  
« Última modificación: 9 Julio 2009, 04:10 am por YST » En línea



Yo le enseñe a Kayser a usar objetos en ASM
Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Sintaxis FASM
« Respuesta #14 en: 9 Julio 2009, 09:37 am »

Es ridiculo usar cl si estas trabajando con dword :xD .
Código
  1. format pe console
  2. entry start
  3. include 'win32ax.inc'
  4. Numero1 dd 3
  5. Numero2 dd 9
  6. Numero3 dd ?
  7. formato db '%d',0
  8. .code
  9. start:
  10. xor ecx,ecx
  11. mov ecx,dword[Numero1]
  12. add ecx,dword[Numero2]
  13. mov [Numero3],ecx
  14. cinvoke printf,formato,[Numero3]
  15. invoke getchar
  16. ret
  17. section '.idata' import data readable
  18. library msvcrt,'msvcrt.dll'
  19. import msvcrt,printf,'printf',getchar,'_fgetchar'                  

Pero sin indicarle que son dword, funciona :P
En línea

YST


Desconectado Desconectado

Mensajes: 965


I'm you


Ver Perfil WWW
Re: Sintaxis FASM
« Respuesta #15 en: 9 Julio 2009, 09:50 am »

Pero es lo mismo solamente que el ensamblador te lo detecta , no ahorras ni un byte :P .
En línea



Yo le enseñe a Kayser a usar objetos en ASM
Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Sintaxis FASM
« Respuesta #16 en: 9 Julio 2009, 09:57 am »

Pero es lo mismo solamente que el ensamblador te lo detecta , no ahorras ni un byte :P .

Tambien es una forma de economizar xD! Voy a mirarlo en los procesos.

EDIT: La diferencia de uso de bytes es muy pequeña, casi ni se nota :)
« Última modificación: 9 Julio 2009, 12:51 pm por Erik# » En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
bubblesort en fasm
ASM
dewolo 5 6,051 Último mensaje 21 Junio 2011, 21:56 pm
por _Enko
Funciones en FASM
ASM
fary 2 4,705 Último mensaje 28 Septiembre 2011, 21:48 pm
por fary
urldownloadtofile FASM
ASM
rmdma() 8 5,278 Último mensaje 20 Febrero 2012, 21:11 pm
por Eternal Idol
fasm consola « 1 2 3 »
ASM
bengy 24 14,083 Último mensaje 15 Junio 2014, 01:04 am
por Eternal Idol
Cadenas en FASM
ASM
Yuki 3 3,539 Último mensaje 6 Mayo 2016, 10:28 am
por fary
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines