compiles with nasm. doesn't work