56 lines
1.1 KiB
PHP
56 lines
1.1 KiB
PHP
;
|
|
; @file AsmCommon.inc
|
|
;
|
|
; @brief Cross platform MASM-written marcos.
|
|
;
|
|
; @author Satoshi Tanda
|
|
;
|
|
; @copyright Copyright (c) 2020 - , Satoshi Tanda. All rights reserved.
|
|
;
|
|
|
|
;
|
|
; @brief Saves all general purpose registers, except for RSP, to the stack.
|
|
;
|
|
; @details This macro does not alter the flag register.
|
|
;
|
|
PUSHAQ macro
|
|
push rax
|
|
push rcx
|
|
push rdx
|
|
push rbx
|
|
push rbp
|
|
push rsi
|
|
push rdi
|
|
push r8
|
|
push r9
|
|
push r10
|
|
push r11
|
|
push r12
|
|
push r13
|
|
push r14
|
|
push r15
|
|
endm
|
|
|
|
;
|
|
; @brief Loads all general purpose registers, except for RSP, from the stack.
|
|
;
|
|
; @details This macro does not alter the flag register.
|
|
;
|
|
POPAQ macro
|
|
pop r15
|
|
pop r14
|
|
pop r13
|
|
pop r12
|
|
pop r11
|
|
pop r10
|
|
pop r9
|
|
pop r8
|
|
pop rdi
|
|
pop rsi
|
|
pop rbp
|
|
pop rbx
|
|
pop rdx
|
|
pop rcx
|
|
pop rax
|
|
endm
|