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