cygwin上でコンパイル出来た。
ex1.s
.text
.global main
main:
movl $1, %eax
movw $0xffff, %ax
movb $0b01010101, %ah
movl $0, %eax
ret
Makefile
target = ex1
default: $(target)
./$(target)
$(target) : $(target).obj
ld $< -o $@ -e main
%.obj : %.s
as $< -o $@
とりあえず何もしないプログラムです。
Cygwin or Windowsの場合、
$ gcc hoge.s -o hoge
ではダメっぽい。コンパイルオプションは探る必要アリ。
あと、
- int 80は使えない。DOS用システムコールを使うべし?
- movl $0, %eaxはおまじない。C言語で言うところの、return 0;
明日デバッガgdb使ってみる!!