diff options
| author | Miguel <m.i@gmx.at> | 2018-09-13 14:40:09 +0200 |
|---|---|---|
| committer | Miguel <m.i@gmx.at> | 2018-09-13 14:40:09 +0200 |
| commit | 3bba2df34be1680777ff85ad4fbc43717609ec75 (patch) | |
| tree | 983e3c2b5667e3aa150502f59453ecebeeeba63a /interface/syscall.s | |
| parent | f844fafd324fbf4c7a986df2f0814f2e2d93bcd8 (diff) | |
thinking about syscalls and newlib ...
Diffstat (limited to 'interface/syscall.s')
| -rw-r--r-- | interface/syscall.s | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/interface/syscall.s b/interface/syscall.s new file mode 100644 index 0000000..abce63a --- /dev/null +++ b/interface/syscall.s @@ -0,0 +1,16 @@ +.global syscall + +syscall: + + push %ebx // preserve (sysV abi convnetion) + + mov 0x8(%esp),%eax //syscall number + mov 0xC(%esp),%edx //p1 + mov 0x10(%esp),%ecx //p2 + mov 0x14(%esp),%ebx //p3 + + int $0x80 + mov %ebx, %eax // set as return value + + pop %ebx // preserve + ret |
