Switch push/pop_all macros from push/pop to mov

This commit is contained in:
Justin C. Miller
2019-03-14 22:49:51 -07:00
parent be007c6278
commit 6410c898c5
5 changed files with 42 additions and 46 deletions

View File

@@ -1,47 +1,43 @@
%macro push_all_and_segments 0
; ss ; rsp + a8
; rsp ; rsp + a0
; rflags ; rsp + 98
; cs ; rsp + 90
; rip ; rsp + 88
; error ; rsp + 80
; vector ; rsp + 78
%macro push_all 0
sub rsp, 0x78
push rax ; rsp + 70
push rcx ; rsp + 68
push rdx ; rsp + 60
push rbx ; rsp + 58
push rbp ; rsp + 50
push rsi ; rsp + 48
push rdi ; rsp + 40
mov [rsp + 0x70], rax
mov [rsp + 0x68], rcx
mov [rsp + 0x60], rdx
mov [rsp + 0x58], rbx
mov [rsp + 0x50], rbp
mov [rsp + 0x48], rsi
mov [rsp + 0x40], rdi
push r8 ; rsp + 38
push r9 ; rsp + 30
push r10 ; rsp + 28
push r11 ; rsp + 20
push r12 ; rsp + 18
push r13 ; rsp + 10
push r14 ; rsp + 08
push r15 ; rsp + 00
mov [rsp + 0x38], r8
mov [rsp + 0x30], r9
mov [rsp + 0x28], r10
mov [rsp + 0x20], r11
mov [rsp + 0x18], r12
mov [rsp + 0x10], r13
mov [rsp + 0x08], r14
mov [rsp + 0x00], r15
%endmacro
%macro pop_all_and_segments 0
pop r15
pop r14
pop r13
pop r12
pop r11
pop r10
pop r9
pop r8
%macro pop_all 0
mov rax, [rsp + 0x70]
mov rcx, [rsp + 0x68]
mov rdx, [rsp + 0x60]
mov rbx, [rsp + 0x58]
mov rbp, [rsp + 0x50]
mov rsi, [rsp + 0x48]
mov rdi, [rsp + 0x40]
pop rdi
pop rsi
pop rbp
pop rbx
pop rdx
pop rcx
pop rax
mov r8, [rsp + 0x38]
mov r9, [rsp + 0x30]
mov r10, [rsp + 0x28]
mov r11, [rsp + 0x20]
mov r12, [rsp + 0x18]
mov r13, [rsp + 0x10]
mov r14, [rsp + 0x08]
mov r15, [rsp + 0x00]
add rsp, 0x78
%endmacro
%macro check_swap_gs 0