On Mon, 21 Apr 2003 00:31:13 +0200
Lucas Nussbaum <lucas@???> wrote:
> > Créer un programme Hello, World!, le plus petit possible. Le
> > programme doit afficher Hello, World! à l'écran quand il est
> > appelé sans arguments. Il doit ensuite se terminer en renvoyant
> > au shell un code de retour de zéro. Tout ça sous Linux,
> > évidemment !
> $ wc -c hello
> 716 hello
Pas mal du tout, bonne idee.
Peut mieux faire? En C cela ne doit pas etre evident.
Aide par google, j'avoue, j'ai obtenu le fichier suivant:
;"Hello World" for Linux on Intel 80x86 using nasm (Intel syntax).
;Enter this into "hello.asm" then type:
;"nasm -f elf hello.asm"
;"ld hello.o -o hello"
;"./hello"
section .data ;data section declaration
msg db 'Hello, World!',0AH
len equ $-msg ;string length
section .text ;code section declaration
global _start ;entry point (start of execution)
_start: mov edx,len ;string length
mov ecx,msg ;string start
mov ebx,1 ;file handle: stdout
mov eax,4 ;sys_write
int 80h ;kernel system call
mov ebx,0 ;return value
mov eax,1 ;sys_exit
int 80h ;kernel system call
"In Your Face" :p
khorben@pinge:~/Temp$ nasm -f elf test.asm
khorben@pinge:~/Temp$ ld test.o -o test
khorben@pinge:~/Temp$ wc -c test
873 test
khorben@pinge:~/Temp$ strip test
khorben@pinge:~/Temp$ wc -c test
488 test
khorben@pinge:~/Temp$ ./test && echo ni\!
Hello, World!
ni!
New record!
--
Pierre