不小心就会评论 發表於 2019-12-16 22:01:00

汇编语言基础--汇编操作指令概述

<p>&nbsp; &nbsp; &nbsp;本文是接续"汇编语言基础--机器级数据存储",主要介绍汇编指令的构造、寻址和指令主要分类。</p>

<h2>操作指令</h2>

<p><strong>指令的基本要素:</strong></p>

<p><strong>&nbsp; &nbsp; &nbsp;&nbsp;</strong>在"计算机处理器(CPU)基础"介绍了一条完整可执行指令包括指令码和操作数。由于同一功能的指令要处理不同数据类型的操作数,这样指令的长度判读、计算的复杂度等存在差别,所以即使是同一功能的指令也存在不同的版本和编码。如针对不同数据类型,mov(传送数据)指令,有movb(传送字节),movw(传送字),movl(传送双字)三种不同的版本(这里都是基于AT&amp;T的GAS)。</p>

<p><strong>指令寻址:</strong></p>

<p><strong>&nbsp; &nbsp; &nbsp;</strong>指令中存在三种寻址方式,使用立即数、寄存器和储存器引用,GAS汇编代码书写有特殊的方法区分这三种寻址方式。立即数是直接存储在完整指令代码中的数据,如movl&nbsp;$0x1a, %eax,这里就是将16进制的1a存储到eax寄存器中(GAS要求立即数前需要有$, 寄存器前有%)。movl $0x1a, %eax 语句中的%eax就是寄存寻址,意味着会使用该寄存器中的值或者是将某个值存储到寄存器中。</p>

<p>&nbsp; &nbsp; &nbsp;存储器寻址是指读取存储器中某个位置上值或者将某个值存储在存储器中的某个位置。存储器寻址又包括多种寻址方式。</p>

<p>&nbsp; &nbsp; &nbsp; 1.绝对寻址:GAS中书写汇编代码时,常数前没有$符号时,如movl 0x104, %eax,这里就不是讲0x104移动到eax寄存器中,而是指将存储器绝对地址0x104中的值移动到eax寄存器中</p>

<p>&nbsp; &nbsp; &nbsp; 2.间接寻址:使用寄存器中存储的值作为存储器的地址读取或者写入数据。书写时只需要加上括号即可,如movl $20, (%esp), 这里代表将立即数存储在存储地址为寄存器esp中值的存储器位置中。</p>

<p>&nbsp; &nbsp; &nbsp;3.基址+偏移量寻址:寄存器中存储的值作为基地址,立即数作为基地址的偏移量,两者的和作为存储器地址。书写方式是在间接寻址的书写寄存上,括号前写上常数偏移量。如movl $20, -3(%esp),是将立即数20存储在%esp-3的存储器位置。</p>

<p>&nbsp; &nbsp; 4.一般化的变址寻址(加上伸缩因子):变址寻址的不同之处在于,取两个寄存器,一个作为基址寄存器,另一个作为变址寄存器,一个常数作为伸缩因子,一个立即数作为偏移,内存地址的确定由基址+变址与伸缩因子的积+偏移。书写方式如9(%eax ,%edx ,4),9位偏移量,4为伸缩因子。其中不同部分可以为空,构成不同类型的变址。</p>

<p>tips:这里所指的内存地址是指地址空间的地址,使用虚拟内存的机制,实际访问内存时,还会有一步转换为物理地址,一般由<span style="color: rgba(0, 0, 0, 1)">MMU按照TLB或者内存中页表的映射转换为物理地址,从内存中取出数据。</span></p>

<p>&nbsp;</p>

<p><strong>指令分类:</strong></p>

<p><strong>&nbsp; &nbsp; &nbsp;</strong>指令系统中,主要有四种类型的指令,分别是数据传输指令、算数与逻辑操作、控制指令和转移指令。</p>

<p>1.数据传输指令</p>

<p>数据传输指令主要用来实现数据的移动。参考指令有:</p>

<table cellspacing="0" style="width: 523px" summary=""><tbody><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 117px">
                        <p style="margin-left: 0">指令</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 187px">
                        <p style="margin-left: 0">效果</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 218px">
                        <p style="margin-left: 0">描述</p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 117px">
                        <p style="margin-left: 0">movl&nbsp; S, D</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 187px">
                        <p style="margin-left: 0">D &lt;- S</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 218px">
                        <p style="margin-left: 0">传送双字</p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 117px">
                        <p style="margin-left: 0">movw S, D</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 187px">
                        <p style="margin-left: 0">D &lt;-&nbsp;S</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 218px">
                        <p style="margin-left: 0">传送字</p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 117px">
                        <p style="margin-left: 0">movb S, D</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 187px">
                        <p style="margin-left: 0">D &lt;- S</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 218px">
                        <p style="margin-left: 0">传送字节</p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 117px">
                        <p style="margin-left: 0">movsbl S, D</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 187px">
                        <p style="margin-left: 0">D &lt;- 符号扩展</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 218px">
                        <p style="margin-left: 0">传送字节,符号扩展为双字</p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 117px">
                        <p style="margin-left: 0">movzbl S, D</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 187px">
                        <p style="margin-left: 0">D &lt;- 零扩展</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 218px">
                        <p style="margin-left: 0">传送字节,零扩展为双字</p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 117px">
                        <p style="margin-left: 0">pushl S</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 187px">
                        <p style="margin-left: 0">R[%esp] &lt;- R[%esp]-4</p>

                        <p style="margin-left: 0">M] &lt;- S</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 218px">
                        <p style="margin-left: 0">压栈</p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 117px">
                        <p style="margin-left: 0">popl D</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 187px">
                        <p style="margin-left: 0">D &lt;- M];</p>

                        <p style="margin-left: 0">R[%esp] &lt;- R[%esp]+4</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 218px">
                        <p style="margin-left: 0">出栈</p>
                        </td>
                </tr></tbody></table><p>2.算数和逻辑操作(注意这些指令都存在w和b版本)</p>

<p>&nbsp; &nbsp;这类操作符主要用来实现算数与逻辑运算。参考指令有:</p>

<table cellspacing="0" style="width: 682px" summary=""><tbody><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 1.1145in">
                        <p style="margin-left: 0">&nbsp;</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 1.1208in">
                        <p style="margin-left: 0">指令</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 248px">
                        <p style="margin-left: 0">效果</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 218px">
                        <p style="margin-left: 0">描述</p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 1.134in">
                        <p style="margin-left: 0">计算有效地址</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 1.1208in">
                        <p style="margin-left: 0">leal S, D</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 248px">
                        <p style="margin-left: 0">D &lt;- &amp;S</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 218px">
                        <p style="margin-left: 0">将S的地址移动到D中(movl是将S地址中的值移动到D中)</p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 1.1145in">
                        <p style="margin-left: 0">一元操作符</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 1.1208in">
                        <p style="margin-left: 0">incl D</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">decl D</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">negl D</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">notl D</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 248px">
                        <p style="margin-left: 0">D &lt;- D+1</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">D&nbsp; &lt;- D-1</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">D &lt;- -D</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">D &lt;- ~D</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 218px">
                        <p style="margin-left: 0">加一</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">减一</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">取负</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">去补</p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 1.1145in">
                        <p style="margin-left: 0">二元操作符</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 1.1208in">
                        <p style="margin-left: 0">addl S, D</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">subl S, D</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">imull S, D</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">xorl S, D</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">orl S, D</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">andl S, D</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 248px">
                        <p style="margin-left: 0">D &lt;-&nbsp; D + S</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">D &lt;- D - S</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">D &lt;- D*S</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">D &lt;- D^S</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">D &lt;- D|S</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">D &lt;- D&amp;S</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 218px">
                        <p style="margin-left: 0">加</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">减</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">乘</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">异或</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">与</p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 1.1145in">
                        <p style="margin-left: 0">移位操作</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 1.1208in">
                        <p style="margin-left: 0">sall k, D</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">shll k, D</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">sarl k, D</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">shrl k, D</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 248px">
                        <p style="margin-left: 0">D &lt;- D&lt;&lt;k</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">D &lt;- D&lt;&lt;k</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">D &lt;- D&gt;&gt;k</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">D &lt;- D&gt;&gt;&gt;k</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 218px">
                        <p style="margin-left: 0">左移</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">左移</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">算数右移</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">逻辑右移</p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 1.1145in">
                        <p style="margin-left: 0">特殊操作</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 1.1208in">
                        <p style="margin-left: 0">imull S</p>

                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0">mull S</p>

                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0">cltd S</p>

                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0">idivl S</p>

                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">divl S</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 248px">
                        <p style="margin-left: 0">R[%edx]:R[%eax] &lt;- SxR[%eax]</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">R[%edx]:R[%eax] &lt;- SxR[%eax]</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">R[%edx]:R[%eax] &lt;- R[%eax]</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">R[%edx] &lt;- R[%edx]:R[%eax] mod S</p>

                        <p style="margin-left: 0">R[%eax] &lt;- R[%edx]:R[%eax] / S</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">R[%edx] &lt;- R[%edx]:R[%eax] mod S</p>

                        <p style="margin-left: 0">R[%eax] &lt;- R[%edx]:R[%eax] / S</p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 218px">
                        <p style="margin-left: 0">&nbsp;有符号全64位乘法</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">无符号全64位乘法</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">符号扩展转换为64位</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">有符号除法</p>

                        <p style="margin-left: 0">(两步是同时,eax没变)</p>

                        <p style="margin-left: 0">&nbsp;</p>

                        <p style="margin-left: 0">无符号除法</p>
                        </td>
                </tr></tbody></table><p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">3.控制指令</span></p>

<p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">通过条件码(psw程序状态字)和跳转指令实现if...else和循环。</span></p>

<p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">A.程序状态字</span></p>

<p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">可以参考8086的程序状态字,如图:</span></p>

<p style="margin-left: 0"><img alt="" class="has lazyload" height="111" width="416" data-src="https://img-blog.csdnimg.cn/20190121213930412.png"></p>

<p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">绿色是三个控制标志位,控制cpu的操作:</span></p>

<p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)"><strong>DF:</strong>derection flag, 方向标志位,它指定字符串处理的方向,当该标志为1时,字符串以递减顺序处理,即由高字位向低字位处理,反之,则递增顺序处理。</span></p>

<p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)"><strong>IF:</strong>Interrupt enable flag, 它指定cpu能否响应外部中断请求,如果为1,则接受外部中断请求,否则,则不接受。</span></p>

<p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)"><strong>TF:</strong>trap flag,跟踪标志位,是为程序调试设置的陷阱控制位,当为1时,cpu处于单步状态,每执行一条指令,就会产生一个内部中断,复位时则cpu正常工作。&nbsp;</span></p>

<p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">黄色是六个状态标志位:</span></p>

<p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">&nbsp; OF: overflow flag, 当补码运算有溢出时,OF=1,否则,OF=0。</span></p>

<p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">&nbsp; SF:sign flag, 符号标志位,为1时表示最近的运算结果为负数。</span></p>

<p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">&nbsp; ZF:zore flag, 零标志位,若当前结果是0,则ZF等于1,否则为0。</span></p>

<p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">&nbsp; CF: carry flag, 进位标志位,无符号数运算产生溢出时,设置为1,否则设置为0,。</span></p>

<p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">&nbsp; AF: Auxiliary cary flag, 辅助进位标识位.</span></p>

<p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">&nbsp;&nbsp;PF:Parity Flag, 辅助进位标志位。</span></p>

<p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">B.会设置条件码的指令:</span></p>

<p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">&nbsp; &nbsp; 1.上面提到的运算指令。</span></p>

<p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">&nbsp; &nbsp; 2.比较指令</span></p>

<table cellspacing="0" summary=""><tbody><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 1.8305in">
                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">指令</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 0.6673in">
                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">效果</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 4.6666in">
                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">描述</span></p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 1.85in">
                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">coml(comb, comw)&nbsp; S2, S1</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 0.6673in">
                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">S1 - S2</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 4.7993in">
                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">比较字节(相等,零标志位设置1,其他标志大小可以判断大小关系)</span></p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 1.8305in">
                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">testl(testb, testw) S2, S1</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 0.6673in">
                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">S1&amp;S2</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 4.6666in">
                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">测试字节(通过与运算来设置零标志位或者负数标志位)</span></p>
                        </td>
                </tr></tbody></table><p>C.会访问条件码的指令</p>

<p>&nbsp; &nbsp; &nbsp;<span style="color: rgba(0, 0, 0, 1)">(1).根据条件码设置值</span></p>

<table cellspacing="0" style="width: 665px" summary=""><tbody><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 118px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">指令</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 110px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">同义指令</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 224px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">效果</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 210px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">设置条件</span></p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 118px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>sete D</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>setne D</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 110px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>setz</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>setnz</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 224px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>D &lt;-&nbsp;&nbsp; ZF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>D &lt;-&nbsp;&nbsp; ~ZF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 210px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">相等<em>/</em>零</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">不等<em>/</em>非零</span></p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 118px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>sets D</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>setns D</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 110px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 224px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>D &lt;-&nbsp;&nbsp; SF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>D &lt;-&nbsp; ~SF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 210px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">负数</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">非负数</span></p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 118px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>setg D</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>setge D</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>setl D</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>setle D</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 110px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>setnle</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>setnl</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>setnge</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>setng</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 224px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>D &lt;-&nbsp;&nbsp; ~(SF ^OF) &amp; ZF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>D &lt;-&nbsp;&nbsp; ~(SF ^OF)</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>D &lt;-&nbsp; SF ^ OF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>D &lt;-&nbsp; (SF ^ OF) | ZF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 210px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">大于(有符号<em>&gt;</em>)</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">小于等于<em>(</em>有符号<em>&gt;=)</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">小于<em>(</em>有符号<em>&lt;)</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">小于等于<em>(</em>有符号<em>&lt;=)</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 118px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>seta D</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>setae D</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>setb D</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>setbe D</em></span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 110px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>setnbe</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>setnb</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>setnae</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>setna</em></span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 224px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>D &lt;-&nbsp; ~CF &amp; ~ZF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>D &lt;-&nbsp; ~CF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>D &lt;-&nbsp;&nbsp; CF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>D &lt;-&nbsp; CF | ZF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 210px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">超过<em>(</em>无符号<em>&gt;)</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">超过或等于<em>(</em>无符号<em>&gt;=)</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">低于<em>(</em>无符号<em>&lt;)</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">低于或等于<em>(</em>无符号<em>&lt;=)</em></span></p>
                        </td>
                </tr></tbody></table><p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">&nbsp; &nbsp; (2).根据条件码跳转</span></p>

<p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 根据条件码跳转,跳转目的地用一个label指明(类似于c中goto标签):</span></p>

<table cellspacing="0" summary=""><tbody><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 177px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">指令</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 142px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">同义名</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 123px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">跳转条件</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 263px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">描述</span></p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 177px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jmp&nbsp;&nbsp; Label</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jmp&nbsp;&nbsp; *Operand</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 142px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 123px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>1</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>1</em></span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 263px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">直接跳转,跳转指令中给出位置</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">间接跳转,跳转位置由寄存器给出</span></p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 177px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>je&nbsp;&nbsp;&nbsp;&nbsp; Label</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jne&nbsp;&nbsp;&nbsp; Label</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 142px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jz</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jnz</em></span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 123px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>ZF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>~ZF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 263px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">等于<em>/</em>零</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">不等<em>/</em>非零</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 177px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>js&nbsp;&nbsp;&nbsp;&nbsp; Label</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jns&nbsp;&nbsp; Label</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 142px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 123px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>SF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>~SF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 263px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">负数</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">非负数</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 177px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jg&nbsp;&nbsp;&nbsp;&nbsp; Label</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jge&nbsp;&nbsp;&nbsp; Label</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jl&nbsp;&nbsp;&nbsp;&nbsp; Label</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jle&nbsp;&nbsp;&nbsp;&nbsp; Label</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 142px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jnle</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jnl</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jnge</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jng</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 123px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>~(SF^OF) &amp; ~ZF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>~(SF ^ OF)</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>SF ^ OF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>(SF ^ OF) | ZF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 263px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">大于<em>(</em>有符号<em>&gt;)</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">大于等于<em>(</em>有符号<em>&gt;=)</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">小于(有符号<em>&lt;</em>)</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">小于等于<em>(</em>有符号<em>&lt;=)</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 177px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>ja&nbsp;&nbsp;&nbsp;&nbsp; Label</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jae&nbsp;&nbsp;&nbsp; Label</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jb&nbsp;&nbsp;&nbsp;&nbsp; Label</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jbe&nbsp;&nbsp;&nbsp; Label</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 142px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jnbe</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jnb</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jnae</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>jna</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 123px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>~CF &amp; ~ZF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>~CF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>CF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)"><em>CF | ZF</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 263px">
                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">超过<em>(</em>无符号<em>&gt;)</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">超过或等于<em>(</em>无符号<em>&gt;=)</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">低于<em>(</em>无符号<em>&lt;)</em></span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">&nbsp;</span></p>

                        <p style="margin-left: 0"><span style="color: rgba(79, 79, 79, 1)">低于或等于<em>(</em>无符号<em>&lt;=)</em></span></p>
                        </td>
                </tr></tbody></table><p style="margin-left: 0"><br><span style="color: rgba(0, 0, 0, 1)">4.转移指令(过程控制)</span></p>

<p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">&nbsp; &nbsp; &nbsp; &nbsp;实现函数过程调用和返回相关指令。</span></p>

<table cellspacing="0" style="width: 292px" summary=""><tbody><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 127px">
                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">指令</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 165px">
                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">描述</span></p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 127px">
                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">call label</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 165px">
                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">过程调用</span></p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 127px">
                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">call *operant</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 165px">
                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">过程调用</span></p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 127px">
                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">leave</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 165px">
                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">为返回准备栈</span></p>
                        </td>
                </tr><tr><td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 127px">
                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">ret</span></p>
                        </td>
                        <td style="border-color: rgba(163, 163, 163, 1); vertical-align: top; width: 165px">
                        <p style="margin-left: 0"><span style="color: rgba(0, 0, 0, 1)">从过程调用中返回</span></p>
                        </td>
                </tr></tbody></table><p>&nbsp;</p>

<p>&nbsp; &nbsp; &nbsp; 至此,CPU硬件和汇编相关的概述已经完全介绍完全了,下一部分将是底层相关的多级存储的一些知识总结。</p>

<p>本系列文章:</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;计算机底层架构(偏硬件)综述&nbsp;&nbsp;&nbsp;</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;计算机处理器(CPU)基础&nbsp;</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;汇编语言基础--机器级数据存储</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;汇编语言基础--汇编操作指令概述</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;计算机多级存储模型&nbsp;</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;外设IO原理</p>

<p>&nbsp;</p>

<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/fanyunyu/p/12051669.html
頁: [1]
查看完整版本: 汇编语言基础--汇编操作指令概述