ARM 汇编指令 orreq 的使用

这篇具有很好参考价值的文章主要介绍了ARM 汇编指令 orreq 的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

orreq

  • 阅读代码时,发现有个【组合指令】 orreq, orr 一般是 OR,也就是或操作,后面加个 eq 表示什么呢?

  • 比如下面的代码:前面一个操作, tst,好像没做实际的操作,可能影响了一些【状态位】

	tst	r3, #1 << 20			@ check write
	orreq	r1, r1, #1 << 11

查阅 arm 汇编手册

  • 当前通过 ARM 官方 查找的 Instruction Set Assembly Guide for Armv7 and earlier Arm architectures Reference Guide,搜索了一下,发现有这个 orreq 的指令,主要是 ORR 指令, eq 应该是个状态的后缀

ARM 汇编指令 orreq 的使用,研发笔记,1024程序员节,orreq,orr

查看条件码

  • ORR 指令后面可以增加 cond,可以认为一个后缀,条件码如下

ARM 汇编指令 orreq 的使用,研发笔记,1024程序员节,orreq,orr

ORREQ 的解释

  • ORR 是逻辑 或 操作, eq 是条件码 相等

  • 也就是 条件码, z 标志位 为 1 时,才会执行操作

	tst	r3, #1 << 20			@ check write  @# 设置条件码
	orreq	r1, r1, #1 << 11                   @# 根据条件码,上面【相等 z 标志位 置位1】 执行操作

orreq r1, r1, #1 << 11 就是 r1 = r1 || 1<<11 的操作文章来源地址https://www.toymoban.com/news/detail-719608.html

  • 逻辑或操作,如果一个位置1,结果就是 1,不管哪一位,上面 r1 结果应该是 1

到了这里,关于ARM 汇编指令 orreq 的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【ARM64 常见汇编指令学习 12 -- ARM 汇编函数 的学习】

    上篇文章:ARM64 常见汇编指令学习 11 – ARM 汇编宏 .macro 的学习 下篇文章:ARM64 常见汇编指令学习 13 – ARM 汇编 ORG 伪指令学习 ARM汇编中的函数定义并不像高级语言那样有特定的语法,但通常可以通过 标签(label) 和 子程序调用指令 (如BL,BLX) 来实现类似于函数的功能。 例如

    2024年02月14日
    浏览(43)
  • ARM 汇编指令:(五)CMP指令

    目录 1.CMP比较指令 2.指令条件码 cond CMP指令是计算机指令集中的一种比较指令,用于比较两个操作数的大小关系或相等性,并根据比较结果设置或更新条件码寄存器(或程序状态字)的标志位。 指令格式:CMP  第一操作寄存器  第二操作数 第一操作寄存器:参与比较的第一

    2024年04月13日
    浏览(56)
  • ARM 汇编比较指令-条件执行指令

    比较指令用来比较两个数大小,或者是否相等,比较指令的运算结果会影响CPSR寄存器的NZC、V标识位,具体的标志位可以参考前面的CPSR寄存器介绍,比较指令的格式如下/ CMP {cond} Rn, operand2 比较两个数大小 CMN {cond}Rn, operand2 取负比较  比较指令的使用示例及说明如下。

    2024年02月03日
    浏览(48)
  • 【ARM系列】ARM常用汇编指令

    在调试芯片启动代码或者分析ARM core运行流程的过程中,尝尝需要对照软件代码的反汇编文件进行分析,因此有必要掌握一些常用的arm汇编指令。 指令格式:MOV{条件}{S} 目的寄存器,源操作数 指令含义:将源操作数赋值给目的寄存器。源操作数可以是寄存器,立即数或带移位

    2024年02月04日
    浏览(38)
  • 【ARM64 常见汇编指令学习 16 -- ARM64 SMC 指令】

    上篇文章:ARM64 常见汇编指令学习 15 – ARM64 标志位的学习 下篇文章:ARM64 常见汇编指令学习 17 – ARM64 BFI 指令 在ARMv8架构中,同步异常主要包括以下几种: Undefined Instruction :未定义指令异常,当处理器尝试执行一条未定义的指令时会触发。 Supervisor Call (SVC) :这是一种特殊

    2024年02月13日
    浏览(44)
  • ARM64 常见汇编指令学习 11 -- ARM 汇编宏 .macro 的学习

    下篇文章:ARM64 常见汇编指令学习 12 – ARM 汇编函数 的学习 上篇文章:ARM64 常见汇编指令学习 10 – 无符号位域提取指令 BFXIL 在 ARM 汇编中,“ .macro ” 是用来定义一个宏的指令。宏可以看作是一个可以在汇编程序中重用的代码段。当调用宏时,汇编器会将宏的内容插入到调

    2024年02月14日
    浏览(43)
  • ARM 汇编指令:(六) B 跳转指令

    目录 一.B 和 BL          1.B/BL指令的语法格式  2.示例解析         跳转指令 B 使程序跳转到指定的地址执行程序。指令 BL 将下一条指令的地址复制到 R14( 即返回地址连接寄存器 LR )寄存器中,然后跳转到指定地址运行程序。  1.B/BL指令的语法格式 2.示例解析 ① 程序

    2024年04月10日
    浏览(66)
  • ARM底层汇编基础指令

    伪操作 不参与程序执行,但是用于告诉编译器程序怎么编译 .text .global .end .if .else .endif .data 汇编指令 编译器将一条汇编指令编译成一条机器码,在内存里一条指令占4字节内存,一条指令可以实现一个特定的功能 伪指令 不是指令,看起来像是一条指令,可以实现和指令类似

    2024年02月06日
    浏览(34)
  • ARM汇编指令学习

    目录 arm汇编指令学习 基础概念 汇编指令 数据处理指令 跳转指令 目录 arm汇编指令学习 基础概念 汇编指令 数据处理指令 跳转指令 Load/Store指令 1单寄存器操作指令 ldr/str 2多寄存器操作指令 stm ldm 3栈的操作指令 stmfd ldmfd Load/Store指令 c语言中可以那些代码可以生成汇编指令

    2024年02月04日
    浏览(28)
  • ARM-汇编指令

    链接脚本文件 作用:给编译器进行使用,告诉编译器各个段,如何进行分布 1.汇编指令:编译器将一条编译指令编译生成机器码,占用代码段空间 2.伪指令:伪指令本身不是一条指令,编译器可以将器编译生成多条指令,共同完成一条指令功能 3.伪操作:指导编译器对代码如

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包