Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: danielo- en 26 Marzo 2010, 18:16 pm



Título: Iniciando, desde -3
Publicado por: danielo- en 26 Marzo 2010, 18:16 pm
Hola, bueno pues si, no se nada de ensamblador, solo se que tengo ganas de aprender, programo en java, y se que el lenguaje ensamblador es otro mundo, quiero que me guien un poco antes de mandarme a links y libros, que me aclaren alguna duda.
Pues como programador en java se que tengo que instalar la jvm, y para ensamblador... tengo que instalar algo?? :huh:... en java existe eclipse... en ensamblador tengo....algo??? :huh:

se que las comparaciones talvez suenen tontas, pero esque no se ni por donde empezar... :rolleyes:

alguna recomendación o tip?  :rolleyes:

y!...si no es mucha molestia, algun "hola mundo"...

pienso programar en linux, procesador intel inside de 64 bits... Disculpen que les pregunte algo asi, pero de verdad que empiezo de -3 ... :rolleyes:

Gracias de antemano


Título: Re: Iniciando, desde -3
Publicado por: Eternal Idol en 26 Marzo 2010, 19:12 pm
Como ensamblador para Linux podes bajar NASM o FASM (para Windows MASM32), para escribir el codigo podes usar cualquier IDE.

Ejemplos de hello world podes encontrar en Google muchos, igual yo te recomendaria comprarte algun libro para arrancar


Título: Re: Iniciando, desde -3
Publicado por: 08l00D en 26 Marzo 2010, 19:19 pm
No tenes que instalar nada, supongo,  ya que cualquier distribucion de linux "como la gente" incluye las binutils (as, ld, etc, etc)..
aca te dejo un ejemplo simple del hola mundo, esta ensamblado con GAS...
Código
  1. .section .data
  2. hola_mundo:
  3.                     .byte 'H', 'o', 'l', 'a', ',', ' ', 'M','u','n','d','o', 0xa
  4.  
  5. .section .text
  6. .globl _start
  7. _start:
  8. movl $4, %eax
  9. movl $1, %ebx
  10. movl $12, %edx
  11. movl $hola_mundo, %ecx
  12. int $0x80
  13.  
  14. movl $1, %eax
  15. movl $0, %ebx
  16. int $0x80
  17.  


Título: Re: Iniciando, desde -3
Publicado por: E.P.I. en 26 Marzo 2010, 23:36 pm
Y si te gustan las API's de Windows, FASM:

Código
  1. include "win32ax.inc"
  2.  
  3. .data
  4. titulo db "Hola, soy el título",0
  5. cuerpo db "Hola, soy el cuerpo",0
  6.  
  7. .code
  8.  
  9. start:
  10.        push 0
  11.        push cuerpo
  12.        push titulo
  13.        push 0
  14.        call [MessageBoxA]
  15.  
  16.        push 0
  17.        call [ExitProcess]
  18.  
  19. .end start

Saludos  :D

PD: quería motivarme por lo poco que sé...


Título: Re: Iniciando, desde -3
Publicado por: danielo- en 27 Marzo 2010, 01:11 am
 ;D Genial! gracias por las respuestas, pero... tengo otra duda... Con que formato guardo? y... ¿Cómo lo ejecuto?   :o talvez suene tonto, pero esque de verdad no lo se. :silbar:


Título: Re: Iniciando, desde -3
Publicado por: E.P.I. en 27 Marzo 2010, 10:22 am
;D Genial! gracias por las respuestas, pero... tengo otra duda... Con que formato guardo? y... ¿Cómo lo ejecuto?   :o talvez suene tonto, pero esque de verdad no lo se. :silbar:

Vete al Entry Point de Eternal Idol.