VirtualBox

Ignore:
Timestamp:
Jun 28, 2013 3:03:19 AM (11 years ago)
Author:
vboxsync
Message:

8-bit high register hell (reg/reg only so far).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/testcase/Instructions/env-common.mac

    r46731 r46856  
    100100;*******************************************************************************
    101101
     102VBINSTST_BEGINCODE
    102103
    103104;;
     
    113114VBINSTST_BEGINPROC Common_BadValue
    114115        MY_PUSH_ALL
     116        mov     xAX, xSP                ; 16-byte align the stack and reserve space for arguments and stuff.
     117        sub     xSP, 40h
     118        and     xSP, ~15
     119        mov     [xSP + 38h], xAX
    115120
    116121%ifdef ASM_CALL64_GCC
     
    123128
    124129%elifdef ASM_CALL64_MSC
    125         sub     rsp, 28h
    126130        mov     r10d, [VBINSTST_NAME(g_uVBInsTstSubTestIndicator) wrt rip]
    127131        mov     [rsp + 20h], r10
     
    131135        lea     rcx, [.szFmt wrt rip]
    132136        VBINSTST_CALL_FN_FAILURE_4
    133         add     rsp, 28h
    134137
    135138%else
     
    138141        mov     sAX, [xBP + 4 + xCB + 4] ; actual
    139142        mov     sDX, [xBP + 4 + xCB + 8] ; reg#
    140         push    sBX
    141         push    sCX
    142         push    sAX
    143         push    sDX
    144         push    .szFmt
     143        mov     [xSP + xCB + 3*sCB], sBX
     144        mov     [xSP + xCB + 2*sCB], sCX
     145        mov     [xSP + xCB + 1*sCB], sAX
     146        mov     [xSP + xCB], sDX
     147        mov     [xSP], RTCCPTR_PRE .szFmt
    145148        VBINSTST_CALL_FN_FAILURE_4
    146         add     esp, 4*sCB + xCB
    147 %endif
     149%endif
     150
     151        mov     xSP, [xSP + 38h]
    148152        MY_POP_ALL
    149153        ret
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette