VirtualBox

Ignore:
Timestamp:
Oct 28, 2018 5:33:38 PM (6 years ago)
Author:
vboxsync
Message:

iprt/asm*.h,VMMDev.h: Watcom adjustments.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/asm-watcom-x86-16.h

    r69105 r75131  
    3939 *       the mangling, because the symbol in #pragma aux [symbol] statements
    4040 *       doesn't get subjected to preprocessing.  This is also why we include
    41  *       the watcom header at the top rather than at the bottom of the
    42  *       asm-amd64-x86.h file.
     41 *       the watcom header at both the top and the bottom of asm.h file.
    4342 */
    4443
    4544#undef       ASMCompilerBarrier
    46 #if 0 /* overkill version. */
    47 # pragma aux ASMCompilerBarrier = \
     45#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
     46# if 0 /* overkill version. */
     47#  pragma aux ASMCompilerBarrier = \
    4848    "nop" \
    4949    parm [] \
    5050    modify exact [ax bx cx dx es ds];
    51 #else
    52 # pragma aux ASMCompilerBarrier = \
     51# else
     52#  pragma aux ASMCompilerBarrier = \
    5353    "" \
    5454    parm [] \
    5555    modify exact [];
     56# endif
    5657#endif
    5758
    5859#undef      ASMNopPause
     60#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    5961#pragma aux ASMNopPause = \
    6062    ".686p" \
     
    6365    parm [] nomemory \
    6466    modify exact [] nomemory;
     67#endif
    6568
    6669#undef      ASMAtomicXchgU8
     70#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    6771#pragma aux ASMAtomicXchgU8 = \
    6872    "xchg es:[bx], al" \
     
    7074    value [al] \
    7175    modify exact [al];
     76#endif
    7277
    7378#undef      ASMAtomicXchgU16
     79#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    7480#pragma aux ASMAtomicXchgU16 = \
    7581    "xchg es:[bx], ax" \
     
    7783    value [ax] \
    7884    modify exact [ax];
     85#endif
    7986
    8087#undef      ASMAtomicXchgU32
     88#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    8189#pragma aux ASMAtomicXchgU32 = \
    8290    ".386" \
     
    8997    value [ax cx] \
    9098    modify exact [ax cx];
     99#endif
    91100
    92101#undef      ASMAtomicXchgU64
     102#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    93103#pragma aux ASMAtomicXchgU64 = \
    94104    ".586" \
     
    110120    value [dx cx bx ax] \
    111121    modify exact [dx cx bx ax];
     122#endif
    112123
    113124#undef      ASMAtomicCmpXchgU8
     125#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    114126#pragma aux ASMAtomicCmpXchgU8 = \
    115127    ".486" \
     
    119131    value [al] \
    120132    modify exact [al];
     133#endif
    121134
    122135#undef      ASMAtomicCmpXchgU16
     136#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    123137#pragma aux ASMAtomicCmpXchgU16 = \
    124138    ".486" \
     
    128142    value [al] \
    129143    modify exact [ax];
     144#endif
    130145
    131146#undef      ASMAtomicCmpXchgU32
     147#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    132148#pragma aux ASMAtomicCmpXchgU32 = \
    133149    ".486" \
     
    142158    value [al] \
    143159    modify exact [ax cx];
     160#endif
    144161
    145162/* ASMAtomicCmpXchgU64: External assembly implementation, too few registers for parameters.  */
     
    148165
    149166#undef      ASMSerializeInstructionCpuId
     167#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    150168#pragma aux ASMSerializeInstructionCpuId = \
    151169    ".586" \
     
    154172    parm [] \
    155173    modify exact [ax bx cx dx];
     174#endif
    156175
    157176#undef ASMSerializeInstructionIRet
     177#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    158178#pragma aux ASMSerializeInstructionIRet = \
    159179    "pushf" \
     
    166186    parm [] \
    167187    modify exact [];
     188#endif
    168189
    169190#undef      ASMSerializeInstructionRdTscp
     191#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    170192#pragma aux ASMSerializeInstructionRdTscp = \
    171193    0x0f 0x01 0xf9 \
    172194    parm [] \
    173195    modify exact [ax dx cx];
     196#endif
    174197
    175198#undef      ASMAtomicReadU64
     199#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    176200#pragma aux ASMAtomicReadU64 = \
    177201    ".586" \
     
    189213    value [dx cx bx ax] \
    190214    modify exact [dx cx bx ax];
     215#endif
    191216
    192217#undef      ASMAtomicUoReadU64
     218#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    193219#pragma aux ASMAtomicUoReadU64 = \
    194220    ".586" \
     
    206232    value [dx cx bx ax] \
    207233    modify exact [dx cx bx ax];
     234#endif
    208235
    209236#undef      ASMAtomicAddU16
     237#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    210238#pragma aux ASMAtomicAddU16 = \
    211239    ".486" \
     
    214242    value [ax] \
    215243    modify exact [ax];
     244#endif
    216245
    217246#undef      ASMAtomicAddU32
     247#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    218248#pragma aux ASMAtomicAddU32 = \
    219249    ".486" \
     
    226256    value [ax dx] \
    227257    modify exact [ax dx];
     258#endif
    228259
    229260#undef      ASMAtomicIncU16
     261#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    230262#pragma aux ASMAtomicIncU16 = \
    231263    ".486" \
     
    236268    value [ax] \
    237269    modify exact [ax];
     270#endif
    238271
    239272#undef      ASMAtomicIncU32
     273#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    240274#pragma aux ASMAtomicIncU32 = \
    241275    ".486" \
     
    248282    value [ax dx] \
    249283    modify exact [ax dx];
     284#endif
    250285
    251286/* ASMAtomicIncU64: Should be done by C inline or in external file. */
    252287
    253288#undef      ASMAtomicDecU16
     289#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    254290#pragma aux ASMAtomicDecU16 = \
    255291    ".486" \
     
    260296    value [ax] \
    261297    modify exact [ax];
     298#endif
    262299
    263300#undef      ASMAtomicDecU32
     301#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    264302#pragma aux ASMAtomicDecU32 = \
    265303    ".486" \
     
    272310    value [ax dx] \
    273311    modify exact [ax dx];
     312#endif
    274313
    275314/* ASMAtomicDecU64: Should be done by C inline or in external file. */
    276315
    277316#undef      ASMAtomicOrU32
     317#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    278318#pragma aux ASMAtomicOrU32 = \
    279319    ".386" \
     
    283323    parm [es bx] [ax dx] \
    284324    modify exact [dx];
     325#endif
    285326
    286327/* ASMAtomicOrU64: Should be done by C inline or in external file. */
    287328
    288329#undef      ASMAtomicAndU32
     330#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    289331#pragma aux ASMAtomicAndU32 = \
    290332    ".386" \
     
    294336    parm [es bx] [ax dx] \
    295337    modify exact [dx];
     338#endif
    296339
    297340/* ASMAtomicAndU64: Should be done by C inline or in external file. */
    298341
    299342#undef      ASMAtomicUoOrU32
     343#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    300344#pragma aux ASMAtomicUoOrU32 = \
    301345    ".386" \
     
    305349    parm [es bx] [ax dx] \
    306350    modify exact [dx];
     351#endif
    307352
    308353/* ASMAtomicUoOrU64: Should be done by C inline or in external file. */
    309354
    310355#undef      ASMAtomicUoAndU32
     356#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    311357#pragma aux ASMAtomicUoAndU32 = \
    312358    ".386" \
     
    316362    parm [es bx] [ax dx] \
    317363    modify exact [dx];
     364#endif
    318365
    319366/* ASMAtomicUoAndU64: Should be done by C inline or in external file. */
    320367
    321368#undef      ASMAtomicUoIncU32
     369#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    322370#pragma aux ASMAtomicUoIncU32 = \
    323371    ".486" \
     
    330378    value [ax dx] \
    331379    modify exact [ax dx];
     380#endif
    332381
    333382#undef      ASMAtomicUoDecU32
     383#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    334384#pragma aux ASMAtomicUoDecU32 = \
    335385    ".486" \
     
    342392    value [ax dx] \
    343393    modify exact [ax dx];
     394#endif
    344395
    345396#undef      ASMMemZeroPage
    346 #if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
    347 # pragma aux ASMMemZeroPage = \
     397#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
     398# if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
     399#  pragma aux ASMMemZeroPage = \
    348400    "mov cx, 2048" \
    349401    "xor ax, ax" \
     
    351403    parm [es di] \
    352404    modify exact [ax cx di];
    353 #else
    354 # pragma aux ASMMemZeroPage = \
     405# else
     406#  pragma aux ASMMemZeroPage = \
    355407    "mov ecx, 1024" \
    356408    "xor eax, eax" \
     
    358410    parm [es di] \
    359411    modify exact [ax cx di];
     412# endif
    360413#endif
    361414
    362415#undef      ASMMemZero32
    363 #if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
    364 # pragma aux ASMMemZero32 = \
     416#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
     417# if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
     418#  pragma aux ASMMemZero32 = \
    365419    "xor ax, ax" \
    366420    "shr cx, 1" \
     
    369423    parm [es di] [cx] \
    370424    modify exact [ax dx cx di];
    371 #else
    372 # pragma aux ASMMemZero32 = \
     425# else
     426#  pragma aux ASMMemZero32 = \
    373427    "and ecx, 0ffffh" /* probably not necessary, lazy bird should check... */ \
    374428    "shr ecx, 2" \
     
    377431    parm [es di] [cx] \
    378432    modify exact [ax cx di];
     433# endif
    379434#endif
    380435
    381436#undef      ASMMemFill32
    382 #if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
    383 # pragma aux ASMMemFill32 = \
     437#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
     438# if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
     439#  pragma aux ASMMemFill32 = \
    384440    "   shr     cx, 1" \
    385441    "   shr     cx, 1" \
     
    395451    parm [es di] [cx] [ax dx]\
    396452    modify exact [cx di];
    397 #else
    398 # pragma aux ASMMemFill32 = \
     453# else
     454#  pragma aux ASMMemFill32 = \
    399455    "and ecx, 0ffffh" /* probably not necessary, lazy bird should check... */ \
    400456    "shr ecx, 2" \
     
    405461    parm [es di] [cx] [ax dx]\
    406462    modify exact [ax cx di];
     463# endif
    407464#endif
    408465
    409466#undef      ASMProbeReadByte
     467#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    410468#pragma aux ASMProbeReadByte = \
    411469    "mov al, es:[bx]" \
     
    413471    value [al] \
    414472    modify exact [al];
     473#endif
    415474
    416475#undef      ASMBitSet
    417 #if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
    418 # pragma aux ASMBitSet = \
     476#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
     477# if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
     478#  pragma aux ASMBitSet = \
    419479    "   mov     ch, cl" /* Only the three lowest bits are relevant due to 64KB segments */ \
    420480    "   mov     cl, 5" \
     
    432492    parm [es bx] [ax cx] \
    433493    modify exact [ax bx cx];
    434 #else
    435 # pragma aux ASMBitSet = \
     494# else
     495#  pragma aux ASMBitSet = \
    436496    "shl edx, 16" \
    437497    "mov dx, ax" \
     
    439499    parm [es bx] [ax dx] \
    440500    modify exact [dx];
     501# endif
    441502#endif
    442503
    443504#undef      ASMAtomicBitSet
     505#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    444506#pragma aux ASMAtomicBitSet = \
    445507    ".386" \
     
    449511    parm [es bx] [ax dx] \
    450512    modify exact [dx];
     513#endif
    451514
    452515#undef      ASMBitClear
    453 #if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
    454 # pragma aux ASMBitClear = \
     516#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
     517# if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
     518#  pragma aux ASMBitClear = \
    455519    "   mov     ch, cl" /* Only the three lowest bits are relevant due to 64KB segments */ \
    456520    "   mov     cl, 5" \
     
    469533    parm [es bx] [ax cx] \
    470534    modify exact [ax bx cx];
    471 #else
    472 # pragma aux ASMBitClear = \
     535# else
     536#  pragma aux ASMBitClear = \
    473537    "shl edx, 16" \
    474538    "mov dx, ax" \
     
    476540    parm [es bx] [ax dx] \
    477541    modify exact [dx];
     542# endif
    478543#endif
    479544
    480545#undef      ASMAtomicBitClear
     546#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    481547#pragma aux ASMAtomicBitClear = \
    482548    ".386" \
     
    486552    parm [es bx] [ax dx] \
    487553    modify exact [dx];
     554#endif
    488555
    489556#undef      ASMBitToggle
    490 #if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
    491 # pragma aux ASMBitToggle = \
     557#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
     558# if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
     559#  pragma aux ASMBitToggle = \
    492560    "   mov     ch, cl" /* Only the three lowest bits are relevant due to 64KB segments */ \
    493561    "   mov     cl, 5" \
     
    505573    parm [es bx] [ax cx] \
    506574    modify exact [ax bx cx];
    507 #else
    508 # pragma aux ASMBitToggle = \
     575# else
     576#  pragma aux ASMBitToggle = \
    509577    "shl edx, 16" \
    510578    "mov dx, ax" \
     
    512580    parm [es bx] [ax dx] \
    513581    modify exact [dx];
     582# endif
    514583#endif
    515584
    516585#undef      ASMAtomicBitToggle
     586#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    517587#pragma aux ASMAtomicBitToggle = \
    518588    ".386" \
     
    522592    parm [es bx] [ax dx] \
    523593    modify exact [dx];
     594#endif
    524595
    525596#undef      ASMBitTestAndSet
    526 #if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
    527 # pragma aux ASMBitTestAndSet = \
     597#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
     598# if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
     599#  pragma aux ASMBitTestAndSet = \
    528600    "   mov     ch, cl" /* Only the three lowest bits are relevant due to 64KB segments */ \
    529601    "   mov     cl, 5" \
     
    546618    value [al] \
    547619    modify exact [ax bx cx];
    548 #else
    549 # pragma aux ASMBitTestAndSet = \
     620# else
     621#  pragma aux ASMBitTestAndSet = \
    550622    "shl edx, 16" \
    551623    "mov dx, ax" \
     
    555627    value [al] \
    556628    modify exact [ax dx];
     629# endif
    557630#endif
    558631
    559632#undef      ASMAtomicBitTestAndSet
     633#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    560634#pragma aux ASMAtomicBitTestAndSet = \
    561635    ".386" \
     
    567641    value [al] \
    568642    modify exact [ax dx];
     643#endif
    569644
    570645#undef      ASMBitTestAndClear
    571 #if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
    572 # pragma aux ASMBitTestAndClear = \
     646#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
     647# if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
     648#  pragma aux ASMBitTestAndClear = \
    573649    "   mov     ch, cl" /* Only the three lowest bits are relevant due to 64KB segments */ \
    574650    "   mov     cl, 5" \
     
    592668    value [al] \
    593669    modify exact [ax bx cx];
    594 #else
    595 # pragma aux ASMBitTestAndClear = \
     670# else
     671#  pragma aux ASMBitTestAndClear = \
    596672    "shl edx, 16" \
    597673    "mov dx, ax" \
     
    601677    value [al] \
    602678    modify exact [ax dx];
     679# endif
    603680#endif
    604681
    605682#undef      ASMAtomicBitTestAndClear
     683#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    606684#pragma aux ASMAtomicBitTestAndClear = \
    607685    ".386" \
     
    613691    value [al] \
    614692    modify exact [ax dx];
     693#endif
    615694
    616695#undef      ASMBitTestAndToggle
    617 #if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
    618 # pragma aux ASMBitTestAndToggle = \
     696#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
     697# if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
     698#  pragma aux ASMBitTestAndToggle = \
    619699    "   mov     ch, cl" /* Only the three lowest bits are relevant due to 64KB segments */ \
    620700    "   mov     cl, 5" \
     
    637717    value [al] \
    638718    modify exact [ax bx cx];
    639 #else
    640 # pragma aux ASMBitTestAndToggle = \
     719# else
     720#  pragma aux ASMBitTestAndToggle = \
    641721    "shl edx, 16" \
    642722    "mov dx, ax" \
     
    646726    value [al] \
    647727    modify exact [ax dx];
     728# endif
    648729#endif
    649730
    650731#undef      ASMAtomicBitTestAndToggle
     732#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    651733#pragma aux ASMAtomicBitTestAndToggle = \
    652734    ".386" \
     
    658740    value [al] \
    659741    modify exact [ax dx];
     742#endif
    660743
    661744#undef      ASMBitTest
    662 #if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
    663 # pragma aux ASMBitTest = \
     745#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
     746# if defined(__SW_0) || defined(__SW_1) || defined(__SW_2)
     747#  pragma aux ASMBitTest = \
    664748    "   mov     ch, cl" /* Only the three lowest bits are relevant due to 64KB segments */ \
    665749    "   mov     cl, 5" \
     
    678762    value [al] \
    679763    modify exact [ax bx cx];
    680 #else
    681 # pragma aux ASMBitTest = \
     764# else
     765#  pragma aux ASMBitTest = \
    682766    "shl edx, 16" \
    683767    "mov dx, ax" \
     
    687771    value [al] \
    688772    modify exact [ax dx] nomemory;
     773# endif
    689774#endif
    690775
     
    698783#else
    699784# undef      ASMBitFirstSetU32
     785# ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    700786# pragma aux ASMBitFirstSetU32 = \
    701787    "shl edx, 16" \
     
    711797    value [ax] \
    712798    modify exact [ax dx] nomemory;
     799# endif
    713800#endif
    714801
     
    717804#else
    718805# undef      ASMBitFirstSetU64
     806# ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    719807# pragma aux ASMBitFirstSetU64 = \
    720808    ".386" \
     
    741829    value [ax] \
    742830    modify exact [ax cx] nomemory;
     831# endif
    743832#endif
    744833
     
    747836#else
    748837# undef      ASMBitFirstSetU16
     838# ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    749839# pragma aux ASMBitFirstSetU16 = \
    750840    "bsf ax, ax" \
     
    758848    value [ax] \
    759849    modify exact [ax] nomemory;
     850# endif
    760851#endif
    761852
     
    764855#else
    765856# undef      ASMBitLastSetU32
     857# ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    766858# pragma aux ASMBitLastSetU32 = \
    767859    "shl edx, 16" \
     
    777869    value [ax] \
    778870    modify exact [ax dx] nomemory;
     871# endif
    779872#endif
    780873
     
    783876#else
    784877# undef      ASMBitLastSetU64
     878# ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    785879# pragma aux ASMBitLastSetU64 = \
    786880    ".386" \
     
    807901    value [ax] \
    808902    modify exact [ax cx] nomemory;
     903# endif
    809904#endif
    810905
     
    813908#else
    814909# undef      ASMBitLastSetU16
     910# ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    815911# pragma aux ASMBitLastSetU16 = \
    816912    "bsr ax, ax" \
     
    824920    value [ax] \
    825921    modify exact [ax] nomemory;
     922# endif
    826923#endif
    827924
    828925#undef      ASMByteSwapU16
     926#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    829927#pragma aux ASMByteSwapU16 = \
    830928    "xchg al, ah" \
     
    832930    value [ax] \
    833931    modify exact [ax] nomemory;
     932#endif
    834933
    835934#undef      ASMByteSwapU32
     935#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    836936#pragma aux ASMByteSwapU32 = \
    837937    "xchg dh, al" \
     
    840940    value [ax dx] \
    841941    modify exact [ax dx] nomemory;
     942#endif
    842943
    843944#undef      ASMRotateLeftU32
     945#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    844946#pragma aux ASMRotateLeftU32 = \
    845947    ".386" \
     
    852954    value [ax dx] \
    853955    modify exact [ax dx] nomemory;
     956#endif
    854957
    855958#undef      ASMRotateRightU32
     959#ifdef IPRT_ASM_WATCOM_X86_16_WITH_PRAGMAS
    856960#pragma aux ASMRotateRightU32 = \
    857961    ".386" \
     
    864968    value [ax dx] \
    865969    modify exact [ax dx] nomemory;
    866 
    867 #endif
     970#endif
     971
     972#endif
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