Messages in this thread Patch in this message | | | From | Ulrich Drepper <> | Date | Fri, 13 Jan 2012 17:24:07 -0500 | Subject | Typo transferred from Intel manual |
| |
The arch/x86/lib/x86-opcode-map.txt file contains the line
af: SCAS/W/D/Q rAX,Xv
This is what the Intel manuals show, but it's not correct. The 'X' stands for
Memory addressed by the DS:rSI register pair (for example, MOVS, CMPS, OUTS, or LODS).
On the other hand 'Y' means (also see the ae byte entry for SCASB):
Memory addressed by the ES:rDI register pair (for example, MOVS, CMPS, INS, STOS, or SCAS).
Hence the following patch should be applied:
Signed-off-by: Ulrich Drepper <drepper@gmail.com>
diff --git a/arch/x86/lib/x86-opcode-map.txt b/arch/x86/lib/x86-opcode-map.txt index 5b83c51..c292885 100644 --- a/arch/x86/lib/x86-opcode-map.txt +++ b/arch/x86/lib/x86-opcode-map.txt @@ -219,7 +219,7 @@ ab: STOS/W/D/Q Yv,rAX ac: LODS/B AL,Xb ad: LODS/W/D/Q rAX,Xv ae: SCAS/B AL,Yb -af: SCAS/W/D/Q rAX,Xv +af: SCAS/W/D/Q rAX,Yv # 0xb0 - 0xbf b0: MOV AL/R8L,Ib b1: MOV CL/R9L,Ib
| |