Files
MiniVisorPkg/Sources/AsmCommon.inc
2020-02-22 13:54:50 -08:00

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