VirtualBox

Changeset 41507 in vbox for trunk


Ignore:
Timestamp:
May 30, 2012 7:28:15 PM (13 years ago)
Author:
vboxsync
Message:

Removed cases handled by disHandleYasmDifferences.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/BIOS-new/MakeDebianBiosAssembly.cpp

    r41506 r41507  
    750750    else if (   pCpuState->opcode == 0xf6
    751751             && pb[1] == 0x0f
    752              && pb[2] == 0x08)
     752             && pb[2] == 0x08
     753             && RT_C_IS_SPACE(*pszBuf) )
     754        fDifferent = true;
     755    /** @todo "INSB Yb,DX" (6c) ends up with no mnemonic here. */
     756    else if (pCpuState->opcode == 0x6c && RT_C_IS_SPACE(*pszBuf))
    753757        fDifferent = true;
    754758    /*
    755759     * Check these out and consider adding them to DISFormatYasmIsOddEncoding.
    756760     */
    757     else if (   pb[0] == 0x2a
    758              && pb[1] == 0xe4)
    759         fDifferent = true; /* sub ah, ah    - alternative form 0x28 0x?? */
    760     else if (   pb[0] == 0x2b
    761              && pb[1] == 0xc2)
    762         fDifferent = true; /* sub ax, dx    - alternative form 0x29 0xd0. */
    763     else if (   pb[0] == 0x1b
    764              && pb[1] == 0xff)
    765         fDifferent = true; /* sbb di, di    - alternative form 0x19 0xff. */
    766     else if (   pb[0] == 0x33
    767              && (   pb[1] == 0xdb /* xor bx, bx */
    768                  || pb[1] == 0xf6 /* xor si, si */
    769                  || pb[1] == 0xff /* xor di, di */
    770                  || pb[1] == 0xc0 /* xor ax, ax */
    771                 ))
    772         fDifferent = true; /* xor x, x      - alternative form 0x31 xxxx. */
    773     else if (   pb[0] == 0x66
    774              && pb[1] == 0x33
    775              && pb[2] == 0xc0)
    776         fDifferent = true; /* xor eax, eax  - alternative form 0x66 0x31 0xc0. */
    777761    else if (   pb[0] == 0xf3
    778762             && pb[1] == 0x66
    779763             && pb[2] == 0x6d)
    780764        fDifferent = true; /* rep insd      - prefix switched. */
    781     else if (   pb[0] == 0xf3
    782              && pb[1] == 0x66
    783              && pb[2] == 0x26
    784              && pb[3] == 0x6f)
    785         fDifferent = true; /* rep es outsd  - prefix switched. */
    786765    else if (   pb[0] == 0xc6
    787766             && pb[1] == 0xc5
    788767             && pb[2] == 0xba)
    789768        fDifferent = true; /* mov ch, 0bah  - yasm uses a short sequence: 0xb5 0xba. */
    790     else if (   pb[0] == 0x8b
    791              && pb[1] == 0xe0)
    792         fDifferent = true; /* mov sp, ax    - alternative form 0x89 c4. */
    793769    /*
    794770     * Switch table fun (.sym may help):
     
    809785             /*&& pb[2] == 0x67*/)
    810786        fDifferent = true; /* out 067h, ax - switch table or smth. */
    811     /*
    812      * Disassembler / formatter bugs:
    813      */
    814     else if (pb[0] == 0x6c && RT_C_IS_SPACE(*pszBuf))
    815         fDifferent = true;
    816787
    817788
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