- Timestamp:
- May 30, 2012 7:28:15 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/BIOS-new/MakeDebianBiosAssembly.cpp
r41506 r41507 750 750 else if ( pCpuState->opcode == 0xf6 751 751 && 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)) 753 757 fDifferent = true; 754 758 /* 755 759 * Check these out and consider adding them to DISFormatYasmIsOddEncoding. 756 760 */ 757 else if ( pb[0] == 0x2a758 && pb[1] == 0xe4)759 fDifferent = true; /* sub ah, ah - alternative form 0x28 0x?? */760 else if ( pb[0] == 0x2b761 && pb[1] == 0xc2)762 fDifferent = true; /* sub ax, dx - alternative form 0x29 0xd0. */763 else if ( pb[0] == 0x1b764 && pb[1] == 0xff)765 fDifferent = true; /* sbb di, di - alternative form 0x19 0xff. */766 else if ( pb[0] == 0x33767 && ( 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] == 0x66774 && pb[1] == 0x33775 && pb[2] == 0xc0)776 fDifferent = true; /* xor eax, eax - alternative form 0x66 0x31 0xc0. */777 761 else if ( pb[0] == 0xf3 778 762 && pb[1] == 0x66 779 763 && pb[2] == 0x6d) 780 764 fDifferent = true; /* rep insd - prefix switched. */ 781 else if ( pb[0] == 0xf3782 && pb[1] == 0x66783 && pb[2] == 0x26784 && pb[3] == 0x6f)785 fDifferent = true; /* rep es outsd - prefix switched. */786 765 else if ( pb[0] == 0xc6 787 766 && pb[1] == 0xc5 788 767 && pb[2] == 0xba) 789 768 fDifferent = true; /* mov ch, 0bah - yasm uses a short sequence: 0xb5 0xba. */ 790 else if ( pb[0] == 0x8b791 && pb[1] == 0xe0)792 fDifferent = true; /* mov sp, ax - alternative form 0x89 c4. */793 769 /* 794 770 * Switch table fun (.sym may help): … … 809 785 /*&& pb[2] == 0x67*/) 810 786 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;816 787 817 788
Note:
See TracChangeset
for help on using the changeset viewer.