diff options
| author | mithe24 <mithe24@student.sdu.dk> | 2025-10-08 13:35:41 +0200 |
|---|---|---|
| committer | mithe24 <mithe24@student.sdu.dk> | 2025-10-29 13:49:57 +0100 |
| commit | fa03afa46984fbf6eacbd5540e4e318d161cbbe0 (patch) | |
| tree | cd5e2f567a407ee459d94fcfd8ed3088fce3bc96 /snippets/allocate.s | |
| parent | 07816c4c9c257c327bb93a72ed3a9b680816136c (diff) | |
| download | sorter-fa03afa46984fbf6eacbd5540e4e318d161cbbe0.tar.gz sorter-fa03afa46984fbf6eacbd5540e4e318d161cbbe0.zip | |
chore(snippets): move snippetss to src/
Diffstat (limited to 'snippets/allocate.s')
| -rw-r--r-- | snippets/allocate.s | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/snippets/allocate.s b/snippets/allocate.s deleted file mode 100644 index ef80957..0000000 --- a/snippets/allocate.s +++ /dev/null @@ -1,20 +0,0 @@ -# void *allocate(int n) -# -# A naive memory allocator that simply retrieves some new space from the OS. -# It is not possible to deallocate the memory again. -.globl allocate -.type allocate, @function -allocate: - push %rdi - # 1. Find the current end of the data segment. - movq $12, %rax # brk - xorq %rdi, %rdi # 0 means we retrieve the current end. - syscall - # 2. Add the amount of memory we want to allocate. - pop %rdi # the argument - push %rax # current end, which is where the allocated memory will start - addq %rax, %rdi # compute the new end - movq $12, %rax # brk - syscall - pop %rax # the old end, which is the address of our allocated memory - ret |