|
<table style="table-layout: fixed; width: 100%;"><tbody><tr><td><div class="cnt" id="blog_text"><table cols="6" cellspacing="2" cellpadding="2" border="1" align="center" class="p9">
<tbody>
<tr>
<th align="center" width="70"><font color="#008000">指令名称</font></th>
<th align="center" width="160"><font color="#008000">指令形式</font></th>
<th align="center" width="90"><font color="#008000">机器码</font></th>
<th align="center" width="150"><font color="#008000">标志位(设置/测试)</font></th>
<th align="center" width="270"><font color="#008000">说 明</font></th>
<th align="center" width="180"><font color="#008000">应用举例</font></th>
</tr>
<tr>
<td><a name="A"><font color="#ff0000" size="2">AAA</font></a></td>
<td>AAA</td>
<td>37</td>
<td>设置 AF CF</td>
<td>加法后的ASCII码调整AL</td>
<td>AAA</td>
</tr>
<tr>
<td><font color="#ff0000">AAD</font></td>
<td>AAD</td>
<td>D5 0A 或 D5 ib</td>
<td>设置 SF ZF PF</td>
<td>除法前的ASCII码调整AX</td>
<td>AAD</td>
</tr>
<tr>
<td><font color="#ff0000">AAM</font></td>
<td>AAM</td>
<td>D4 0A 或 D4 ib</td>
<td>设置 PF SF ZF</td>
<td>乘法后的ASCII码调整AX</td>
<td>AAM</td>
</tr>
<tr>
<td><font color="#ff0000">AAS</font></td>
<td>AAS</td>
<td>3F</td>
<td>设置 AF CF</td>
<td>减法后的ASCII码调整AL</td>
<td>AAS</td>
</tr>
<tr>
<td rowspan="14"><font color="#ff0000">ADC</font></td>
<td>ADC AL, imm8</td>
<td>14 ib</td>
<td rowspan="14">设置 AF CF OF SF PF ZF</td>
<td rowspan="14">带进位加法</td>
<td>ADC AL, 1F</td>
</tr>
<tr>
<td>ADC AX, imm16</td>
<td>15 iw</td>
<td>ADC AX, 4F80</td>
</tr>
<tr>
<td>ADC EAX, imm32</td>
<td>15 id</td>
<td>ADC EAX, 00004F80</td>
</tr>
<tr>
<td>ADC r/m8, imm8</td>
<td>80 /2 ib</td>
<td>ADC BYTE PTR [006387EA], 39</td>
</tr>
<tr>
<td>ADC r/m16,imm16</td>
<td>81 /2 iw</td>
<td>ADC WORD PTR [006387EA], 1039</td>
</tr>
<tr>
<td>ADC r/m32,imm32</td>
<td>81 /2 id</td>
<td>ADC DWORD PTR [006387EA], 00001039</td>
</tr>
<tr>
<td>ADC r/m16,imm8</td>
<td>83 /2 ib</td>
<td>ADC WORD PTR [006387EA], 39</td>
</tr>
<tr>
<td>ADC r/m32,imm8</td>
<td>83 /2 ib</td>
<td>ADC DWORD PTR [006387EA], 39</td>
</tr>
<tr>
<td>ADC r/m8,r8</td>
<td>10 /r</td>
<td>ADC [006387EA], AL</td>
</tr>
<tr>
<td>ADC r/m16,r16</td>
<td>11 /r</td>
<td>ADC [006387EA], AX</td>
</tr>
<tr>
<td>ADC r/m32,r32</td>
<td>11 / r</td>
<td>ADC [006387EA], EAX</td>
</tr>
<tr>
<td>ADC r8,r/m8</td>
<td>12 /r</td>
<td>ADC AL, [006387EA]</td>
</tr>
<tr>
<td>ADC r16,r/m16</td>
<td>13 /r</td>
<td>ADC AX, [006387EA]</td>
</tr>
<tr>
<td>ADC r32,r/m32</td>
<td>13 /r</td>
<td>ADC EAX, [006387EA]</td>
</tr>
<tr>
<td rowspan="14"><font color="#ff0000">ADD</font></td>
<td>ADD AL, imm8</td>
<td>04 ib</td>
<td rowspan="14">设置 AF CF OF SF PF ZF</td>
<td rowspan="14">加法</td>
<td>ADD AL, 1F</td>
</tr>
<tr>
<td>ADD AX, imm16</td>
<td>05 iw</td>
<td>ADD AX, 4F80</td>
</tr>
<tr>
<td>ADD EAX, imm32</td>
<td>05 id</td>
<td>ADD EAX, 00004F80</td>
</tr>
<tr>
<td>ADD r/m8, imm8</td>
<td>80 /0 ib</td>
<td>ADD BYTE PTR [006387EA], 39</td>
</tr>
<tr>
<td>ADD r/m16,imm16</td>
<td>81 /0 iw</td>
<td>ADD WORD PTR [006387EA], 1039</td>
</tr>
<tr>
<td>ADD r/m32,imm32</td>
<td>81 /0 id</td>
<td>ADD DWORD PTR [006387EA], 00001039</td>
</tr>
<tr>
<td>ADD r/m16,imm8</td>
<td>83 /0 ib</td>
<td>ADD WORD PTR [006387EA], 39</td>
</tr>
<tr>
<td>ADD r/m32,imm8</td>
<td>83 /0 ib</td>
<td>ADD DWORD PTR [006387EA], 39</td>
</tr>
<tr>
<td>ADD r/m8,r8</td>
<td>00 /r</td>
<td>ADD [006387EA], AL</td>
</tr>
<tr>
<td>ADD r/m16,r16</td>
<td>01 /r</td>
<td>ADD [006387EA], AX</td>
</tr>
<tr>
<td>ADD r/m32,r32</td>
<td>01 / r</td>
<td>ADD [006387EA], EAX</td>
</tr>
<tr>
<td>ADD r8,r/m8</td>
<td>02 /r</td>
<td>ADD AL, [006387EA]</td>
</tr>
<tr>
<td>ADD r16,r/m16</td>
<td>03 /r</td>
<td>ADD AX, [006387EA]</td>
</tr>
<tr>
<td>ADD r32,r/m32</td>
<td>03 /r</td>
<td>ADD EAX, [006387EA]</td>
</tr>
<tr>
<td rowspan="14"><font color="#ff0000">AND</font></td>
<td>AND AL, imm8</td>
<td>24 ib</td>
<td rowspan="14">设置 CF OF PF SF ZF</td>
<td rowspan="14">逻辑与</td>
<td>AND AL, 1F</td>
</tr>
<tr>
<td>AND AX, imm16</td>
<td>25 iw</td>
<td>AND AX, 4F80</td>
</tr>
<tr>
<td>AND EAX, imm32</td>
<td>25 id</td>
<td>AND EAX, 00004F80</td>
</tr>
<tr>
<td>AND r/m8, imm8</td>
<td>80 /4 ib</td>
<td>AND BYTE PTR [006387EA], 39</td>
</tr>
<tr>
<td>AND r/m16,imm16</td>
<td>81 /4 iw</td>
<td>AND WORD PTR [006387EA], 1039</td>
</tr>
<tr>
<td>AND r/m32,imm32</td>
<td>81 /4 id</td>
<td>AND DWORD PTR [006387EA], 00001039</td>
</tr>
<tr>
<td>AND r/m16,imm8</td>
<td>83 /4 ib</td>
<td>AND WORD PTR [006387EA], 39</td>
</tr>
<tr>
<td>AND r/m32,imm8</td>
<td>83 /4 ib</td>
<td>AND DWORD PTR [006387EA], 39</td>
</tr>
<tr>
<td>AND r/m8,r8</td>
<td>20 /r</td>
<td>AND BYTE PTR [006387EA], AL</td>
</tr>
<tr>
<td>AND r/m16,r16</td>
<td>21 /r</td>
<td>AND WORD PTR [006387EA], AX</td>
</tr>
<tr>
<td>AND r/m32,r32</td>
<td>21 /r</td>
<td>AND DWORD PTR [006387EA], EAX</td>
</tr>
<tr>
<td>AND r8,r/m8</td>
<td>22 /r</td>
<td>AND AL, [006387EA]</td>
</tr>
<tr>
<td>AND r16,r/m16</td>
<td>23 /r</td>
<td>AND AX, [006387EA]</td>
</tr>
<tr>
<td>AND r32,r/m32</td>
<td>23 /r</td>
<td>AND EAX, [006387EA]</td>
</tr>
<tr>
<td><font color="#ff0000">ARPL</font></td>
<td>ARPL r/m16,r16</td>
<td>63 /r</td>
<td>设置 ZF</td>
<td>调整请求特权级 (286+ PM)</td>
<td>ARPL AX, BX ;如果AX的RPL小于BX的RPL,则改为BX的RPL,且ZF置1,否则ZF清0</td>
</tr>
<tr>
<td rowspan="2"><a name="B"><font color="#ff0000" size="2">BOUND</font></a></td>
<td>BOUND r16,m16&16</td>
<td rowspan="2">62 /r</td>
<td rowspan="2">不影响标志位</td>
<td rowspan="2">越界检查 (80188+)</td>
<td>BOUND AX, [006387EA] ;如果AX不在[006387EA]及[006387EA+2]的值中间,则产生异常5</td>
</tr>
<tr>
<td>BOUND r32,m32&32</td>
<td>BOUND EAX, [006387EA] ;如果EAX不在[006387EA]及[006387EA+4]的值中间,则产生异常5</td>
</tr>
<tr>
<td rowspan="2"><font color="#ff0000">BSF</font></td>
<td>BSF r16,r/m16</td>
<td rowspan="2">0F BC</td>
<td rowspan="2">设置 ZF</td>
<td rowspan="2">从低到高扫描目标,查找对应为1的位 (386+)</td>
<td>BSF AX, BX ;把BX由低到高第一个1的位置送AX,如全0则ZF置1,否则ZF清0</td>
</tr>
<tr>
<td>BSF r32,r/m32</td>
<td>BSF EAX, EBX ;把EBX由低到高第一个1的位置送EAX,如全0则ZF置1,否则ZF清0</td>
</tr>
<tr>
<td rowspan="2"><font color="#ff0000">BSR</font></td>
<td>BSR r16,r/m16</td>
<td rowspan="2">0F BD</td>
<td rowspan="2">设置 ZF</td>
<td rowspan="2">从高到低扫描目标,查找对应为1的位 (386+)</td>
<td>BSR AX, BX ;把BX由高到低第一个1的位置送AX,如全0则ZF置1,否则ZF清0</td>
</tr>
<tr>
<td>BSR r32,r/m32</td>
<td>BSR EAX, EBX ;把EBX由高到低第一个1的位置送EAX,如全0则ZF置1,否则ZF清0</td>
</tr>
<tr>
<td><font color="#ff0000">BSWAP</font></td>
<td>BSWAP reg32</td>
<td>0F C8+rd</td>
<td>不影响标志位</td>
<td>32位寄存器高低字节交换(486+)</td>
<td>BSWAP EAX</td>
</tr>
<tr>
<td rowspan="4"><font color="#ff0000">BT</font></td>
<td>BT r/m16,r16</td>
<td>0F A3</td>
<td rowspan="4">设置 CF</td>
<td rowspan="4">测试目标的指定位 (386+)</td>
<td>BT AX, BX ;如果AX中BX指定的位为1,则CF置1,否则CF清0</td>
</tr>
<tr>
<td>BT r/m32,r32</td>
<td>0F A3</td>
<td>BT EAX, EBX ;如果EAX中EBX指定的位为1,则CF置1,否则CF清0</td>
</tr>
<tr>
<td>BT r/m16,imm8</td>
<td>0F BA /4</td>
<td>BT AX, 01 ;如果AX中01位为1,则CF置1,否则CF清0</td>
</tr>
<tr>
<td>BT r/m32,imm8</td>
<td>0F BA /4</td>
<td>BT EAX, 01 ;如果EAX中01位为1,则CF置1,否则CF清0</td>
</tr>
<tr>
<td rowspan="4"><font color="#ff0000">BTC</font></td>
<td>BTC r/m16,r16</td>
<td>0F BB</td>
<td rowspan="4">设置 CF</td>
<td rowspan="4">将目标指定位取反 (386+)</td>
<td>BTC AX, BX ;将AX中BX指定的位取反,CF存放指定位并取反位</td>
</tr>
<tr>
<td>BTC r/m32,r32</td>
<td>0F BB</td>
<td>BTC EAX, EBX ;将EAX中EBX指定的位取反,CF存放指定位并取反</td>
</tr>
<tr>
<td>BTC r/m16,imm8</td>
<td>0F BA /7</td>
<td>BTC AX, 01 ;将AX中01位取反,CF存放指定位并取反</td>
</tr>
<tr>
<td>BTC r/m32,imm8</td>
<td>0F BA /7</td>
<td>BTC EAX, 01 ;将EAX中01位取反,CF存放指定位并取反</td>
</tr>
<tr>
<td rowspan="4"><font color="#ff0000">BTR</font></td>
<td>BTR r/m16,r16</td>
<td>0F B3</td>
<td rowspan="4">设置 CF</td>
<td rowspan="4">将目标指定位清0 (386+)</td>
<td>BTR AX, BX ;将AX中BX指定的位清0,CF存放指定位并清0</td>
</tr>
<tr>
<td>BTR r/m32,r32</td>
<td>0F B3</td>
<td>BTR EAX, EBX ;将EAX中EBX指定的位清0,CF存放指定位并清0</td>
</tr>
<tr>
<td>BTR r/m16,imm8</td>
<td>0F BA /6</td>
<td>BTR AX, 01 ;将AX中01位清0,CF存放指定位并清0</td>
</tr>
<tr>
<td>BTR r/m32,imm8</td>
<td>0F BA /6</td>
<td>BTR EAX, 01 ;将EAX中01位清0,CF存放指定位并清0</td>
</tr>
<tr>
<td rowspan="4"><font color="#ff0000">BTS</font></td>
<td>BTS r/m16,r16</td>
<td>0F AB</td>
<td rowspan="4">设置 CF</td>
<td rowspan="4">将目标指定位置1 (386+)</td>
<td>BTS AX, BX ;将AX中BX指定的位置1,CF存放指定位并置1</td>
</tr>
<tr>
<td>BTS r/m32,r32</td>
<td>0F AB</td>
<td>BTS EAX, EBX ;将EAX中EBX指定的位置1,CF存放指定位并置1</td>
</tr>
<tr>
<td>BTS r/m16,imm8</td>
<td>0F BA /5</td>
<td>BTS AX, 01 ;将AX中01位置1,CF存放指定位并置1</td>
</tr>
<tr>
<td>BTS r/m32,imm8</td>
<td>0F BA /5</td>
<td>BTS EAX, 01 ;将EAX中01位置1,CF存放指定位并置1</td>
</tr>
<tr>
<td rowspan="8"><a name="C"><font color="#ff0000" size="2">CALL</font></a></td>
<td>CALL rel16</td>
<td>E8 cw</td>
<td rowspan="8">不影响标志位</td>
<td>子程序调用(16位相对寻址)</td>
<td> <br /></td>
</tr>
<tr>
<td>CALL rel32</td>
<td>E8 cd</td>
<td>子程序调用(32位相对寻址)</td>
<td> <br /></td>
</tr>
<tr>
<td>CALL r/m16</td>
<td>FF /2</td>
<td>子程序调用(16位间接寻址)</td>
<td> <br /></td>
</tr>
<tr>
<td>CALL r/m32</td>
<td>FF /2</td>
<td>子程序调用(32位间接寻址)</td>
<td> <br /></td>
</tr>
<tr>
<td>CALL ptr16:16</td>
<td>9A cd</td>
<td>子程序调用(直接绝对寻址)</td>
<td> <br /></td>
</tr>
<tr>
<td>CALL ptr16:32</td>
<td>9A cp</td>
<td>子程序调用(直接绝对寻址)</td>
<td> <br /></td>
</tr>
<tr>
<td>CALL m16:16</td>
<td>FF /3</td>
<td>子程序调用(间接绝对寻址)</td>
<td> <br /></td>
</tr>
<tr>
<td>CALL m16:32</td>
<td>FF /3</td>
<td>子程序调用(间接绝对寻址)</td>
<td> <br /></td>
</tr>
<tr>
<td><font color="#ff0000">CBW</font></td>
<td>CBW</td>
<td>98</td>
<td>不影响标志位</td>
<td>将AL值带符号扩展到AX</td>
<td>CBW</td>
</tr>
<tr>
<td><font color="#ff0000">CDQ</font></td>
<td>CDQ</td>
<td>99</td>
<td>不影响标志位</td>
<td>将EAX值带符号扩展到EDX:EAX</td>
<td>CDQ</td>
</tr>
<tr>
<td><font color="#ff0000">CLD</font></td>
<td>CLD</td>
<td>FC</td>
<td>设置 DF</td>
<td>清除方向位(DF)标志</td>
<td>CLD</td>
</tr>
<tr>
<td><font color="#ff0000">CLI</font></td>
<td>CLI</td>
<td>FA</td>
<td>设置 IF</td>
<td>清除中断允许位(IF)标志</td>
<td>CLD</td>
</tr>
<tr>
<td><font color="#ff0000">CLTS</font></td>
<td>CLTS</td>
<td>0F 06</td>
<td>不影响标志位</td>
<td>清除任务开关标志(TSF)</td>
<td>CLTS</td>
</tr>
<tr>
<td><font color="#ff0000">CMC</font></td>
<td>CMC</td>
<td>F5</td>
<td>设置 CF</td>
<td>进位标志取反</td>
<td>CMC</td>
</tr>
<tr>
<td rowspan="60"><font color="#ff0000">CMOVcc</font></td>
<td>CMOVA r16, r/m16</td>
<td rowspan="2">0F 47 /r</td>
<td rowspan="2">高于(CF=0 and ZF=0)</td>
<td rowspan="60">条件传送指令</td>
<td>CMOVA AX, BX</td>
</tr>
<tr>
<td>CMOVA r32, r/m32</td>
<td>CMOVA EAX, EBX</td>
</tr>
<tr>
<td>CMOVAE r16, r/m16</td>
<td rowspan="2">0F 43 /r</td>
<td rowspan="2">高于等于(CF=0)</td>
<td>CMOVAE AX, BX</td>
</tr>
<tr>
<td>CMOVAE r32, r/m32</td>
<td>CMOVAE EAX, EBX</td>
</tr>
<tr>
<td>CMOVB r16, r/m16</td>
<td rowspan="2">0F 42 /r</td>
<td rowspan="2">低于(CF=1)</td>
<td>CMOVB AX, BX</td>
</tr>
<tr>
<td>CMOVB r32, r/m32</td>
<td>CMOVB EAX, EBX</td>
</tr>
<tr>
<td>CMOVBE r16, r/m16</td>
<td rowspan="2">0F 46 /r</td>
<td rowspan="2">低于等于(CF=1 or ZF=1)</td>
<td>CMOVBE AX, BX</td>
</tr>
<tr>
<td>CMOVBE r32, r/m32</td>
<td>CMOVBE EAX, EBX</td>
</tr>
<tr>
<td>CMOVC r16, r/m16</td>
<td rowspan="2">0F 42 /r</td>
<td rowspan="2">有进位(CF=1)</td>
<td>CMOVC AX, BX</td>
</tr>
<tr>
<td>CMOVC r32, r/m32</td>
<td>CMOVC EAX, EBX</td>
</tr>
<tr>
<td>CMOVE r16, r/m16</td>
<td rowspan="2">0F 44 /r</td>
<td rowspan="2">等于(ZF=1)</td>
<td>CMOVE AX, BX</td>
</tr>
<tr>
<td>CMOVE r32, r/m32</td>
<td>CMOVE EAX, EBX</td>
</tr>
<tr>
<td>CMOVG r16, r/m16</td>
<td rowspan="2">0F 4F /r</td>
<td rowspan="2">大于(ZF=0 and SF=OF)</td>
<td>CMOVG AX, BX</td>
</tr>
<tr>
<td>CMOVG r32, r/m32</td>
<td>CMOVG EAX, EBX</td>
</tr>
<tr>
<td>CMOVGE r16, r/m16</td>
<td rowspan="2">0F 4D /r</td>
<td rowspan="2">大于等于(SF=OF)</td>
<td>CMOVGE AX, BX</td>
</tr>
<tr>
<td>CMOVGE r32, r/m32</td>
<td>CMOVGE EAX, EBX</td>
</tr>
<tr>
<td>CMOVL r16, r/m16</td>
<td rowspan="2">0F 4C /r</td>
<td rowspan="2">小于(SF<>OF)</td>
<td>CMOVL AX, BX</td>
</tr>
<tr>
<td>CMOVL r32, r/m32</td>
<td>CMOVL EAX, EBX</td>
</tr>
<tr>
<td>CMOVLE r16, r/m16</td>
<td rowspan="2">0F 4E /r</td>
<td rowspan="2">小于等于(ZF=1 or SF<>OF)</td>
<td>CMOVLE AX, BX</td>
</tr>
<tr>
<td>CMOVLE r32, r/m32</td>
<td>CMOVLE EAX, EBX</td>
</tr>
<tr>
<td>CMOVNA r16, r/m16</td>
<td rowspan="2">0F 46 /r</td>
<td rowspan="2">不高于(CF=1 or ZF=1)</td>
<td>CMOVNA AX, BX</td>
</tr>
<tr>
<td>CMOVNA r32, r/m32</td>
<td>CMOVNA EAX, EBX</td>
</tr>
<tr>
<td>CMOVNAE r16, r/m16</td>
<td rowspan="2">0F 42 /r</td>
<td rowspan="2">不高等于(CF=1)</td>
<td>CMOVNAE AX, BX</td>
</tr>
<tr>
<td>CMOVNAE r32, r/m32</td>
<td>CMOVNAE EAX, EBX</td>
</tr>
<tr>
<td>CMOVNB r16, r/m16</td>
<td rowspan="2">0F 43 /r</td>
<td rowspan="2">不低于(CF=0)</td>
<td>CMOVNB AX, BX</td>
</tr>
<tr>
<td>CMOVNB r32, r/m32</td>
<td>CMOVNB EAX, EBX</td>
</tr>
<tr>
<td>CMOVNBE r16, r/m16</td>
<td rowspan="2">0F 47 /r</td>
<td rowspan="2">不低等于(CF=0 and ZF=0)</td>
<td>CMOVNBE AX, BX</td>
</tr>
<tr>
<td>CMOVNBE r32, r/m32</td>
<td>CMOVNBE EAX, EBX</td>
</tr>
<tr>
<td>CMOVNC r16, r/m16</td>
<td rowspan="2">0F 43 /r</td>
<td rowspan="2">无进位(CF=0)</td>
<td>CMOVNC AX, BX</td>
</tr>
<tr>
<td>CMOVNC r32, r/m32</td>
<td>CMOVNC EAX, EBX</td>
</tr>
<tr>
<td>CMOVNE r16, r/m16</td>
<td rowspan="2">0F 45 /r</td>
<td rowspan="2">不等于(ZF=0)</td>
<td>CMOVNE AX, BX</td>
</tr>
<tr>
<td>CMOVNE r32, r/m32</td>
<td>CMOVNE EAX, EBX</td>
</tr>
<tr>
<td>CMOVNG r16, r/m16</td>
<td rowspan="2">0F 4E /r</td>
<td rowspan="2">不大于(ZF=1 or SF<>OF)</td>
<td>CMOVNG AX, BX</td>
</tr>
<tr>
<td>CMOVNG r32, r/m32</td>
<td>CMOVNG EAX, EBX</td>
</tr>
<tr>
<td>CMOVNGE r16, r/m16</td>
<td rowspan="2">0F 4C /r</td>
<td rowspan="2">不大等于(SF<>OF)</td>
<td>CMOVNGE AX, BX</td>
</tr>
<tr>
<td>CMOVNGE r32, r/m32</td>
<td>CMOVNGE EAX, EBX</td>
</tr>
<tr>
<td>CMOVNL r16, r/m16</td>
<td rowspan="2">0F 4D /r</td>
<td rowspan="2">不小于(SF=OF)</td>
<td>CMOVNL AX, BX</td>
</tr>
<tr>
<td>CMOVNL r32, r/m32</td>
<td>CMOVNL EAX, EBX</td>
</tr>
<tr>
<td>CMOVNLE r16, r/m16</td>
<td rowspan="2">0F 4F /r</td>
<td rowspan="2">不小等于(ZF=0 and SF=OF)</td>
<td>CMOVNLE AX, BX</td>
</tr>
<tr>
<td>CMOVNLE r32, r/m32</td>
<td>CMOVNLE EAX, EBX</td>
</tr>
<tr>
<td>CMOVNO r16, r/m16</td>
<td rowspan="2">0F 41 /r</td>
<td rowspan="2">无溢出(OF=0)</td>
<td>CMOVNO AX, BX</td>
</tr>
<tr>
<td>CMOVNO r32, r/m32</td>
<td>CMOVNO EAX, EBX</td>
</tr>
<tr>
<td>CMOVNP r16, r/m16</td>
<td rowspan="2">0F 4B /r</td>
<td rowspan="2">非偶数(PF=0)</td>
<td>CMOVNP AX, BX</td>
</tr>
<tr>
<td>CMOVNP r32, r/m32</td>
<td>CMOVNP EAX, EBX</td>
</tr>
<tr>
<td>CMOVNS r16, r/m16</td>
<td rowspan="2">0F 49 /r</td>
<td rowspan="2">非负数(SF=0)</td>
<td>CMOVNS AX, BX</td>
</tr>
<tr>
<td>CMOVNS r32, r/m32</td>
<td>CMOVNS EAX, EBX</td>
</tr>
<tr>
<td>CMOVNZ r16, r/m16</td>
<td rowspan="2">0F 45 /r</td>
<td rowspan="2">非零(ZF=0)</td>
<td>CMOVNZ AX, BX</td>
</tr>
<tr>
<td>CMOVNZ r32, r/m32</td>
<td>CMOVNZ EAX, EBX</td>
</tr>
<tr>
<td>CMOVO r16, r/m16</td>
<td rowspan="2">0F 40 /r</td>
<td rowspan="2">溢出(OF=1)</td>
<td>CMOVO AX, BX</td>
</tr>
<tr>
<td>CMOVO r32, r/m32</td>
<td>CMOVO EAX, EBX</td>
</tr>
<tr>
<td>CMOVP r16, r/m16</td>
<td rowspan="2">0F 4A /r</td>
<td rowspan="2">偶数(PF=1)</td>
<td>CMOVP AX, BX</td>
</tr>
<tr>
<td>CMOVP r32, r/m32</td>
<td>CMOVP EAX, EBX</td>
</tr>
<tr>
<td>CMOVPE r16, r/m16</td>
<td rowspan="2">0F 4A /r</td>
<td rowspan="2">偶数(PF=1)</td>
<td>CMOVPE AX, BX</td>
</tr>
<tr>
<td>CMOVPE r32, r/m32</td>
<td>CMOVPE EAX, EBX</td>
</tr>
<tr>
<td>CMOVPO r16, r/m16</td>
<td rowspan="2">0F 4B /r</td>
<td rowspan="2">奇数(PF=0)</td>
<td>CMOVPO AX, BX</td>
</tr>
<tr>
<td>CMOVPO r32, r/m32</td>
<td>CMOVPO EAX, EBX</td>
</tr>
<tr>
<td>CMOVS r16, r/m16</td>
<td rowspan="2">0F 48 /r</td>
<td rowspan="2">负数(SF=1)</td>
<td>CMOVS AX, BX</td>
</tr>
<tr>
<td>CMOVS r32, r/m32</td>
<td>CMOVS EAX, EBX</td>
</tr>
<tr>
<td>CMOVZ r16, r/m16</td>
<td rowspan="2">0F 44 /r</td>
<td rowspan="2">为零(ZF=1)</td>
<td>CMOVZ AX, BX</td>
</tr>
<tr>
<td>CMOVZ r32, r/m32</td>
<td>CMOVZ EAX, EBX</td>
</tr>
<tr>
<td rowspan="14"><font color="#ff0000">CMP</font></td>
<td>CMP AL, imm8</td>
<td>3C ib</td>
<td rowspan="14">设置 AF CF OF PF SF ZF</td>
<td rowspan="14">比较大小,然后设置标志位</td>
<td>CMP AL, 1F</td>
</tr>
<tr>
<td>CMP AX, imm16</td>
<td>3D iw</td>
<td>CMP AX, 4F80</td>
</tr>
<tr>
<td>CMP EAX, imm32</td>
<td>3D id</td>
<td>CMP EAX, 00004F80</td>
</tr>
<tr>
<td>CMP r/m8, imm8</td>
<td>80 /7 ib</td>
<td>CMP BYTE PTR [006387EA], 39</td>
</tr>
<tr>
<td>CMP r/m16,imm16</td>
<td>81 /7 iw</td>
<td>CMP WORD PTR [006387EA], 1039</td>
</tr>
<tr>
<td>CMP r/m32,imm32</td>
<td>81 /7 id</td>
<td>CMP DWORD PTR [006387EA], 00001039</td>
</tr>
<tr>
<td>CMP r/m16,imm8</td>
<td>83 /7 ib</td>
<td>CMP WORD PTR [006387EA], 39</td>
</tr>
<tr>
<td>CMP r/m32,imm8</td>
<td>83 /7 ib</td>
<td>CMP DWORD PTR [006387EA], 39</td>
</tr>
<tr>
<td>CMP r/m8,r8</td>
<td>38 /r</td>
<td>CMP BYTE PTR [006387EA], AL</td>
</tr>
<tr>
<td>CMP r/m16,r16</td>
<td>39 /r</td>
<td>CMP WORD PTR [006387EA], AX</td>
</tr>
<tr>
<td>CMP r/m32,r32</td>
<td>39 / r</td>
<td>CMP DWORD PTR [006387EA], EAX</td>
</tr>
<tr>
<td>CMP r8,r/m8</td>
<td>3A /r</td>
<td>CMP AL, [006387EA]</td>
</tr>
<tr>
<td>CMP r16,r/m16</td>
<td>3B /r</td>
<td>CMP AX, [006387EA]</td>
</tr>
<tr>
<td>CMP r32,r/m32</td>
<td>3B /r</td>
<td>CMP EAX, [006387EA]</td>
</tr>
<tr>
<td rowspan="6"><font color="#ff0000">CMPS</font></td>
<td>CMPS m8, m8</td>
<td>A6</td>
<td rowspan="6">设置 AF CF OF PF SF ZF</td>
<td>比较字符串,每次比较1个字节</td>
<td>CMPS STRING1, STRING2 ;源串DS:(E)SI,目的串:ES:(E)DI</td>
</tr>
<tr>
<td>CMPS m16, m16</td>
<td>A7</td>
<td>比较字符串,每次比较1个字</td>
<td>CMPS STRING1, STRING2 ;源串DS:(E)SI,目的串:ES:(E)DI</td>
</tr>
<tr>
<td>CMPS m32, m32</td>
<td>A7</td>
<td>比较字符串,每次比较1个双字</td>
<td>CMPS STRING1, STRING2 ;源串DS:(E)SI,目的串:ES:(E)DI (386+)</td>
</tr>
<tr>
<td>CMPSB</td>
<td>A6</td>
<td>比较字符串,每次比较1个字节</td>
<td>CMPSB ;源串DS:(E)SI,目的串:ES:(E)DI</td>
</tr>
<tr>
<td>CMPSW</td>
<td>A7</td>
<td>比较字符串,每次比较1个字</td>
<td>CMPSW ;源串DS:(E)SI,目的串:ES:(E)DI</td>
</tr>
<tr>
<td>CMPSD</td>
<td>A7</td>
<td>比较字符串,每次比较1个双字</td>
<td>CMPSD ;源串DS:(E)SI,目的串:ES:(E)DI (386+)</td>
</tr>
<tr>
<td rowspan="3"><font color="#ff0000">CMPXCHG</font></td>
<td>CMPXCHG r/m8,r8</td>
<td>0F B0 /r</td>
<td rowspan="3">设置 AF CF OF PF SF ZF</td>
<td rowspan="3">比较交换 (486+)</td>
<td>CMPXCHG BL,CL ;如果AL与BL相等,则CL送BL且ZF置1;否则BL送CL,且ZF清0</td>
</tr>
<tr>
<td>CMPXCHG r/m16,r16</td>
<td>0F B1 /r</td>
<td>CMPXCHG BX,CX ;如果AX与BX相等,则CX送BX且ZF置1;否则BX送CX,且ZF清0</td>
</tr>
<tr>
<td>CMPXCHG r/m32,r32</td>
<td>0F B1 /r</td>
<td>CMPXCHG EBX,ECX ;如果EAX与EBX相等,则ECX送EBX且ZF置1;否则EBX送ECX,且ZF清0</td>
</tr>
<tr>
<td><font color="#ff0000">CMPXCHG8B</font></td>
<td>CMPXCHG8B m64</td>
<td>0F C7 /1 m64</td>
<td>设置 ZF</td>
<td>比较交换 (486+)</td>
<td>CMPXCHG [ESI] ;比较EDX:EAX与64位的目标,如果相等则ECX:EBX送往目标且ZF置1,否则目标送EDX:EAX且ZF清0</td>
</tr>
<tr>
<td><font color="#ff0000">CPUID</font></td>
<td>CPUID</td>
<td>0F A2</td>
<td>不影响标志位</td>
<td>CPU标识送EAX、EBX、ECX、EDX</td>
<td>CPUID</td>
</tr>
<tr>
<td><font color="#ff0000">CWD</font></td>
<td>CWD</td>
<td>99</td>
<td>不影响标志位</td>
<td>将AX带符号扩展到DX:AX</td>
<td>CWD</td>
</tr>
<tr>
<td><font color="#ff0000">CWDE</font></td>
<td>CWDE</td>
<td>98</td>
<td>不影响标志位</td>
<td>将AX带符号扩展到EAX</td>
</tr>
</tbody>
</table></div></td></tr></tbody></table> |
|