x86reference icon indicating copy to clipboard operation
x86reference copied to clipboard

Opcode field for SETcc unnecessary

Open AmaanC opened this issue 7 years ago • 1 comments

The reg/opcode field (o in the table) of the ModR/M byte for all of 0x0F90-0x0F9F (SETcc) has 0 in the sheet, which I believe is misleading.

I don't see this in the manual (Intel® 64 and IA-32 Architectures Software Developer’s Manual March 2017 version); usually represented as /0 (for eg. C0 /0 ib for ROL r/m8, imm8).

AmaanC avatar Feb 14 '18 05:02 AmaanC

Good question. If I remember well, SETcc with r/o field different from 0 caused invalid opcode exception on (at least few) Intel processors when I checked it many years ago. Do you happen to Intel processor to check r/o different from 0?

As for the Intel manuals, they don't cover many corner cases unfortunately. Out of curiosity, AMD manual explicitly stated that the r/o field is unused.

BarebitOpenSource avatar Feb 15 '18 21:02 BarebitOpenSource