diff options
author | tomsmeding <tom.smeding@gmail.com> | 2017-08-20 11:57:02 +0200 |
---|---|---|
committer | tomsmeding <tom.smeding@gmail.com> | 2017-08-20 11:57:02 +0200 |
commit | f8d264f2b18fccdc3b96d8fb66656128a25137f2 (patch) | |
tree | c4da71e1b7bed93b9f2728503212b6fc43cc9e32 /prologue.asm | |
parent | 965f8bf85d7850be074bad735d815b15a85a3de0 (diff) |
Separate lib into object file
Diffstat (limited to 'prologue.asm')
-rw-r--r-- | prologue.asm | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/prologue.asm b/prologue.asm deleted file mode 100644 index 74d9de3..0000000 --- a/prologue.asm +++ /dev/null @@ -1,134 +0,0 @@ -; SYS_EXIT equ 0x2000001 ;code -; SYS_FORK equ 0x2000002 ;-- -; SYS_READ equ 0x2000003 ;fd, buf, len -; SYS_WRITE equ 0x2000004 ;fd, buf, len - -global start -default rel - -section .text -start: - call main - mov rdi, rax - mov eax, 0x2000001 - syscall - jmp $ - -putc: - push rax - push rdi - push rsi - push rdx - push rcx - push r11 - mov eax, 0x2000004 - mov edi, 1 - lea rsi, [rsp+56] - mov edx, edi - syscall - pop r11 - pop rcx - pop rdx - pop rsi - pop rdi - pop rax - ret - -putint: - push rdi - push rsi - push rax - push rbx - push rcx - push rdx - push r11 - mov rax, [rsp+64] - mov ebx, 18 - test rax, rax - jz .numzero - - mov ecx, 10 - -.strlp: - xor edx, edx - div rcx - add dl, '0' - dec rbx - mov [rsp+rbx], dl - test rax, rax - jnz .strlp - jmp .strdone - -.numzero: - dec rbx - mov byte [rsp+rbx], '0' - jmp .strdone - -.strdone: - mov eax, 0x2000004 - mov edi, 1 - lea rsi, [rsp+rbx] - mov edx, 18 - sub rdx, rbx - syscall - - pop r11 - pop rdx - pop rcx - pop rbx - pop rax - pop rsi - pop rdi - ret - -getc: - push rdi - push rsi - push rdx - push rcx - push r11 - mov eax, 0x2000003 - xor edi, edi - mov rsi, rsp - mov edx, 1 - syscall - cmp rax, 1 - jne .fail - mov rax, [rsp] -.finish: - pop r11 - pop rcx - pop rdx - pop rsi - pop rdi - ret -.fail: - mov rax, -1 - jmp .finish - -_builtin_malloc: - push rdi - push rsi - push rdx - push r8 - push r9 - push r10 - push r11 - push rcx - xor edi, edi - mov rsi, [rsp+72] - mov edx, 0x03 - mov r10d, 0x1001 - mov r8d, -1 - xor r9d, r9d - mov eax, 0x20000C5 - syscall - pop rcx - pop r11 - pop r10 - pop r9 - pop r8 - pop rdx - pop rsi - pop rdi - ret |