flat assembler
Message board for the users of flat assembler.
  
|  Index
      > Unix > Syscall convention for FreeBSD (AMD64) | 
| Author | 
 | 
| Chewy509 07 Nov 2006, 23:24 After a lot of testing, FreeBSD uses the x86-64 SYSV ABI, with rax being the function call, and 'syscall' to invoke the call... | |||
|  07 Nov 2006, 23:24 | 
 | 
| codsna 09 Aug 2007, 22:07 Many thanks, Chewy509
 I have written a modified elf64 your code. Works fine. (FreeBSD 6.2 AMD64, fasm 32 bit elf_i386_fbsd libc) format ELF64 public main main: mov rax, 4 ; write mov rdi, 1; stdout file handle mov rsi, hello_world; pointer to string mov rdx, len ; string len syscall xor rax, rax ; sys_exit syscall hello_world db "Hello World  ", 10 len = $-hello_world | |||
|  09 Aug 2007, 22:07 | 
 | 
| codsna 09 Aug 2007, 22:11 with simple
 fasm hello64.asm gcc hello64.o -o hello64 or.. gcc -m64 hello64.o -o hello64 easier than build (ld link) 32 bit in FreeBSD AMD64 | |||
|  09 Aug 2007, 22:11 | 
 | 
| < Last Thread | Next Thread > | 
| Forum Rules: 
 | 
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.