logo资料库

Thumb® 16 位指令集快速参考卡--汇编指令.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
Thumb® 16 位指令集 快速参考卡 本卡列出了版本低于 ARM®v6T2 的支持 Thumb 的处理器中可用的所有 Thumb 指令。 此外,还列出了所有 Thumb-2 16 位指令。 除非另外注明,否则本卡中显示的指令均为 Thumb-2 16 位指令。 除非指定,否则所有寄存器都为 Lo (R0-R7)。 Hi 寄存器为 R8-R15。 表关键字 § 请参阅表 ARM 体系结构版本。 以逗号隔开的 Lo 寄存器列表,括在大括号 { 和 } 内。 以逗号隔开的 Lo 寄存器列表。加上 LR,括在大括号 { 和 } 内。 以逗号隔开的 Lo 寄存器列表。加上 PC,括在大括号 { 和 } 内。 运算 移动 加法 减法 乘法 比较 逻辑 移位/循环 立即数 Lo 到 Lo Hi 到 Lo、Lo 到 Hi、Hi 到 Hi 任何寄存器之间 立即数 3 所有寄存器 Lo Hi 到 Lo、Lo 到 Hi、Hi 到 Hi 任何寄存器之间 立即数 8 带进位 值与 SP SP 所存储的地址 PC 所存储的地址 Lo 到 Lo 立即数 3 立即数 8 带进位 来自 SP 的值 求反 乘法 负数 立即数 和 异或 或 位清除 取反移动 测试位 逻辑左移 逻辑右移 算术右移 向右循环移 § 汇编程序 6 MOVS Rd, # MOVS Rd, Rm MOV Rd, Rm MOV Rd, Rm ADDS Rd, Rn, # ADDS Rd, Rn, Rm ADD Rd, Rd, Rm T2 ADD Rd, Rd, Rm ADDS Rd, Rd, # ADCS Rd, Rd, Rm ADD SP, SP, # ADD Rd, SP, # ADR Rd,
Thumb 16 位指令集 快速参考卡 运算 加载 § 带直接偏移量,字 半字 字节 带寄存器偏移量,字 半字 有符号半字 字节 有符号字节 相对 PC 相对 SP 多个寄存器,不包括基址寄存器 多个寄存器,包括基址寄存器 存储 带直接偏移量,字 半字 字节 带寄存器偏移量,字 半字 字节 相对 SP,字 多个寄存器 推入 带链接的推入 弹出 弹出和返回 推入 弹出 带交换的弹出和返回 条件判断 条件判断 汇编程序 LDR Rd, [Rn, #] LDRH Rd, [Rn, #] LDRB Rd, [Rn, #] LDR Rd, [Rn, Rm] LDRH Rd, [Rn, Rm] LDRSH Rd, [Rn, Rm] LDRB Rd, [Rn, Rm] LDRSB Rd, [Rn, Rm] LDR Rd,
Thumb 16 位指令集 快速参考卡 运算 处理器 状态 更改 无操作 提示 超级用户调用 更改处理器状态 设置端序 断点 无操作 设置事件 等待事件 等待中断 Yield § 汇编程序 操作 SVC 超级用户调用处理器异常 注释 在指令中编码的 8 位立即值。 以前为 SWI。 6 CPSID 6 CPSIE 6 SETEND 5T BKPT 6 NOP T2 SEV T2 WFE T2 WFI T2 YIELD 禁用指定的中断 启用指定的中断 为加载和保存设置端序 预取中止或 进入调试状态 无操作,可能不花费任何时间。 向多处理器系统发送事件信号。 等待事件、IRQ、FIQ、不精确的中止或调试进入请求。 等待 IRQ、FIQ、不精确的中止或调试进入请求。 生成对其他线程的控制。 可为 BE(大端)或 LE(小端)。 在指令中编码的 8 位立即值。 如果不执行,则无操作。 如果不执行,则无操作。 如果不执行,则无操作。 如果不执行,则无操作。 条件字段 助记符 EQ NE 说明 等于 不等于 CS / HS 进位设置/无符号大于或相同 CC / LO 进位清除/无符号小于 MI PL VS VC HI LS GE LT GT LE AL 负数 正数或零 溢出 无溢出 无符号大于 无符号小于或相同 有符号大于或等于 有符号小于 有符号大于 有符号小于或等于 始终。 不可用于 B{cond} 中 对于版本早于 ARMv6T2 的处理器,在 Thumb 代码中,cond 只可用于条件跳转 ( B{cond} ) 指令中。 在 Thumb-2 代码中,cond 可用于所有这些指令中(除了 CBZ、CBNZ、CPSID、CPSIE、IT 和 SETEND)。 条件是在前面的 IT 指令中进行编码的(B{cond} 指令除外)。 如果汇编语言源文件中显式提供了 IT 指令, 则指令中的条件必须与相应的 IT 指令相匹配。 ARM 体系结构版本 4T 5T 6 T2 ARM v4 及更高版本的所有 Thumb 版本。 ARM v5 及更高版本的所有 Thumb 版本。 ARM v6 及更高版本的所有 Thumb 版本。 ARM v6 及更高版本的所有 Thumb-2 版本。 所有权声明 带有 ® 或 ™ 标记的词语和徽标是 ARM 公司的注册商标或商标。 此处提及的其他品牌和名称可能是其 各自所有者的商标。 除非事先得到版权所有人的书面许可,否则不得以任何形式修改或复制本文档包含的部分或全部信息 以及产品说明。 本文档描述的产品还将不断发展和完善。 ARM 公司将如实提供本文档所述产品的所有特性及其使用方 法。 但是,所有暗示或明示的担保,包括但不限于对特定用途适销性或适用性的担保,均不包括在内。 本参考卡仅旨在帮助读者使用产品。 对由于使用本参考卡中的任何信息,或由于本参考卡的信息错误、 遗漏,以及产品的错误使用所造成的任何损失,ARM 公司概不负责。 文档编号 ARM QRC 0006D 变更记录 编号 A B C D 变更 日期 2004 年 11 月 第一版 2005 年 5 月 2006 年 3 月 2007 年 3 月 RVCT 2.2 SP1 RVCT 3.0 RVCT 3.1 www.arm.com
分享到:
收藏