intelxed / xed

The X86 Encoder Decoder (XED), is a software library for encoding and decoding X86 (IA32 and Intel64) instructions
https://intelxed.github.io/
Apache License 2.0
1.39k stars 145 forks source link

XCHG 0b1001-0 rexb-prefix #297

Closed lyrachord closed 1 year ago

lyrachord commented 1 year ago

Hi again

`xed-isa.txt: 7143 { ICLASS : XCHG CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86

PATTERN : 0b1001_0 SRM[rrr] SRM!=0 OPERANDS : REG0=GPRv_SB():rw REG1=OrAX():rw:IMPL

` This is strange. REG0 is r8w, r8d or r8 depending on the EOSZ. mode64

should be rexr_prefix and GPRv_R()?

PATTERN : 0b1001_0 SRM[rrr] SRM=0 not_refining_f3 rexb_prefix OPERANDS : REG0=GPRv_SB():rw REG1=OrAX():rw:IMPL }

`sdm-vol-2 In 64-bit mode, the instruction’s default operation size is 32 bits. Using a REX prefix in the form of REX.R permits access to additional registers (R8-R15).

lyrachord commented 1 year ago

Sorry, something I missed

Table 3-1. Register Codes Associated With +rb, +rw, +rd, +ro