domingo, 11 de noviembre de 2012

Compilar Assembler x86 en Linux 64bits

Bueno, acá en la universidad en la que estoy de intercambio estamos intentando aprender ensamblador para procesadores 8086, así es, lo básico de lo básico.

Bueno, el primer pedo!!! Así es, el pedoo,, es que en las máquinas de la universidad, los trastos de la prehistoria corren Windows XP x86, joder. Y yo tengo sólo sistemas operativos x64.

Bien, al rendirme de usar Tasm y Tlink en Windows 7 x64 decidí por usar mi siempre fiel Ubuntu x64.

Y los problemas como siempre, de compilación y de linkeo.

Pero basta de eso, aquí te pongo los pasos para que ejecutes un Hellow World en Linux x64.


Primero, el codigo de nuestro Hellow World:
section .text

    global _start   ;must be declared for linker (ld)

_start:     ;tell linker entry point

  mov edx,len ;message length
 mov ecx,msg ;message to write
 mov ebx,1 ;file descriptor (stdout)
 mov eax,4 ;system call number (sys_write)
 int 0x80 ;call kernel

  mov eax,1 ;system call number (sys_exit)
 int 0x80 ;call kernel

section .data

msg db 'Hello, world!',0xa ;our dear string
len equ $ - msg   ;length of our dear string

Descarga aqui.


Descargamos YASM de aqui o de su web oficial e instalamos el .deb

O para el NASM:
sudo apt-get install nasm


Ahora, podemos usar dos compiladores. NASM y YASM. El segundo es una ampliación del primero, y es el que recomiendo.

Compilamos:


yasm -f elf hello.asm



Linkeamos:


ld -m elf_i386 -s -o hello hello.o




Ejecutamos:


./hello






Recuerda, si usas NASM en lugar de YASM solo tienes que compilar así, el linkeo es igual:
nasm -f elf hello.asm





TAGS:

  • TLINK
  • TASM
  • YASM
  • NASM
  • Assembler 8086

1 comentario:

  1. ¿Que putas chingadas madres dijiste de mí , pinche youkai baboso? para que te sepas yo entrené en el templo de Hakurei , tengo un record de 50 muertes, fui a la mansión Scarlet sin recibir un rasguño y soy la humana mas temida en todo Gensokyo , ¿sabes que significa eso? que puedo volar tu pinche cabecita hueca con una spellcard que estoy preparando especialmente para tí , y no sólo eso también soy experta en el manejo de danmaku y tengo acceso a todo un arsernal de spellcards , si tan solo hubieras pensado un poquito más y no hubieras abierto el pinche hocico de youkai que tienes, no tendrías que rezar por tu vida.

    En estos momentos estoy rastreando tu dirección IP para ubicar tu templo , te vas a cagar cuando me veas con un chingo de spellcards esperando en la entrada de tu templo para acribillarte , soy la humana mas fuerte de Gensokyo y soy muy temeraria, se hacer muy bien su trabajo y estoy dispuesta a exterminar hasta la ultima puta celúla más pequeña e insignificante de tu puta miserable existencia, escucha bien mis palabras youkai, que ya no hay vuelta atrás , vete despidiendo de tu miserable vida cabrón, voy a convertir tu vida en un viaje al Higan, estás bien pinche muerto youkai miserable, estás bien pinche muerto.

    ResponderEliminar