1 <!DOCTYPE HTML PUBLIC
"-//IETF//DTD HTML 2.0//EN">
4 <TITLE>80386 Programmer's Reference Manual -- Appendix A
</TITLE>
7 <B>up:
</B> <A HREF=
"app.htm">
10 <A HREF=
"appb.htm">Appendix B -- Complete Flag Cross-Reference
</A><BR>
14 <H1>Appendix A -- Opcode Map
</H1>
16 The opcode tables that follow aid in interpreting
80386 object code. Use
17 the high-order four bits of the opcode as an index to a row of the opcode
18 table; use the low-order four bits as an index to a column of the table. If
19 the opcode is
0FH, refer to the two-byte opcode table and use the second
20 byte of the opcode to index the rows and columns of that table.
23 <H3>Key to Abbreviations
</H3>
25 Operands are identified by a two-character code of the form Zz. The first
26 character, an uppercase letter, specifies the addressing method; the second
27 character, a lowercase letter, specifies the type of operand.
30 <H3>Codes for Addressing Method
</H3>
34 <DD>Direct address; the instruction has no modR/M byte; the address of the
35 operand is encoded in the instruction; no base register, index register,
36 or scaling factor can be applied; e.g., far
<A HREF=
"JMP.htm">JMP
</A> (EA).
39 <DD>The reg field of the modR/M byte selects a control register; e.g.,
40 <A HREF=
"MOVRS.htm">MOV
</A>
44 <DD>The reg field of the modR/M byte selects a debug register; e.g.,
45 <A HREF=
"MOVRS.htm">MOV
</A>
49 <DD>A modR/M byte follows the opcode and specifies the operand. The operand
50 is either a general register or a memory address. If it is a memory
51 address, the address is computed from a segment register and any of the
52 following values: a base register, an index register, a scaling factor,
59 <DD>The reg field of the modR/M byte selects a general register; e.g.,
60 <A HREF=
"ADD.htm">ADD
</A>
64 <DD>Immediate data. The value of the operand is encoded in subsequent bytes
68 <DD>The instruction contains a relative offset to be added to the
69 instruction pointer register; e.g.,
<A HREF=
"JMP.htm">JMP
</A> short,
70 <A HREF=
"LOOP.htm">LOOP
</A>.
73 <DD>The modR/M byte may refer only to memory; e.g.,
74 <A HREF=
"BOUND.htm">BOUND
</A>,
<A HREF=
"LGS.htm">LES
</A>,
75 <A HREF=
"LGS.htm">LDS
</A>,
<A HREF=
"LGS.htm">LSS
</A>,
76 <A HREF=
"LGS.htm">LFS
</A>,
<A HREF=
"LGS.htm">LGS
</A>.
79 <DD>The instruction has no modR/M byte; the offset of the operand is coded as
80 a word or double word (depending on address size attribute) in the
81 instruction. No base register, index register, or scaling factor can be
82 applied; e.g.,
<A HREF=
"MOV.htm">MOV
</A> (A0-A3).
85 <DD>The mod field of the modR/M byte may refer only to a general register;
86 e.g.,
<A HREF=
"MOV.htm">MOV
</A> (
0F20-
0F24,
0F26).
89 <DD>The reg field of the modR/M byte selects a segment register; e.g.,
90 <A HREF=
"MOV.htm">MOV
</A>
94 <DD>The reg field of the modR/M byte selects a test register; e.g.,
95 <A HREF=
"MOVRS.htm">MOV
</A>
99 <DD>Memory addressed by DS:SI; e.g.,
<A HREF=
"MOVS.htm">MOVS
</A>,
100 <A HREF=
"CMPS.htm">CMPS
</A>,
101 <A HREF=
"OUTS.htm">OUTS
</A>,
102 <A HREF=
"LODS.htm">LODS
</A>,
103 <A HREF=
"SCAS.htm">SCAS
</A>.
106 <DD>Memory addressed by ES:DI; e.g.,
107 <A HREF=
"MOVS.htm">MOVS
</A>,
108 <A HREF=
"CMPS.htm">CMPS
</A>,
109 <A HREF=
"INS.htm">INS
</A>,
110 <A HREF=
"STOS.htm">STOS
</A>.
113 <H3>Codes for Operant Type
</H3>
117 <DD> Two one-word operands in memory or two double-word operands in memory,
118 depending on operand size attribute (used only by
119 <A HREF=
"BOUND.htm">BOUND
</A>)
122 <DD>Byte (regardless of operand size attribute)
125 <DD>Byte or word, depending on operand size attribute.
128 <DD>Double word (regardless of operand size attribute)
131 <DD>32-bit or
48-bit pointer, depending on operand size attribute.
134 <DD>Six-byte pseudo-descriptor
137 <DD>Word or double word, depending on operand size attribute.
140 <DD>Word (regardless of operand size attribute)
143 <H3>Register Codes
</H3>
145 When an operand is a specific register encoded in the opcode, the register
146 is identified by its name; e.g., AX, CL, or ESI. The name of the register
147 indicates whether the register is
32-,
16-, or
8-bits wide. A register
148 identifier of the form eXX is used when the width of the register depends on
149 the operand size attribute; for example, eAX indicates that the AX register
150 is used when the operand size attribute is
16 and the EAX register is used
151 when the operand size attribute is
32.
154 <H3>One-Byte Opcode Map
</H3>
157 0 1 2 3 4 5 6 7 8 9 A B C D E F
158 +-----------------------------------------------------------+--------+--------+-----------------------------------------------------------+--------+--------+
159 |
<A HREF=
"ADD.htm">ADD
</A> |
<A HREF=
"PUSH.htm">PUSH
</A> |
<A HREF=
"POP.htm">POP
</A> |
<A HREF=
"OR.htm">OR
</A> |
<A HREF=
"PUSH.htm">PUSH
</A> |
2-byte |
160 0|---------+---------+---------+---------+---------+---------+ | +---------+---------+---------+---------+---------+---------+ | |
161 | Eb,Gb | Ev,Gv | Gb,Eb | Gv,Ev | AL,Ib | eAX,Iv | ES | ES | Eb,Gb | Ev,Gv | Gb,Eb | Gv,Ev | AL,Ib | eAX,Iv | CS | escape |
162 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
163 |
<A HREF=
"ADC.htm">ADC
</A> |
<A HREF=
"PUSH.htm">PUSH
</A> |
<A HREF=
"POP.htm">POP
</A> |
<A HREF=
"SBB.htm">SBB
</A> |
<A HREF=
"PUSH.htm">PUSH
</A> |
<A HREF=
"POP.htm">POP
</A> |
164 1|---------+---------+---------+---------+---------+---------+ | +---------+---------+---------+---------+---------+---------+ | |
165 | Eb,Gb | Ev,Gv | Gb,Eb | Gv,Ev | AL,Ib | eAX,Iv | SS | SS | Eb,Gb | Ev,Gv | Gb,Eb | Gv,Ev | AL,Ib | eAX,Iv | DS | DS |
166 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
167 |
<A HREF=
"AND.htm">AND
</A> | SEG | |
<A HREF=
"SUB.htm">SUB
</A> | SEG | |
168 2|---------+---------+---------+---------+---------+---------+ |
<A HREF=
"DAA.htm">DAA
</A> +---------+---------+---------+---------+---------+---------+ |
<A HREF=
"DAS.htm">DAS
</A> |
169 | Eb,Gb | Ev,Gv | Gb,Eb | Gv,Ev | AL,Ib | eAX,Iv | =ES | | Eb,Gb | Ev,Gv | Gb,Eb | Gv,Ev | AL,Ib | eAX,Iv | =CS | |
170 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
171 |
<A HREF=
"XOR.htm">XOR
</A> | SEG | |
<A HREF=
"CMP.htm">CMP
</A> | SEG | |
172 3|---------+---------+---------+---------+---------+---------+ |
<A HREF=
"AAA.htm">AAA
</A> +---------+---------+---------+---------+---------+---------+ |
<A HREF=
"AAS.htm">AAS
</A> |
173 | Eb,Gb | Ev,Gv | Gb,Eb | Gv,Ev | AL,Ib | eAX,Iv | =SS | | Eb,Gb | Ev,Gv | Gb,Eb | Gv,Ev | AL,Ib | eAX,Iv | =CS | |
174 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
175 |
<A HREF=
"INC.htm">INC
</A> general register |
<A HREF=
"DEC.htm">DEC
</A> general register |
176 4|---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
177 | eAX | eCX | eDX | eBX | eSP | eBP | eSI | eDI | eAX | eCX | eDX | eBX | eSP | eBP | eSI | eDI |
178 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
179 |
<A HREF=
"PUSH.htm">PUSH
</A> general register |
<A HREF=
"POP.htm">POP
</A> into general register |
180 5|---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
181 | eAX | eCX | eDX | eBX | eSP | eBP | eSI | eDI | eAX | eCX | eDX | eBX | eSP | eBP | eSI | eDI |
182 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
183 | | |
<A HREF=
"BOUND.htm">BOUND
</A> |
<A HREF=
"ARPL.htm">ARPL
</A> | SEG | SEG | Operand| Address|
<A HREF=
"PUSH.htm">PUSH
</A> |
<A HREF=
"IMUL.htm">IMUL
</A> |
<A HREF=
"PUSH.htm">PUSH
</A> |
<A HREF=
"IMUL.htm">IMUL
</A> |
<A HREF=
"INS.htm">INSB
</A> |
<A HREF=
"INS.htm">INSW/D
</A> |
<A HREF=
"OUTS.htm">OUTSB
</A> |
<A HREF=
"OUTS.htm">OUTSW/D
</A> |
184 6|
<A HREF=
"PUSHA.htm">PUSHA
</A> |
<A HREF=
"POPA.htm">POPA
</A> | | | | | | | | | | | | | | |
185 | | | Gv,Ma | Ew,Rw | =FS | =GS | Size | Size | Ib | GvEvIv | Ib | GvEvIv | Yb,DX | Yb,DX | Dx,Xb | DX,Xv |
186 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
187 | Short displacement jump of condition (Jb) | Short-displacement jump on condition(Jb) |
188 7|---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
189 |
<A HREF=
"Jcc.htm">JO
</A> |
<A HREF=
"Jcc.htm">JNO
</A> |
<A HREF=
"Jcc.htm">JB
</A> |
<A HREF=
"Jcc.htm">JNB
</A> |
<A HREF=
"Jcc.htm">JZ
</A> |
<A HREF=
"Jcc.htm">JNZ
</A> |
<A HREF=
"Jcc.htm">JBE
</A> |
<A HREF=
"Jcc.htm">JNBE
</A> |
<A HREF=
"Jcc.htm">JS
</A> |
<A HREF=
"Jcc.htm">JNS
</A> |
<A HREF=
"Jcc.htm">JP
</A> |
<A HREF=
"Jcc.htm">JNP
</A> |
<A HREF=
"Jcc.htm">JL
</A> |
<A HREF=
"Jcc.htm">JNL
</A> |
<A HREF=
"Jcc.htm">JLE
</A> |
<A HREF=
"Jcc.htm">JNLE
</A> |
190 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
191 | Immediate Grpl | | Grpl |
<A HREF=
"TEST.htm">TEST
</A> |
<A HREF=
"XCHG.htm">XCHG
</A> |
<A HREF=
"MOV.htm">MOV
</A> |
<A HREF=
"MOV.htm">MOV
</A> |
<A HREF=
"LEA.htm">LEA
</A> |
<A HREF=
"MOV.htm">MOV
</A> |
<A HREF=
"POP.htm">POP
</A> |
192 8|---------+---------+ | +---------+---------+--------+--------+---------+---------+---------+---------+ | | | |
193 | Eb,Ib | Ev,Iv | | Ev,Iv | Eb,Gb | Ev,Gv | Eb,Gb | Ev,Gv | Eb,Gb | Ev,Gv | Gb,Eb | Gv,Ev | Ew,Sw | Gv,M | Sw,Ew | Ev |
194 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
195 | |
<A HREF=
"XCHG.htm">XCHG
</A> word or double-word register with eAX | | |
<A HREF=
"CALL.htm">CALL
</A> | |
<A HREF=
"PUSHF.htm">PUSHF
</A> |
<A HREF=
"POPF.htm">POPF
</A> | | |
196 9|
<A HREF=
"NOP.htm">NOP
</A> +---------+---------+---------+---------+---------+--------+--------+
<A HREF=
"CBW.htm">CBW
</A> |
<A HREF=
"CWD.htm">CWD
</A> | |
<A HREF=
"WAIT.htm">WAIT
</A> | | |
<A HREF=
"SAHF">SAHF
</A> |
<A HREF=
"LAHF.htm">LAHF
</A> |
197 | | eCX | eDX | eBX | eSP | eBP | eSI | eDI | | | Ap | | Fv | Fv | | |
198 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
199 |
<A HREF=
"MOV.htm">MOV
</A> |
<A HREF=
"MOVS.htm">MOVSB
</A> |
<A HREF=
"MOVS.htm">MOVSW/D
</A> |
<A HREF=
"CMPS.htm">CMPSB
</A> |
<A HREF=
"CMPS.htm">CMPSW/D
</A> |
<A HREF=
"TEST.htm">TEST
</A> |
<A HREF=
"STOS.htm">STOSB
</A> |
<A HREF=
"STOS.htm">STOSW/D
</A> |
<A HREF=
"LODS.htm">LODSB
</A> |
<A HREF=
"LODS.htm">LODSW/D
</A> |
<A HREF=
"SCAS.htm">SCASB
</A> |
<A HREF=
"SCAS.htm">SCASW/D
</A> |
200 A|---------+---------+---------+---------+ | | | +---------+---------+ | | | | | |
201 | AL,Ob | eAX,Ov | Ob,AL | Ov,eAX | Xb,Yb | Xv,Yv | Xb,Yb | Xv,Yv | AL,Ib | eAX,Iv | Yb,AL | Yv,eAX | AL,Xb | eAX,Xv | AL,Xb |eAX,Xv |
202 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
203 |
<A HREF=
"MOV.htm">MOV
</A> immediate byte into byte register |
<A HREF=
"MOV.htm">MOV
</A> immediate word or double into word or double register |
204 B|---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
205 | AL | CL | DL | BL | AH | CH | DH | BH | eAX | eCX | eDX | eBX | eSP | eBP | eSI | eDI |
206 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
207 | Shift Grp2 |
<A HREF=
"RET.htm">RET
</A> near |
<A HREF=
"LGS.htm">LES
</A> |
<A HREF=
"LGS.htm">LDS
</A> |
<A HREF=
"MOV.htm">MOV
</A> |
<A HREF=
"ENTER.htm">ENTER
</A> | |
<A HREF=
"RET.htm">RET
</A> far |
<A HREF=
"INT.htm">INT
</A> |
<A HREF=
"INT.htm">INT
</A> | | |
208 C|---------+---------+---------+---------+ | +--------+--------+ |
<A HREF=
"LEAVE.htm">LEAVE
</A> +---------+---------+ | |
<A HREF=
"INT.htm">INTO
</A> |
<A HREF=
"IRET.htm">IRET
</A> |
209 | Eb,Ib | Ev,Iv | Iw | | Gv,Mp | Gv,Mp | Eb,Ib | Ev,Iv | Iw,Ib | | Iw | |
3 | Ib | | |
210 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
211 | Shift Grp2 | | | | | |
212 D|---------+---------+---------+---------+
<A HREF=
"AAM.htm">AAM
</A> |
<A HREF=
"AAD.htm">AAD
</A> | |
<A HREF=
"XLAT.htm">XLAT
</A> | ESC(Escape to coprocessor instruction set) |
213 | Eb,
1 | Ev,
1 | Eb,CL | Ev,CL | | | | | |
214 +---------+---------+---------+---------+---------+---------+--------+--------+---------+-----------------------------+-------------------+-----------------+
215 |
<A HREF=
"LOOP.htm">LOOPNE
</A> |
<A HREF=
"LOOP.htm">LOOPE
</A> |
<A HREF=
"LOOP.htm">LOOP
</A> |
<A HREF=
"Jcc.htm">JCXZ
</A> |
<A HREF=
"IN.htm">IN
</A> |
<A HREF=
"OUT.htm">OUT
</A> |
<A HREF=
"CALL.htm">CALL
</A> |
<A HREF=
"Jcc.htm">JNP
</A> |
<A HREF=
"IN.htm">IN
</A> |
<A HREF=
"OUT.htm">OUT
</A> |
216 E| | | | +---------+---------+--------+--------+ +---------+---------+---------+---------+---------+--------+--------+
217 | Jb | Jb | Jb | Jb | AL,Ib | eAX,Ib | Ib,AL | Ib,eAX | Av | Jv | Ap | Jb | AL,DX | eAX,DX | DX,AL | DX,eAX |
218 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
219 | | | |
<A HREF=
"REP.htm">REP
</A> | | | Unary Grp3 | | | | | | |
<A HREF=
"INC.htm">INC
</A>/
<A HREF=
"DEC.htm">DEC
</A> |Indirct |
220 F|
<A HREF=
"LOCK.htm">LOCK
</A> | |
<A HREF=
"REP.htm">REPNE
</A> | |
<A HREF=
"HLT.htm">HLT
</A> |
<A HREF=
"CMC.htm">CMC
</A> +--------+--------+
<A HREF=
"CLC.htm">CLC
</A> |
<A HREF=
"STC.htm">STC
</A> |
<A HREF=
"CLI.htm">CLI
</A> |
<A HREF=
"STI.htm">STI
</A> |
<A HREF=
"CLD.htm">CLD
</A> |
<A HREF=
"STD.htm">STD
</A> | | |
221 | | | |
<A HREF=
"REP.htm">REPE
</A> | | | Eb | Ev | | | | | | | Grp4 | Grp5 |
222 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
225 <H3>Two-Byte Opcode Map (first byte is
0FH)
</H3>
228 0 1 2 3 4 5 6 7 8 9 A B C D E F
229 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
230 | | |
<A HREF=
"LAR.htm">LAR
</A> |
<A HREF=
"LSL.htm">LSL
</A> | | | | | | | | | | | | |
231 0| Grp6 | Grp7 | | | | |
<A HREF=
"CLTS.htm">CLTS
</A> | | | | | | | | | |
232 | | | Gw,Ew | Gv,Ew | | | | | | | | | | | | |
233 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
234 | | | | | | | | | | | | | | | | |
235 1| | | | | | | | | | | | | | | | |
236 | | | | | | | | | | | | | | | | |
237 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
238 |
<A HREF=
"MOVRS.htm">MOV
</A> |
<A HREF=
"MOVRS.htm">MOV
</A> |
<A HREF=
"MOVRS.htm">MOV
</A> |
<A HREF=
"MOVRS.htm">MOV
</A> |
<A HREF=
"MOVRS.htm">MOV
</A> | |
<A HREF=
"MOVRS.htm">MOV
</A> | | | | | | | | | |
239 2| | | | | | | | | | | | | | | | |
240 | Cd,Rd | Dd,Rd | Rd,Cd | Rd,Dd | Td,Rd | | Rd,Td | | | | | | | | | |
241 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
242 | | | | | | | | | | | | | | | | |
243 3| | | | | | | | | | | | | | | | |
244 | | | | | | | | | | | | | | | | |
245 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
246 | | | | | | | | | | | | | | | | |
247 4| | | | | | | | | | | | | | | | |
248 | | | | | | | | | | | | | | | | |
249 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
250 | | | | | | | | | | | | | | | | |
251 5| | | | | | | | | | | | | | | | |
252 | | | | | | | | | | | | | | | | |
253 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
254 | | | | | | | | | | | | | | | | |
255 6| | | | | | | | | | | | | | | | |
256 | | | | | | | | | | | | | | | | |
257 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
258 | | | | | | | | | | | | | | | | |
259 7| | | | | | | | | | | | | | | | |
260 | | | | | | | | | | | | | | | | |
261 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
262 | Long-displacement jump on condition (Jv) | Long-displacement jump on condition (Jv) |
263 8|---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
264 |
<A HREF=
"Jcc.htm">JO
</A> |
<A HREF=
"Jcc.htm">JNO
</A> |
<A HREF=
"Jcc.htm">JB
</A> |
<A HREF=
"Jcc.htm">JNB
</A> |
<A HREF=
"Jcc.htm">JZ
</A> |
<A HREF=
"Jcc.htm">JNZ
</A> |
<A HREF=
"Jcc.htm">JBE
</A> |
<A HREF=
"Jcc.htm">JNBE
</A> |
<A HREF=
"Jcc.htm">JS
</A> |
<A HREF=
"Jcc.htm">JNS
</A> |
<A HREF=
"Jcc.htm">JP
</A> |
<A HREF=
"Jcc.htm">JNP
</A> |
<A HREF=
"Jcc.htm">JL
</A> |
<A HREF=
"Jcc.htm">JNL
</A> |
<A HREF=
"Jcc.htm">JLE
</A> |
<A HREF=
"Jcc.htm">JNLE
</A> |
265 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
266 | Byte Set on condition (Eb) | | | | | | | | |
267 9|---------+---------+---------+---------+---------+---------+--------+--------+
<A HREF=
"SETcc.htm">SETS
</A> |
<A HREF=
"SETcc.htm">SETNS
</A> |
<A HREF=
"SETcc.htm">SETP
</A> |
<A HREF=
"SETcc.htm">SETNP
</A> |
<A HREF=
"SETcc.htm">SETL
</A> |
<A HREF=
"SETcc.htm">SETNL
</A> |
<A HREF=
"SETcc.htm">SETLE
</A> |
<A HREF=
"SETcc.htm">SETNLE
</A> |
268 |
<A HREF=
"SETcc.htm">SETO
</A> |
<A HREF=
"SETcc.htm">SETNO
</A> |
<A HREF=
"SETcc.htm">SETB
</A> |
<A HREF=
"SETcc.htm">SETNB
</A> |
<A HREF=
"SETcc.htm">SETZ
</A> |
<A HREF=
"SETcc.htm">SETNZ
</A> |
<A HREF=
"SETcc.htm">SETBE
</A> |
<A HREF=
"SETcc.htm">SETNBE
</A> | | | | | | | | |
269 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
270 |
<A HREF=
"PUSH.htm">PUSH
</A> |
<A HREF=
"POP.htm">POP
</A> | |
<A HREF=
"BT.htm">BT
</A> |
<A HREF=
"SAL.htm">SHLD
</A> |
<A HREF=
"SAL.htm">SHLD
</A> | | |
<A HREF=
"PUSH.htm">PUSH
</A> |
<A HREF=
"POP.htm">POP
</A> | |
<A HREF=
"BTS.htm">BTS
</A> |
<A HREF=
"SAL.htm">SHRD
</A> |
<A HREF=
"SAL.htm">SHRD
</A> | |
<A HREF=
"IMUL.htm">IMUL
</A> |
271 A| | | | | | | | | | | | | | | | |
272 | FS | FS | | Ev,Gv | EvGvIb | EvGvCL | | | GS | GS | | Ev,Gv | EvGvIb | EvGvCL | | Gv,Ev |
273 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
274 | | |
<A HREF=
"LGS.htm">LSS
</A> |
<A HREF=
"BTR.htm">BTR
</A> |
<A HREF=
"LGS.htm">LFS
</A> |
<A HREF=
"LGS.htm">LGS
</A> |
<A HREF=
"MOVZX.htm">MOVZX
</A> | | | Grp-
8 |
<A HREF=
"BTC.htm">BTC
</A> |
<A HREF=
"BSF.htm">BSF
</A> |
<A HREF=
"BSR.htm">BSR
</A> |
<A HREF=
"MOVSX.htm">MOVSX
</A> |
275 B| | | | | | +--------+--------+ | | | | | +-----------------+
276 | | | Mp | Ev,Gv | Mp | Mp | Gv,Eb | Gv,Ew | | | Ev,Ib | Ev,Gv | Gv,Ev | Gv,Ev | Gv,Eb Gv,Ew |
277 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
278 | | | | | | | | | | | | | | | | |
279 C| | | | | | | | | | | | | | | | |
280 | | | | | | | | | | | | | | | | |
281 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
282 | | | | | | | | | | | | | | | | |
283 D| | | | | | | | | | | | | | | | |
284 | | | | | | | | | | | | | | | | |
285 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
286 | | | | | | | | | | | | | | | | |
287 E| | | | | | | | | | | | | | | | |
288 | | | | | | | | | | | | | | | | |
289 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
290 | | | | | | | | | | | | | | | | |
291 F| | | | | | | | | | | | | | | | |
292 | | | | | | | | | | | | | | | | |
293 +---------+---------+---------+---------+---------+---------+--------+--------+---------+---------+---------+---------+---------+---------+--------+--------+
296 <H3>Opcodes determined by bits
5,
4,
3 of modR/M byte
</H3>
299 G +-------+-------+-------+
300 r | mod | nnn | R/M |
301 o +-------+-------+-------+
303 p
000 001 010 011 100 101 110 111
304 +-------+-------+-------+-------+-------+-------+-------+-------+
305 1|
<A HREF=
"ADD.htm">ADD
</A> |
<A HREF=
"OR.htm">OR
</A> |
<A HREF=
"ADC.htm">ADC
</A> |
<A HREF=
"SBB.htm">SBB
</A> |
<A HREF=
"AND.htm">AND
</A> |
<A HREF=
"SUB.htm">SUB
</A> |
<A HREF=
"XOR.htm">XOR
</A> |
<A HREF=
"CMP.htm">CMP
</A> |
307 +-------+-------+-------+-------+-------+-------+-------+-------+
308 2|
<A HREF=
"RCL.htm">ROL
</A> |
<A HREF=
"RCL.htm">ROR
</A> |
<A HREF=
"RCL.htm">RCL
</A> |
<A HREF=
"RCL.htm">RCR
</A> |
<A HREF=
"SAL.htm">SHL
</A> |
<A HREF=
"SAL.htm">SHR
</A> | |
<A HREF=
"SAL.htm">SAR
</A> |
310 +-------+-------+-------+-------+-------+-------+-------+-------+
311 3|
<A HREF=
"TEST.htm">TEST
</A> | |
<A HREF=
"NOT.htm">NOT
</A> |
<A HREF=
"NEG.htm">NEG
</A> |
<A HREF=
"MUL.htm">MUL
</A> |
<A HREF=
"IMUL.htm">IMUL
</A> |
<A HREF=
"DIV.htm">DIV
</A> |
<A HREF=
"IDIV.htm">IDIV
</A> |
312 | Ib/Iv | | | |AL/eAX |AL/eAX |AL/eAX |AL/eAX |
313 +-------+-------+-------+-------+-------+-------+-------+-------+
314 4| INC |
<A HREF=
"DEC.htm">DEC
</A> | | | | | | |
315 | Eb | Eb | | | | | | |
316 +-------+-------+-------+-------+-------+-------+-------+-------+
317 5|
<A HREF=
"INC.htm">INC
</A> |
<A HREF=
"DEC.htm">DEC
</A> |
<A HREF=
"CALL.htm">CALL
</A> |
<A HREF=
"CALL.htm">CALL
</A> |
<A HREF=
"JMP.htm">JMP
</A> |
<A HREF=
"JMP.htm">JMP
</A> |
<A HREF=
"PUSH.htm">PUSH
</A> | |
318 | Ev | Ev | Ev | eP | Ev | Ep | Ev | |
319 +-------+-------+-------+-------+-------+-------+-------+-------+
322 <H3>Opcodes determined by bits
5,
4,
3 of modR/M byte
</H3>
325 G +-------+-------+-------+
326 r | mod | nnn | R/M |
327 o +-------+-------+-------+
329 p
000 001 010 011 100 101 110 111
330 +-------+-------+-------+-------+-------+-------+-------+-------+
331 6|
<A HREF=
"SLDT.htm">SLDT
</A> |
<A HREF=
"STR.htm">STR
</A> |
<A HREF=
"LLDT.htm">LLDT
</A> |
<A HREF=
"LTR.htm">LTR
</A> |
<A HREF=
"VERR.htm">VERR
</A> |
<A HREF=
"VERR.htm">VERW
</A> | | |
332 | Ew | Ew | Ew | Ew | Ew | Ew | | |
333 +-------+-------+-------+-------+-------+-------+-------+-------+
334 7|
<A HREF=
"SGDT.htm">SGDT
</A> |
<A HREF=
"SGDT.htm">SIDT
</A> |
<A HREF=
"LGDT.htm">LGDT
</A> |
<A HREF=
"LGDT.htm">LIDT
</A> |
<A HREF=
"SMSW.htm">SMSW
</A> | |
<A HREF=
"LMSW.htm">LMSW
</A> | |
335 | Ms | Ms | Ms | Ms | Ew | | Ew | |
336 +-------+-------+-------+-------+-------+-------+-------+-------+
337 8| | | | |
<A HREF=
"BT.htm">BT
</A> |
<A HREF=
"BTS.htm">BTS
</A> |
<A HREF=
"BTR.htm">BTR
</A> |
<A HREF=
"BTC.htm">BTC
</A> |
339 +-------+-------+-------+-------+-------+-------+-------+-------+
344 <B>up:
</B> <A HREF=
"app.htm">
347 <A HREF=
"appb.htm">Appendix B -- Complete Flag Cross-Reference
</A><BR>