; $Id: env-iprt-r3.mac $ ;; @file ; Instruction Test Environment - IPRT, Ring-3, 32-bit and 64-bit. ; ; ; Copyright (C) 2006-2020 Oracle Corporation ; ; This file is part of VirtualBox Open Source Edition (OSE), as ; available from http://www.virtualbox.org. This file is free software; ; you can redistribute it and/or modify it under the terms of the GNU ; General Public License (GPL) as published by the Free Software ; Foundation, in version 2 as it comes in the "COPYING" file of the ; VirtualBox OSE distribution. VirtualBox OSE is distributed in the ; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. ; %ifndef ___env_iprt_r3_mac %define ___env_iprt_r3_mac ;******************************************************************************* ;* Header Files * ;******************************************************************************* %include "iprt/asmdefs.mac" ;******************************************************************************* ;* Defined Constants And Macros * ;******************************************************************************* %define sAX xAX %define sBX xBX %define sCX xCX %define sDX xDX %define sSP xSP %define sBP xBP %define sSI xSI %define sDI xDI %define sCB xCB ;; Same as BEGINPROC in asmdefs.mac. %macro VBINSTST_BEGINPROC 1 BEGINPROC %1 %endm ;; Same as ENDPROC in asmdefs.mac. %macro VBINSTST_ENDPROC 1 ENDPROC %1 %endm ;; Same as NAME in asmdefs.mac. %define VBINSTST_NAME(a_Name) NAME(a_Name) ;; Same as GLOBALNAME_EX in asmdefs.mac. %define VBINSTST_GLOBALNAME_EX GLOBALNAME_EX ;; Same as BEGINCODE in asmdefs.mac. %define VBINSTST_BEGINCODE BEGINCODE ;; Same as BEGINDATA in asmdefs.mac. %define VBINSTST_BEGINDATA BEGINDATA ;; Call RTTestISub like function. %define VBINSTST_CALL_FN_SUB_TEST call IMP2(RTTestISub) EXTERN_IMP2 RTTestISub ;; Call RTTestIFailure like function with simple message. %define VBINSTST_CALL_FN_FAILURE call NAME(VBInsTstFailure) extern NAME(VBInsTstFailure) ;; Call RTTestIFailure like function with format message + 1 arg. %define VBINSTST_CALL_FN_FAILURE_1 call NAME(VBInsTstFailure1) extern NAME(VBInsTstFailure1) ;; Call RTTestIFailure like function with format message + 2 args. %define VBINSTST_CALL_FN_FAILURE_2 call NAME(VBInsTstFailure2) extern NAME(VBInsTstFailure2) ;; Call RTTestIFailure like function with format message + 3 args. %define VBINSTST_CALL_FN_FAILURE_3 call NAME(VBInsTstFailure3) extern NAME(VBInsTstFailure3) ;; Call RTTestIFailure like function with format message + 4 args. %define VBINSTST_CALL_FN_FAILURE_4 call NAME(VBInsTstFailure4) extern NAME(VBInsTstFailure4) ;; Cannot do traps yet. %undef VBINSTST_CAN_DO_TRAPS ; ; Include the common bits (contains code using above macros) ; %include "env-common.mac" %endif