23:10:37 # Life hello world. なんとなく Hello World ってどうだっけなとおもったので gcc -nostdlib でコンパイルしてうごく x86_64 Hello Worldかいてみた。 システムコールの番号ってどこで定義されているのだとおもったら linux/arch/x86/syscalls/syscall_64.tbl にあった。__NR_writeとかどっかでinclude できるはず。 この段階だとまだstrip して 688Bあるので56バイトとかまでやるのはすごいなぁ。 x86だとシステムコールの1番がexitだったりするんだけど、hello worldするのに必須なwriteが1番になっていてexitはおいやられているx86_64はえらいなぁという感想。
.data msg: .ascii "Hello World!\n" msgend: .text .globl _start _start: movq $1, %rdi movq $msg, %rsi movq $msgend-msg, %rdx movq $1, %rax syscall movl $60, %eax syscall
$Id: dancer-diary.el,v 1.94 2009/10/21 14:02:48 dancer Exp $