VirtualBox

Changeset 8972 in vbox


Ignore:
Timestamp:
May 20, 2008 6:43:08 PM (17 years ago)
Author:
vboxsync
Message:

cmpxchg*.

Location:
trunk/src/VBox/Disassembler/testcase
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Disassembler/testcase/tstAsmLock-1.asm

    r8971 r8972  
    2626%include "tstAsm.mac"
    2727%if TEST_BITS == 64
    28 ; The disassembler doesn't do imm32 right for  64-bit stuff, so disable it for now.
     28; The disassembler doesn't do imm32 right for 64-bit stuff, so disable it for now.
    2929; %define WITH_64_BIT_TESTS_IMM32
     30; The cmpxchg16b/8b stuff isn't handled correctly in 64-bit mode. In the 8b case
     31; it could be both yasm and the vbox disassembler. Have to check docs/gas/nasm.
     32; %define WITH_64_BIT_TESTS_CMPXCHG16B
    3033 %define WITH_64_BIT_TESTS
    3134%endif
     
    282285%endif
    283286
     287    ;
    284288    ; CMPXCHG
     289    ;
     290        ; 0f b0 /r      CMPXCHG reg8/mem8, regX - with reg dst
     291    lock cmpxchg byte [30cch], cl
     292    lock cmpxchg byte [xBX], cl
     293    lock cmpxchg byte [xSI], cl
     294        ; 0f b1 /r      CMPXCHG regX/memX, regX - with reg dst
     295    lock cmpxchg word [30cch], cx
     296    lock cmpxchg word [xBX], cx
     297    lock cmpxchg word [xSI], cx
     298    lock cmpxchg dword [30cch], ecx
     299    lock cmpxchg dword [xBX], ecx
     300    lock cmpxchg dword [xSI], ecx
     301%ifdef WITH_64_BIT_TESTS
     302    lock cmpxchg qword [30cch], rcx
     303    lock cmpxchg qword [xBX], rcx
     304    lock cmpxchg qword [xSI], rcx
     305    lock cmpxchg qword [rdi], r8
     306    lock cmpxchg qword [r12], r9
     307%endif
     308
     309    ;
    285310    ; CMPXCHG8B
    286311    ; CMPXCHG16B
     312    ;
     313    ;; @todo get back to cmpxchg8b and cmpxchg16b.
     314    lock cmpxchg8b qword [1000h]
     315    lock cmpxchg8b qword [xDI]
     316    lock cmpxchg8b qword [xDI+xBX]
     317%ifdef WITH_64_BIT_TESTS_CMPXCHG16B
     318    lock cmpxchg16b [1000h]
     319    lock cmpxchg16b [xDI]
     320    lock cmpxchg16b [xDI+xBX]
     321%endif
     322
    287323    ; DEC
    288324    ; INC
  • trunk/src/VBox/Disassembler/testcase/tstAsmLock-2.asm

    r8971 r8972  
    224224%endif
    225225
     226    ;
    226227    ; CMPXCHG
     228    ;
     229        ; 0f b0 /r      CMPXCHG reg8/mem8, regX - with reg dst
     230    lock cmpxchg bl, cl
     231        ; 0f b1 /r      CMPXCHG regX/memX, regX - with reg dst
     232    lock cmpxchg bx, cx
     233    lock cmpxchg ebx, ecx
     234%ifdef WITH_64_BIT_TESTS
     235    lock cmpxchg rbx, rcx
     236%endif
     237
     238    ;
    227239    ; CMPXCHG8B
    228240    ; CMPXCHG16B
     241    ;
     242        ; all valid.
     243
    229244    ; DEC
    230245    ; INC
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