diff options
author | midipix <writeonce@midipix.org> | 2016-12-15 17:15:38 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2016-12-15 13:32:38 -0500 |
commit | 068c4fce6ad045ee109b2ae76e4b7af5ec656541 (patch) | |
tree | 5072ac7a8d53573746fe6ad8243d6a913ba7f5ac /src/process/nt64/tt_fork_v1.asm | |
parent | 81d5d522fd24f1e7b160849455af1125335e574b (diff) | |
download | ntapi-068c4fce6ad045ee109b2ae76e4b7af5ec656541.tar.bz2 ntapi-068c4fce6ad045ee109b2ae76e4b7af5ec656541.tar.xz |
project: clbuild-bat: asm source file normalization.
Diffstat (limited to 'src/process/nt64/tt_fork_v1.asm')
-rw-r--r-- | src/process/nt64/tt_fork_v1.asm | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/src/process/nt64/tt_fork_v1.asm b/src/process/nt64/tt_fork_v1.asm new file mode 100644 index 0000000..af9f2ad --- /dev/null +++ b/src/process/nt64/tt_fork_v1.asm @@ -0,0 +1,136 @@ +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; ntapi: Native API core library ;; +;; Copyright (C) 2013,2014,2015 Z. Gilboa ;; +;; Released under GPLv2 and GPLv3; see COPYING.NTAPI. ;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +TITLE tt_fork_x86_64 + +.data +__tt_fork_impl_v1 PROTO C + +.code +__tt_fork_v1 PROC + push rbp + push rcx + push rdx + push rbx + push rsi + push rdi + push r8 + push r9 + push r10 + push r11 + push r12 + push r13 + push r14 + push r15 + + sub rsp, 40h + + mov rdx, rsp + and rdx, 15 + test rdx, rdx + jne __tt_fork_impl_adj_call + + mov rcx, rsp + call __tt_fork_impl_v1 + + add rsp, 40h + + pop r15 + pop r14 + pop r13 + pop r12 + pop r11 + pop r10 + pop r9 + pop r8 + pop rdi + pop rsi + pop rbx + pop rdx + pop rcx + pop rbp + ret +__tt_fork_v1 ENDP + +__tt_fork_impl_adj_call PROC + push rdi + + mov rcx, rsp + mov rdx, 1 + call __tt_fork_impl_v1 + + pop rdi + + add rsp, 40h + + pop r15 + pop r14 + pop r13 + pop r12 + pop r11 + pop r10 + pop r9 + pop r8 + pop rdi + pop rsi + pop rbx + pop rdx + pop rcx + pop rbp + ret +__tt_fork_impl_adj_call ENDP + + +__tt_fork_child_entry_point PROC + xor rax, rax + mov rsp, rcx + + add rsp, 40h + + pop r15 + pop r14 + pop r13 + pop r12 + pop r11 + pop r10 + pop r9 + pop r8 + pop rdi + pop rsi + pop rbx + pop rdx + pop rcx + pop rbp + ret +__tt_fork_child_entry_point ENDP + + +__tt_fork_child_entry_point_adj PROC + xor rax, rax + mov rsp, rcx + + pop rdi + + add rsp, 40h + + pop r15 + pop r14 + pop r13 + pop r12 + pop r11 + pop r10 + pop r9 + pop r8 + pop rdi + pop rsi + pop rbx + pop rdx + pop rcx + pop rbp + ret +__tt_fork_child_entry_point_adj ENDP + +END |