Test Foro de elhacker.net SMF 2.1

Programación => Programación General => 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 (asm) [Seleccionar]

.section .data
hola_mundo:
                    .byte 'H', 'o', 'l', 'a', ',', ' ', 'M','u','n','d','o', 0xa

.section .text
.globl _start
_start:
movl $4, %eax
movl $1, %ebx
movl $12, %edx
movl $hola_mundo, %ecx
int $0x80

movl $1, %eax
movl $0, %ebx
int $0x80
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 (asm) [Seleccionar]
include "win32ax.inc"

.data
titulo db "Hola, soy el título",0
cuerpo db "Hola, soy el cuerpo",0

.code

start:
        push 0
        push cuerpo
        push titulo
        push 0
        call [MessageBoxA]

        push 0
        call [ExitProcess]

.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
Cita de: danyelk_6u5 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:

Vete al Entry Point de Eternal Idol.