xref: /aosp_15_r20/external/elfutils/libcpu/defs/i386.doc (revision 7304104da70ce23c86437a01be71edd1a2d7f37e)
1*7304104dSAndroid Build Coastguard Worker{imm} only parameter:
2*7304104dSAndroid Build Coastguard Worker  - is {s} in opcode: {s} == 0, unsigned (8/)16/32 bit immediate
3*7304104dSAndroid Build Coastguard Worker                      {s} == 1, signed 8 bit immediate
4*7304104dSAndroid Build Coastguard Worker
5*7304104dSAndroid Build Coastguard Worker{es:di}: segment register normally %es, can be overwritten
6*7304104dSAndroid Build Coastguard Worker         edi/di depending on apfx
7*7304104dSAndroid Build Coastguard Worker
8*7304104dSAndroid Build Coastguard Worker{ds:si}: segment register normally %ds, can be overwritten
9*7304104dSAndroid Build Coastguard Worker         esi/si depending on apfx
10*7304104dSAndroid Build Coastguard Worker
11*7304104dSAndroid Build Coastguard Worker{ax}     al/ax/eax depending of dpfx and w
12*7304104dSAndroid Build Coastguard Worker
13*7304104dSAndroid Build Coastguard Worker{dx}     (%edx) or (%dx) depending on apfx
14*7304104dSAndroid Build Coastguard Worker
15*7304104dSAndroid Build Coastguard Worker
16*7304104dSAndroid Build Coastguard Worker{w}      0 = b, 1 = { no dpfx = l, dpfx = w }
17*7304104dSAndroid Build Coastguard Worker
18*7304104dSAndroid Build Coastguard Worker{W}      no dpfx = <empty>, dpfx = w
19*7304104dSAndroid Build Coastguard Worker{WW}     no dpfx = l, dpfx = w
20*7304104dSAndroid Build Coastguard Worker
21*7304104dSAndroid Build Coastguard Worker{R} rep prefix possible
22*7304104dSAndroid Build Coastguard Worker{RE} repe or repne prefix possible
23*7304104dSAndroid Build Coastguard Worker
24*7304104dSAndroid Build Coastguard Worker{ccc} CRx registers
25*7304104dSAndroid Build Coastguard Worker{ddd} DRx registers
26*7304104dSAndroid Build Coastguard Worker
27*7304104dSAndroid Build Coastguard Worker{gg}  00 = b, 01 = w, 10 = d, 11 = <illegal>
28*7304104dSAndroid Build Coastguard Worker{0g}  00 = b, 01 = w, 10 = <illegal>, 11 = <illegal>
29*7304104dSAndroid Build Coastguard Worker{GG}  00 = <illegal>, 01 = w, 10 = d, 11 = q
30*7304104dSAndroid Build Coastguard Worker{gG}  00 = <illegal>, 01 = w, 10 = d, 11 = <illegal>
31*7304104dSAndroid Build Coastguard Worker
32*7304104dSAndroid Build Coastguard Worker{modr/m} normal registers
33*7304104dSAndroid Build Coastguard Worker{MODR/M} MMX registers
34*7304104dSAndroid Build Coastguard Worker{ModR/m} XMM registers
35*7304104dSAndroid Build Coastguard Worker
36*7304104dSAndroid Build Coastguard Worker~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37*7304104dSAndroid Build Coastguard WorkerSpecial opcodes (prefixes):
38*7304104dSAndroid Build Coastguard Worker
39*7304104dSAndroid Build Coastguard Worker
40*7304104dSAndroid Build Coastguard Worker01100111:{apfx}
41*7304104dSAndroid Build Coastguard Worker01100110:{dpfx}
42*7304104dSAndroid Build Coastguard Worker
43*7304104dSAndroid Build Coastguard Worker00101110:{cs}
44*7304104dSAndroid Build Coastguard Worker00111110:{ds}
45*7304104dSAndroid Build Coastguard Worker00100110:{es}
46*7304104dSAndroid Build Coastguard Worker01100100:{fs}
47*7304104dSAndroid Build Coastguard Worker01100101:{gs}
48*7304104dSAndroid Build Coastguard Worker
49*7304104dSAndroid Build Coastguard Worker
50*7304104dSAndroid Build Coastguard Worker~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
51*7304104dSAndroid Build Coastguard Worker
52*7304104dSAndroid Build Coastguard Workertable format
53*7304104dSAndroid Build Coastguard Worker
54*7304104dSAndroid Build Coastguard Worker1bit RE flag
55*7304104dSAndroid Build Coastguard Worker1bit R flag
56*7304104dSAndroid Build Coastguard Worker16bit mnemonic
57*7304104dSAndroid Build Coastguard Worker3bit suffix
58*7304104dSAndroid Build Coastguard Worker
59*7304104dSAndroid Build Coastguard Worker5bit fct
60*7304104dSAndroid Build Coastguard Worker2bit string
61*7304104dSAndroid Build Coastguard Worker6bit offset1
62*7304104dSAndroid Build Coastguard Worker5bit offset2
63*7304104dSAndroid Build Coastguard Worker
64*7304104dSAndroid Build Coastguard Worker4bit fct
65*7304104dSAndroid Build Coastguard Worker1bit string
66*7304104dSAndroid Build Coastguard Worker6bit offset1
67*7304104dSAndroid Build Coastguard Worker4bit offset2
68*7304104dSAndroid Build Coastguard Worker
69*7304104dSAndroid Build Coastguard Worker2bit fct
70*7304104dSAndroid Build Coastguard Worker1bit string
71*7304104dSAndroid Build Coastguard Worker3bit offset1
72*7304104dSAndroid Build Coastguard Worker1bit offset2
73*7304104dSAndroid Build Coastguard Worker
74*7304104dSAndroid Build Coastguard Worker61bit
75