> In target-i386/translate.c there are this instructions:
> int op, f, val;
> op = (b >> 3) & 7;
> f = (b >> 1) & 3;
> if ((b & 1) == 0)
>   ot = OT_BYTE;
> else
>   ot = dflag + OT_WORD;
> What does this code do??

It extracts some useful subfields from one-byte opcodes, e.g. op is
the arithmetic
operation code, f is operand encoding and ot is operand width.

Table A2 in the Intel® 64 and IA-32 Architectures Developer's Manual: Vol. 2B
http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-software-developer-vol-2b-manual.html
will probably help.

-- 
Thanks.
-- Max

Reply via email to