2022年ARM汇编指令.docx
《2022年ARM汇编指令.docx》由会员分享,可在线阅读,更多相关《2022年ARM汇编指令.docx(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -汇编指令处理器的指令集可以分为跳转指令、数据处理指令、程序状态寄存器()处理指令、加 载储备指令、协处理器指令和反常产生指令大指令;一、跳转指令 跳转指令用于实现程序流程的跳转,在程序中有以下两种方法可以实现程序流程的跳 转;.使用特地的跳转指令;.直接向程序计数器写入跳转地址值,通过向程序计数器写入跳转地址值,可以实现在的地址空间中的任意跳转,在跳转之前结合使用,等类似指令, 可以储存将来的返回地址值,从而实现在连续的线性地址空间的子程序调用;指令集中的跳转指令可以完成从当前指令向前或向后的的地址空间的跳转
2、,包括以下条 指令:、指令 指令的格式为: 条件 目标地址指令是最简洁的跳转指令;一旦遇到一个指令,处理器将立刻跳转到给定的目标地址,从那里连续执行;留意储备在跳转指令中的实际值是相对当前 对地址,它的值由汇编器来运算(参考寻址方式中的相对寻址)值的一个偏移量,而不是一个绝;它是位有符号数,左移两位后有符号扩展为位,表示的有效偏移为位前后的地址空间;以下指令:;程序无条件跳转到标号处执行,;当寄存器中的条件码置位时,程序跳转到标号处执行、指令 指令的格式为: 条件 目标地址是另一个跳转指令,但跳转之前,会在寄存器中储存的当前内容,因此,可以通过将的内容重新加载到中,来返回到跳转指令之后的那个
3、个基本但常用的手段;以 下指令:指令处执行;该指令是实现子程序调用的一;当程序无条件跳转到标号处执行时,同时将当前的 值储存到;()中、指令 指令的格式为:目标地址 指令从指令集跳转到指令中所指定的目标地址,并将处理器的工作状态有状态切换到状态,该指令同时将的当前内容储存到寄存 器中;因此,当子程序使用指令集,而调用者使用指 令集时,可以通过指令实现子程序的调用和处理器工作状态的切换;同时,子程 序的返回 可以通过将寄存器值复制到中来完成;、指令 指令的格式为: 条件 目标地址 指令跳转到指令中所指定的目标地址,目标地址处的指令既可以是指令,也可以是指令;1 / 21 细心整理归纳 精选学习资
4、料 - - - - - - - - - - - - - - - 第 1 页,共 21 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -二、数据处理指令 数据处理指令可分为数据传送指令、算术规律运算指令 和比较指令等;数据传送指令用于在寄存器和储备器之间进行数据的双向传输;算术规律运算指令完成常用的算术与规律的运算,器中,同时更新中的相应条件标志位;该类指令不但将运算结果储存在目的寄存比较指令不储存运算结果,只更新中相应的条件标志位;数据处理指令共以下条;、指令(传送)指令的格式为: 条件 目的寄存器,源操作数 指令可
5、完成从另一个寄存器、被移位的寄存器或将一个立刻数加载到目的寄存器;其中选项打算指令的操作是否影响中条件标志位的值,当没有 指令示例:,;将寄存器的值传送到寄存器时指令不更新中条件标志位的值;,;将寄存器的值传送到,常用于子程序返回,;将寄存器的值左移位后传送到、指令(求反)指令的格式为: 条件 目的寄存器,源操作数 指令可完成从另一个寄存器、被移位的寄存器、或将一个立刻数加载到目的寄存器;与指令 不同之处是在传送之前按位被取反了,即把一个被取反的值 传送到目的寄存器中;其中决 定指令的操作是否影响中条件标志位的值,当没有时指令不更新中条件标志位的值;指令示例:,;将立刻数取反传送到寄存器中,完
6、成后、指令(比较)指令的格式为: 条件 操作数,操作数 指令用于把一个寄存器的内容和另一个寄存器的内容或立刻数进行比较,同时更新中条件标 志位的值; 该指令进行一次减法运算,但不储备结果,只 更换条件标志位;标志位表示的 是操作数与操作数的关系 大、小、相等 ,例如,当操作数大于操作操作数,就此后的有后 缀的指令将可以执行;指令示例:,;将寄存器的值与寄存器的值相减,并依据结果设置的标;志位,;将寄存器的值与立刻数相减,并根据结果设置的标志位、指令(负数比较)指令的格式为: 条件 操作数,操作数 指令用于把一个寄存器的内容和另一个寄存器的内容或立刻数取反后进行比较,同时更新中条件标志位的值;该
7、指令实际完成操作数和操作数相 指令示例:加,并依据结果更换条件标志位;,;将寄存器的值与寄存器的值相加,并依据结果设置;的标志位,;将寄存器的值与立刻数相加,并依据结果设置的标志位2 / 21 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 21 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -、指令(测试)指令的格式为: 条件 操作数,操作数指令用于把一个寄存器的内容和另一个寄存器的内容或立刻数进行按位的与运算,并依据运算结果更新中条件标志位的值;操作数是要测
8、试的数 一般用来检测是否设置了特定的位;指令示例:据,而操作数是一个位掩码,该指令,;用于测试在寄存器中是否设置了最低位(表示二进制数),;将寄存器的值与立刻数按位与,并依据结果设置;的标志位、指令(测试相等)指令的格式为: 条件 操作数,操作数 指令用于把一个寄存器的内容和另一个寄存器的内容或立刻数进行按位的异或运算,并依据 运算结果更新中条件标志位的值;该指令通常用于比较操作数和操作数是否相等;指令示例:,;将寄存器的值与寄存器的值按位异或,并依据结果设置;的标志位、指令(相加)指令的格式为: 条件 目的寄存器,操作数,操作数操作数应是一个寄存器,操作指令用于把两个操作数相加,并将结果存放
9、到目的寄存器中;数可以是一个寄存器,被移位的寄存器,或一个立刻数;指令示例:,; ,;,、指令(带进位相加)指令的格式为: 条件 目的寄存器,操作数,操作数 指令用于把两个操作数相加,再加上中的条件标志位的值,并将结果存放到目的寄存器中;它使用一个进位标志位,这样就可以做比位大的数 进位标志;操作数应是一个寄存器,操作数可以是一 立刻数;的加法,留意不要遗忘设置后缀来更换 个寄存器,被移位的寄存器,或一个以下指令序列完成两个位数的加法,第一个数由高到低存放在寄存器,其次个数由高到低存放在寄存器,运算结果由高到低存放在寄 存器:,; 加低端的字,; 加其次个字,带进位,; 加第三个字,带进位,;
10、 加第四个字,带进位、指令(相减)指令的格式为: 条件 目的寄存器,操作数,操作数操作数应是一个寄存器,操指令用于把操作数减去操作数,并将结果存放到目的寄存器中;3 / 21 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 21 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -作数可以是一个寄存器,被移位的寄存器,或一个立刻 号数的减法运算;指令示例:,; ,、指令 指令的格式为: 条件 目的寄存器,操作数,操作数数;该指令可用于有符号数或无符指令用于把操作数减
11、去操作数,再减去中的条件标志位的反码,并将结果存放到目的寄存器中;操作数应是一个寄存器,操作数可以 是一个寄存器, 被移位的寄存器,或一个立刻数;该指令使用进位标志来表示借位,这样就可以做大于位的减法,留意不要遗忘设置后缀来更改进位标志;该指令可用于有符号数或无符号数的减法运算;指令示例:,;!,并依据结果设置的进位标志位、指令指令的格式为: 条件 目的寄存器,操作数,操作数并将结果存放到目的寄存器中;操作数指令称为逆向减法指令,用于把操作数减去操作数,应是一个寄存器,操作数可以是一个寄存器,被移位 用于有符号数或无符号数的减法运算;指令示例:,;,;, 、指令(反向带进位减)指令的格式为:
12、条件 目的寄存器,操作数,操作数的寄存器,或一个立刻数;该指令可指令用于把 操作数减去操作数,再减去中的条件标志位的反码,并将结果存放到目的寄存器中;操作数应是一个寄存器,操作数可以是一个寄存器,被移位 的寄存器,或一个立刻数;该指令使用进位标志来表示借位,这样就可以做大于位的减法,留意不要遗忘设置后缀来更换进位标志;该指令可用于有符号数或 无符号数的减法运算;指令示例:,;!、指令(规律位与)指令的格式为: 条件 目的寄存器,操作数,操作数并把结果放置到目的寄存器中;操作数应是一个指令用于在两个操作数上进行规律与运算,寄存器,操作数可以是一个寄存器,被移位的寄存器,或一个 操作数的某些位;指
13、令示例:,;该指令保持的、位,其余位清零;、指令(规律位 或)指令的格式为:4 / 21 立刻数;该指令常用于屏蔽细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 21 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - 条件 目的寄存器,操作数,操作数指令用于在两个操作数上进行规律或运算,并把结果放置到目的寄存器中;操作数应是一个寄存器,操作数可以是一个寄存器,被移位的寄存器,或一个操作数的某些位;指令示例:,;该指令设置的、位,其余位保持不变;、指令(规律位 异
14、或)指令的格式为: 条件 目的寄存器,操作数,操作数立刻数;该指令常用于设置指令用于在两个操作数上进行规律异或运算,并把结果放置到目的寄存器中;操作数应是一个寄存器,操作数可以是一个寄存器,被移位的寄存器,或一 转操作数的某些位;指令示例:,;该指令反转的、位,其余位保持不变;、指令(位清零)指令的格式为: 条件 目的寄存器,操作数,操作数个立刻数;该指令常用于反指令用于清除操作数的某些位,并把结果放置到目的寄存器中;操作数应是一个寄存器,操作数可以是一个寄存器,被移位的寄存器,或一个立刻数;操作数为位的掩码,假如在掩码中设置了某一位,就清除这一位;未设置的掩码位保持不变;指令示例:,;该指令
15、清除中的位、和 ,其余的位保持不变;三、乘法指令与乘加指令微处理器支持的乘法指令与乘加指令共有条,可分为运算结果为位和运算结果为位两 类,与前面的数据处理指令不同,指令中的全部操作数、目的寄存器 必需为通用寄存器,不能对操作数使用立刻数或被移位的寄存器,器;乘法指令与乘加指令共有以下条:、指令(相乘)指令的格式为:同时,目的寄存器和操作数必需是不同的寄存 条件 目的寄存器,操作数,操作数指令完成将操作数与操作数的乘法运算,并把结果放置到目的寄存器中,同时可以依据运算结果设置中相应的条件标志位;其中,操作数和操 指令示例:,;作数均为位的有符号数或无符号数;,; ,同时设置中的相关条件标志位、指
16、令(带累加的相乘)指令的格式为: 条件 目的寄存器,操作数,操作数,操作数指令完成将操作数与操作数的乘法运算,再将乘积加上操作数,并把结果放置到目的寄存器中,同时可以依据运算结果设置中相应的条件标志 符号数或无符号数;指令示例:位;其中,操作数和操作数均为位的有5 / 21 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 21 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -,;,;,同时设置中的相关条件标志位、指令指令的格式为: 条件 目的寄存器,目的寄存器,
17、操作数,操作数指令完成将操作数与操作数的乘法运算,并把结果的低位放置到目的寄存器中,结果的高位放置到目的寄存器中,同时可以 操作数均为位的有符号数;指令示例:依据运算结果设置中相应的条件标志位;其中,操作数和,;( )的低位;( )的高位、指令指令的格式为: 条件 目的寄存器,目的寄存器,操作数,操作数指令完成将操作数与操作数的乘法运算,并把结果的 低位同目的寄存器中的值相加后又放置到目的寄存器中,结果的高位同目的寄存器中的值相加后又放置到目的寄存器中,同 时可以依据运算结果设置中相应的条件标志位;其中,操作数和操作数均为位的有符号数;对于目的寄存器, 在指令执行前存放位加数的低位,指令执行后
18、存放结果的低位;对于目的寄存器,在指令执行前存放位加数的高位,指令执行后存放结果的高位;指令示例:,;( )的低位( )的高位;、指令指令的格式为: 条件 目的寄存器,目的寄存器,操作数,操作数指令完成将操作数与操作数的乘法运算,并把结果的低位放置到目的寄存器中,结果的高位放置到目的寄存器中,同时可以 操作数均为位的无符号数;指令示例:依据运算结果设置中相应的条件标志位;其中,操作数和,;( )的低位;( )的高位、指令 指令的格式为: 条件 目的寄存器,目的寄存器,操作数,操作数 指令完成将操作数与操作数的乘法运算,并把结果的 低位同目的寄存器中的值相加后又放 置到目的寄存器中,结果的高位同
19、目的寄存器中的值相加后又放置到目的寄存器 中,同 时 可以依据运算结果设置中相应的条件标志位;其中,操作数和操作数均为位的无符号数;对于目的寄存器, 在指令执行前存放位加数的低位,指令执行后存放结果的低位;对于目的寄存器,在指令执行前存放位加数的高位,指令执行后存放结果的高位;指令示例:,;( )的低位( )的高位;四、程序状态寄存器拜访指令、指令6 / 21 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 21 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 ARM 汇编 指令
限制150内