2022年ARM汇编指令.docx
名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -汇编指令处理器的指令集可以分为跳转指令、数据处理指令、程序状态寄存器()处理指令、加 载储备指令、协处理器指令和反常产生指令大指令;一、跳转指令 跳转指令用于实现程序流程的跳转,在程序中有以下两种方法可以实现程序流程的跳 转;.使用特地的跳转指令;.直接向程序计数器写入跳转地址值,通过向程序计数器写入跳转地址值,可以实现在的地址空间中的任意跳转,在跳转之前结合使用,等类似指令, 可以储存将来的返回地址值,从而实现在连续的线性地址空间的子程序调用;指令集中的跳转指令可以完成从当前指令向前或向后的的地址空间的跳转,包括以下条 指令:、指令 指令的格式为: 条件 目标地址指令是最简洁的跳转指令;一旦遇到一个指令,处理器将立刻跳转到给定的目标地址,从那里连续执行;留意储备在跳转指令中的实际值是相对当前 对地址,它的值由汇编器来运算(参考寻址方式中的相对寻址)值的一个偏移量,而不是一个绝;它是位有符号数,左移两位后有符号扩展为位,表示的有效偏移为位前后的地址空间;以下指令:;程序无条件跳转到标号处执行,;当寄存器中的条件码置位时,程序跳转到标号处执行、指令 指令的格式为: 条件 目标地址是另一个跳转指令,但跳转之前,会在寄存器中储存的当前内容,因此,可以通过将的内容重新加载到中,来返回到跳转指令之后的那个 个基本但常用的手段;以 下指令:指令处执行;该指令是实现子程序调用的一;当程序无条件跳转到标号处执行时,同时将当前的 值储存到;()中、指令 指令的格式为:目标地址 指令从指令集跳转到指令中所指定的目标地址,并将处理器的工作状态有状态切换到状态,该指令同时将的当前内容储存到寄存 器中;因此,当子程序使用指令集,而调用者使用指 令集时,可以通过指令实现子程序的调用和处理器工作状态的切换;同时,子程 序的返回 可以通过将寄存器值复制到中来完成;、指令 指令的格式为: 条件 目标地址 指令跳转到指令中所指定的目标地址,目标地址处的指令既可以是指令,也可以是指令;1 / 21 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 21 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -二、数据处理指令 数据处理指令可分为数据传送指令、算术规律运算指令 和比较指令等;数据传送指令用于在寄存器和储备器之间进行数据的双向传输;算术规律运算指令完成常用的算术与规律的运算,器中,同时更新中的相应条件标志位;该类指令不但将运算结果储存在目的寄存比较指令不储存运算结果,只更新中相应的条件标志位;数据处理指令共以下条;、指令(传送)指令的格式为: 条件 目的寄存器,源操作数 指令可完成从另一个寄存器、被移位的寄存器或将一个立刻数加载到目的寄存器;其中选项打算指令的操作是否影响中条件标志位的值,当没有 指令示例:,;将寄存器的值传送到寄存器时指令不更新中条件标志位的值;,;将寄存器的值传送到,常用于子程序返回,;将寄存器的值左移位后传送到、指令(求反)指令的格式为: 条件 目的寄存器,源操作数 指令可完成从另一个寄存器、被移位的寄存器、或将一个立刻数加载到目的寄存器;与指令 不同之处是在传送之前按位被取反了,即把一个被取反的值 传送到目的寄存器中;其中决 定指令的操作是否影响中条件标志位的值,当没有时指令不更新中条件标志位的值;指令示例:,;将立刻数取反传送到寄存器中,完成后、指令(比较)指令的格式为: 条件 操作数,操作数 指令用于把一个寄存器的内容和另一个寄存器的内容或立刻数进行比较,同时更新中条件标 志位的值; 该指令进行一次减法运算,但不储备结果,只 更换条件标志位;标志位表示的 是操作数与操作数的关系 大、小、相等 ,例如,当操作数大于操作操作数,就此后的有后 缀的指令将可以执行;指令示例:,;将寄存器的值与寄存器的值相减,并依据结果设置的标;志位,;将寄存器的值与立刻数相减,并根据结果设置的标志位、指令(负数比较)指令的格式为: 条件 操作数,操作数 指令用于把一个寄存器的内容和另一个寄存器的内容或立刻数取反后进行比较,同时更新中条件标志位的值;该指令实际完成操作数和操作数相 指令示例:加,并依据结果更换条件标志位;,;将寄存器的值与寄存器的值相加,并依据结果设置;的标志位,;将寄存器的值与立刻数相加,并依据结果设置的标志位2 / 21 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 21 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -、指令(测试)指令的格式为: 条件 操作数,操作数指令用于把一个寄存器的内容和另一个寄存器的内容或立刻数进行按位的与运算,并依据运算结果更新中条件标志位的值;操作数是要测试的数 一般用来检测是否设置了特定的位;指令示例:据,而操作数是一个位掩码,该指令,;用于测试在寄存器中是否设置了最低位(表示二进制数),;将寄存器的值与立刻数按位与,并依据结果设置;的标志位、指令(测试相等)指令的格式为: 条件 操作数,操作数 指令用于把一个寄存器的内容和另一个寄存器的内容或立刻数进行按位的异或运算,并依据 运算结果更新中条件标志位的值;该指令通常用于比较操作数和操作数是否相等;指令示例:,;将寄存器的值与寄存器的值按位异或,并依据结果设置;的标志位、指令(相加)指令的格式为: 条件 目的寄存器,操作数,操作数操作数应是一个寄存器,操作指令用于把两个操作数相加,并将结果存放到目的寄存器中;数可以是一个寄存器,被移位的寄存器,或一个立刻数;指令示例:,; << ,;,、指令(带进位相加)指令的格式为: 条件 目的寄存器,操作数,操作数 指令用于把两个操作数相加,再加上中的条件标志位的值,并将结果存放到目的寄存器中;它使用一个进位标志位,这样就可以做比位大的数 进位标志;操作数应是一个寄存器,操作数可以是一 立刻数;的加法,留意不要遗忘设置后缀来更换 个寄存器,被移位的寄存器,或一个以下指令序列完成两个位数的加法,第一个数由高到低存放在寄存器,其次个数由高到低存放在寄存器,运算结果由高到低存放在寄 存器:,; 加低端的字,; 加其次个字,带进位,; 加第三个字,带进位,; 加第四个字,带进位、指令(相减)指令的格式为: 条件 目的寄存器,操作数,操作数操作数应是一个寄存器,操指令用于把操作数减去操作数,并将结果存放到目的寄存器中;3 / 21 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 21 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -作数可以是一个寄存器,被移位的寄存器,或一个立刻 号数的减法运算;指令示例:,; << ,、指令 指令的格式为: 条件 目的寄存器,操作数,操作数数;该指令可用于有符号数或无符指令用于把操作数减去操作数,再减去中的条件标志位的反码,并将结果存放到目的寄存器中;操作数应是一个寄存器,操作数可以 是一个寄存器, 被移位的寄存器,或一个立刻数;该指令使用进位标志来表示借位,这样就可以做大于位的减法,留意不要遗忘设置后缀来更改进位标志;该指令可用于有符号数或无符号数的减法运算;指令示例:,;!,并依据结果设置的进位标志位、指令指令的格式为: 条件 目的寄存器,操作数,操作数并将结果存放到目的寄存器中;操作数指令称为逆向减法指令,用于把操作数减去操作数,应是一个寄存器,操作数可以是一个寄存器,被移位 用于有符号数或无符号数的减法运算;指令示例:,;,;, << 、指令(反向带进位减)指令的格式为: 条件 目的寄存器,操作数,操作数的寄存器,或一个立刻数;该指令可指令用于把 操作数减去操作数,再减去中的条件标志位的反码,并将结果存放到目的寄存器中;操作数应是一个寄存器,操作数可以是一个寄存器,被移位 的寄存器,或一个立刻数;该指令使用进位标志来表示借位,这样就可以做大于位的减法,留意不要遗忘设置后缀来更换进位标志;该指令可用于有符号数或 无符号数的减法运算;指令示例:,;!、指令(规律位与)指令的格式为: 条件 目的寄存器,操作数,操作数并把结果放置到目的寄存器中;操作数应是一个指令用于在两个操作数上进行规律与运算,寄存器,操作数可以是一个寄存器,被移位的寄存器,或一个 操作数的某些位;指令示例:,;该指令保持的、位,其余位清零;、指令(规律位 或)指令的格式为:4 / 21 立刻数;该指令常用于屏蔽细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 21 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - 条件 目的寄存器,操作数,操作数指令用于在两个操作数上进行规律或运算,并把结果放置到目的寄存器中;操作数应是一个寄存器,操作数可以是一个寄存器,被移位的寄存器,或一个操作数的某些位;指令示例:,;该指令设置的、位,其余位保持不变;、指令(规律位 异或)指令的格式为: 条件 目的寄存器,操作数,操作数立刻数;该指令常用于设置指令用于在两个操作数上进行规律异或运算,并把结果放置到目的寄存器中;操作数应是一个寄存器,操作数可以是一个寄存器,被移位的寄存器,或一 转操作数的某些位;指令示例:,;该指令反转的、位,其余位保持不变;、指令(位清零)指令的格式为: 条件 目的寄存器,操作数,操作数个立刻数;该指令常用于反指令用于清除操作数的某些位,并把结果放置到目的寄存器中;操作数应是一个寄存器,操作数可以是一个寄存器,被移位的寄存器,或一个立刻数;操作数为位的掩码,假如在掩码中设置了某一位,就清除这一位;未设置的掩码位保持不变;指令示例:,;该指令清除中的位、和 ,其余的位保持不变;三、乘法指令与乘加指令微处理器支持的乘法指令与乘加指令共有条,可分为运算结果为位和运算结果为位两 类,与前面的数据处理指令不同,指令中的全部操作数、目的寄存器 必需为通用寄存器,不能对操作数使用立刻数或被移位的寄存器,器;乘法指令与乘加指令共有以下条:、指令(相乘)指令的格式为:同时,目的寄存器和操作数必需是不同的寄存 条件 目的寄存器,操作数,操作数指令完成将操作数与操作数的乘法运算,并把结果放置到目的寄存器中,同时可以依据运算结果设置中相应的条件标志位;其中,操作数和操 指令示例:,;×作数均为位的有符号数或无符号数;,;× ,同时设置中的相关条件标志位、指令(带累加的相乘)指令的格式为: 条件 目的寄存器,操作数,操作数,操作数指令完成将操作数与操作数的乘法运算,再将乘积加上操作数,并把结果放置到目的寄存器中,同时可以依据运算结果设置中相应的条件标志 符号数或无符号数;指令示例:位;其中,操作数和操作数均为位的有5 / 21 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 21 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -,;×,;×,同时设置中的相关条件标志位、指令指令的格式为: 条件 目的寄存器,目的寄存器,操作数,操作数指令完成将操作数与操作数的乘法运算,并把结果的低位放置到目的寄存器中,结果的高位放置到目的寄存器中,同时可以 操作数均为位的有符号数;指令示例:依据运算结果设置中相应的条件标志位;其中,操作数和,;( × )的低位;( × )的高位、指令指令的格式为: 条件 目的寄存器,目的寄存器,操作数,操作数指令完成将操作数与操作数的乘法运算,并把结果的 低位同目的寄存器中的值相加后又放置到目的寄存器中,结果的高位同目的寄存器中的值相加后又放置到目的寄存器中,同 时可以依据运算结果设置中相应的条件标志位;其中,操作数和操作数均为位的有符号数;对于目的寄存器, 在指令执行前存放位加数的低位,指令执行后存放结果的低位;对于目的寄存器,在指令执行前存放位加数的高位,指令执行后存放结果的高位;指令示例:,;( × )的低位( × )的高位;、指令指令的格式为: 条件 目的寄存器,目的寄存器,操作数,操作数指令完成将操作数与操作数的乘法运算,并把结果的低位放置到目的寄存器中,结果的高位放置到目的寄存器中,同时可以 操作数均为位的无符号数;指令示例:依据运算结果设置中相应的条件标志位;其中,操作数和,;( × )的低位;( × )的高位、指令 指令的格式为: 条件 目的寄存器,目的寄存器,操作数,操作数 指令完成将操作数与操作数的乘法运算,并把结果的 低位同目的寄存器中的值相加后又放 置到目的寄存器中,结果的高位同目的寄存器中的值相加后又放置到目的寄存器 中,同 时 可以依据运算结果设置中相应的条件标志位;其中,操作数和操作数均为位的无符号数;对于目的寄存器, 在指令执行前存放位加数的低位,指令执行后存放结果的低位;对于目的寄存器,在指令执行前存放位加数的高位,指令执行后存放结果的高位;指令示例:,;( × )的低位( × )的高位;四、程序状态寄存器拜访指令、指令6 / 21 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 21 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -指令的格式为: 条件 通用寄存器 程序状态寄存器(或)指令用于将程序状态寄存器的内容传送到通用寄存器中;该指令一般用在以下两种情形:.当需要转变程序状态寄存器的内容时,可用将程序状态寄存器的内容读入通用寄存器,修改后再写回程序状态寄存器;.当在反常处理或进程切换时,需要储存程序状态寄存器的值,可先用该指令读出程序状 态寄存器的值,然后储存;指令示例:,;传送的内容到,;传送 的内容到、指令 指令的格式为: 条件 程序状态寄存器(或)<域>,操作数指令用于将操作数的内容传送到程序状态寄存器的特定域中;其中,操作数可以为通用寄存器或立刻数; <域>用于设置程序状态寄存器中需要 操作的位,位的程序状态寄存器可分为 个域:位 :为条件位域,用表示;位 :为状态位域,用表示;位 : 为扩展位域,用表示;位 : 为掌握位域,用表示;该指令通常用于复原或转变程序状态寄存器的内容,作的域;指令示例:,;传送的内容到,;传送的内容到,;传送的内容到,但仅仅修改中的掌握位域在使用时, 一般要在指令中指明将要操五、加载储备指令; 微处理器支持加载储备指令用于在寄存器和储备器之间传送数据,加载指令用于将储备器中的数据传送到寄存器,储备 指令如下:、指令 指令的格式为: 条件 目的寄存器, <储备器地址 > 指令就完成相反的操作;常用的加载储备指令用于从储备器中将一个位的字数据传送到目的寄存器中;该指令通常用于从储备器中读取位的字数据到通用寄存器,然后对数据进行处理;当程序计数器作为 目的寄存器时,指令从储备器中读取的字数据被当作目的地址,从而可以实现程序流程的跳转;该指令在程序设计 中比较常用,且寻址方式敏捷多样,请读者仔细把握;指令示例:, ;将储备器地址为的字数据读入寄存器;, ;将储备器地址为的字数据读入寄存器;, ;将储备器地址为的字数据读入寄存器;, !;将储备器地址为的字数据读入寄存器,并将新地址;写入;, !;将储备器地址为的字数据读入寄存器,并将新地址;写入;7 / 21 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 21 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -, ,;将储备器地址为的字数据读入寄存器,并将新地址;写入;, ! ;将储备器地址为×的字数据读入寄存器,并;将新地址 ×写入;, ,;将储备器地址为的字数据读入寄存器,并将新地;址 ×写入;、指令指令的格式为: 条件 目的寄存器, <储备器地址 > 指令用于从储备器中将一个位的字节数据传送到目的寄存器中,同时将寄存器的高位清零;该指令通常用于从储备器中读取位的字节数据到通用寄存器,然后对数据进行处理;当程序计数器作为目的寄存器时,指令从储备器中读取的字数据被当作目 程序流程的跳转;指令示例:的地址,从而可以实现, ;将储备器地址为的字节数据读入寄存器,并将的高;位清零;, ;将储备器地址为的字节数据读入寄存器,并将 的;高位清零;、指令 指令的格式为: 条件 目的寄存器, <储备器地址 > 指令用于从储备器中将一个位的半字数据传送到目的寄存器中,同时将寄存器的高位清零;该指令通常用于从储备器中读取位的半字数据到通用寄存器,然后对数据进行处理;当程序计数器作为目的寄存器时,指令从储备器中读取的字数据被当作 程序流程的跳转;指令示例:目的地址,从而可以实现, ;将储备器地址为的半字数据读入寄存器,并将的高;位清零;, ;将储备器地址为的半字数据读入寄存器,并将 的;高位清零;, ;将储备器地址为的半字数据读入寄存器,并将 的;高位清零;、指令指令的格式为: 条件 源寄存器, <储备器地址 > 指令用于从源寄存器中将一个位的字数据传送到储备器中;且寻址方式敏捷多样,使用方式可参考指令;指令示例:该指令在程序设计中比较常用, ,;将中的字数据写入以为地址的储备器中,并将新地址;写入;, ;将中的字数据写入以为地址的储备器中;、指令 指令的格式为: 条件 源寄存器, <储备器地址 > 8 / 21 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 21 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -指令用于从源寄存器中将一个位的字节数据传送到储备器中;位;指令示例:该字节数据为源寄存器中的低, ;将寄存器中的字节数据写入以为地 址的储备器中;, ;将寄存器中的字节数据写入以为地址的存 储器中;、指令指令的格式为:条件 源寄存器, <储备器地址 > 指令用于从源寄存器中将一个位的半字数据传送到储备器中;位;指令示例:该半字数据为源寄存器中的低, ;将寄存器中的半字数据写入以为地址的 储备器中;, , ;将寄存器中的半字数据写入以为地址的储备器中;六、批量数据加载储备指令;微处理器所支持批量数据加载储备指令可以一次在一片连续的储备器单元和多个寄存器之间传送数据,批量加载指令 用于将一片连续的储备器中的数据 传送到多个寄存器,批量数据储备指令就完成相反的操作;常用的加载储备指令如下: (或)指令(或)指令的格式为:(或) 条件 类型 基址寄存器 ! ,寄存器列表 (或)指令用于从由基址寄存器所指示的一片连续储备器到寄存器列表所指示的多个寄存器 之间传送数据,该指令的常见用途是将多个寄存器的内容入栈或出栈;其中, 类型 为 以 下几种情形:每次传送后地址加;每次传送前地址加;每次传送后地址减;每次传送前地址减;满递减堆栈;空递减堆栈;满递增堆栈;空递增堆栈; ! 为可选后缀,如选用该后缀,就当数据 否就基址寄存器的内容不转变;传送完毕之后,将最终的地址写入基址寄存器,基址寄存器不答应为,寄存器列表可以为的任意组合; 为可选后缀, 当指令为且寄存器列表中包含,选用该后缀时表示:除了正常的数据传送之外,仍将复制到;同时,该后缀仍表 前模式下的寄存器;指令示例:示传入或传出的是用户模式下的寄存器,而不是当., , ;将寄存器列表中的寄存器(,到,)存入堆栈;., , ;将堆栈内容复原到寄存器(,到,);七、数据交换指令、指令指令的格式为:9 / 21 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 9 页,共 21 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - 条件 目的寄存器,源寄存器,源寄存器 指令用于将源寄存器所指向的储备器中的字数据传送到目的寄存器中,同时将源寄存器中的字数据传送到源寄存器所指向的储备器中;明显,当源寄存 器时,指令交换该寄存器和储备器的内容;指令示例:, ;将所指向的储备器中的字数据传送到,同时将 储单元;器和目的寄存器为同一个寄存中的字数据传送到所指向的存, ;该指令完成将所指向的储备器中的字数 据与中的数据交换;、指令 指令的格式为: 条件 目的寄存器,源寄存器,源寄存器 指令用于将源寄存器所指向的储备器中的字节数据传送到目的寄存器中,目的寄存器的高清 零,同时将源寄存 器中的字节数据传送到源寄存器所指向的储备器中;明显,当源寄存器 和目的寄存器为同一个寄存器时,指令交换该寄存器和储备器的内容;指令示例:, ;将所指向的储备器中的字节数据传送到 传送到所指向的储备单元;, ;该指令完成将所指向的储备器中的 八、移位指令、(或)(或)的格式为:通用寄存器, (或)操作数,的高位清零,同时将中的低位数据字节数据与中的低位数据交换;(或) 可完成对通用寄存器中的内容进行规律(或算术) 的左移操作, 按操作数所指定的数量向左移位,低位用零来填充;其中,操作数可以是通用寄存器,也可以是立刻数();操作示例, , ;将中的内容左移两位后传送到中;、的格式为:通用寄存器,操作数可完成对通用寄存器中的内容进行右移的操作,按操作数所指定的数量向右移位,左端用零来填充;其中,操作数可以 是通用寄存器,也可以是立刻数();操作示例:, , ;将中的内容右移两位后传送到中,左端用零来填充;、的格式为:通用寄存器,操作数可完成对通用寄存器中的内容进行右移的操作,按操作数所指定的数量向右移位,左端用第位的值来填充;其中,操作数可以是通用寄存器,也可以是立 即数();操作示例:, , ;将中的内容右移两位后传送到中,左端用第位的值来填充;、的格式为:通用寄存器,操作数可完成对通用寄存器中的内容进行循环右移的操作,按操作数所指定的数量向右循环移位,10 / 21 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 10 页,共 21 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -左端用右端移出的位来填充;其中,操作数可以是通用寄存器,也 然,当进行位的循环右移操作时,通用寄存器中的值不转变;操作示例:, , ;将中的内容循环右移两位后传送到中;、的格式为:通用寄存器,操作数 可完成对通用寄存器中的内容进行带扩展的循环右移的操作,可以是立刻数() ;显按操作数所指定的数量向右循环移位,左端用进位标志位来填充;其中,操作数可以是通用寄存器,也可以是立刻数 ();操作示例:, , ;将中的内容进行带扩展的循环右移两位后传送到中;九、协处理器指令、指令 指令的格式为: 条件 协处理器编码,协处理器操作码,目的寄存器,源寄存器,源寄存器,协处理器操 作码;指令用于处理器通知协处理器执行特定的操作,如协处理器不能胜利完成特定的操作,就产 生未定义指令反常;其中协处理器操作码和协处理 器操作码为协处理器将要执行的操作,目的寄存器和源寄存器均为协处理器的寄存器,指令不涉及处理器的寄存器和储备器;指令示例:,;该指令完成协处理器的初始化、指令 指令的格式为: 条件 协处理器编码,目的寄存器,源寄存器 如协处理器不能胜利 指令用于将源寄存器所指向的储备器中的字数据传送到目的寄存器中,完成传送操作,就产生未定义指令反常;其中, 选项表示指 令为长读取操作,如用于双 精度数据的传输;指令示例:, ;将处理器的寄存器所指向的储备器中的字数、指令指令的格式为: 条件 协处理器编码,源寄存器,目的寄存器 据传送到协处理器的寄存器中;指令用于将源寄存器中的字数据传送到目的寄存器所指向的储备器中,如协处理器不能胜利 完成传送操作,就产生未定义指令反常;其中, 选项表示指 令为长读取操作,如用于双 精度数据的传输;指令示例:, ;将协处理器的寄存器中的字数据传送处处理、指令指令的格式为:器的寄存器所指向的储备器中; 条件 协处理器编码,协处理器操作码,源寄存器,目的寄存器,目的寄存器,协处理器 操作码;指令用于将处理器寄存器中的数据传送到协处理器寄存器中 作,就产生未定义指令反常;其中协处理器操作码和协处理11 / 21 ,如协处理器不能胜利完成操 器操作码为协处理器将要执行细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 11 页,共 21 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -的操作,源寄存器为处理器的寄存器,目的寄存器和目的寄存器均为协处理器的寄 存器;指令示例:,;将处理器寄存器中的数据传送到协处理器的寄存器和中;、指令 指令的格式为: 条件 协处理器编码,协处理器操作码,目的寄存器,源寄存器,源寄存器,协处理器操 作码;指令用于将协处理器寄存器中的数据传送处处理器寄存器中 作,就产生未定义指令反常;其中协处理器操作码和协处理,如协处理器不能胜利完成操 器操作码为协处理器将要执行的操作,目的寄存器为处理器的寄存器,源寄存器和源寄存器均为协处理器的寄存器;指令示例:,;该指令将协处理器的寄存器中的数据传送到处理器寄存器中;十、反常产生指令、指令指令的格式为: 条件 位的立刻数指令用于产生软件中断,以便用户程序能调用操作系统的系统例程;操作系统在的反常处理程序中供应相应的系统服务,指令中位的立刻数指定用 户程序调用系统例程的类型,相关参数通过通用寄存器传递,当指令中位的立刻数被忽视时,用户程序调用系统例程的类型由通用寄存器的内容打算,同 指令示例:时,参数通过其他通用寄存器传递;该指令调用操作系统编号位的系统例程;、指令 指令的格式为:位的立刻数 指令产生软件断点中断,可用于程序的调试;汇编伪指令在汇编语言程序里,有一些特别指令助记符,这些助记符与指令系统的助记符不同,没有相对应的操作码,通常称这些特别指令助记符为伪指令,他们所完成 指令在源程序中的作用是为完成汇编程序作各种预备工作的,作用,一旦汇编终止,伪指令的使命就完 成;的操作称为伪操作;伪 这些伪指令仅在汇编过程中起在 的汇编程序中,有如下几种伪指令:符号定义伪指令、数据定义伪指令、汇编掌握伪指令 、宏指令以及其他伪指令;一、符号定义()伪指令符号定义伪指令用于定义 汇编程序中的变量、 对变量赋值以及定义寄存器的别名等操作;常见的符号定义伪指令有如下几种: 用于定义全局变量的、 和 ; 用于定义局部变量的、 和 ; 用于对变量赋值的、 、 ; 为通用寄存器列表定义名称的;、 和语法格式:( 或 )全局变量名、 和 伪指令用于定义一个程序中的全局变量,并将其初始化;其中:12 / 21 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 12 页,共 21 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -伪指令用于定义一个全局的数字变量,并初始化为;伪指令用于定义一个全局的规律变量,并初始化为(假);伪指令用于定义一个全局的字符串变量,并初始化为空;由于以上三条伪指令用于定义全局变量,因此在整个程序范畴内变量名必需唯独;使用示例:;定义一个全局的数字变量,变量名为;将该变量赋值为;定义一个全局的规律变量,变量名为 ;将该变量赋值为真;定义一个全局的字符串变量,变量名为;“ ” ;将该变量赋值为 " ”;、 和语法格式:( 或)局部变量名、 和 伪指令用于定义一个 程序中的局部变量,并将其初始化;其中:伪指令用于定义一个局部的数字变量,并初始化为;伪指令用于定义一个局部的规律变量,并初始化为(假)伪指令用于定义一个局部的字符串变量,并初始化为空;以上三条伪指令用于声明局部变量,在其作用范畴内变量名必需唯独;使用示例:;声明一个局部的数字