- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 ARM 文档中读到:
GE[3:0], bits[19:16] The instructions described in Parallel addition and subtraction instructions on page A4-171 update these flags to indicate the results from individual bytes or halfwords of the operation. These flags can control a later SEL instruction.
显然 GE[3:0] 代表“eq/lt/gt”?
我遇到了几个奇怪的问题,我还没有任何线索,但它们都有 CPSR 值 xxxf0030,所以 GE 位是 0b1111?那代表什么?这些GE位正常吗?
提前致谢!
最佳答案
在 ARMv7 ARM(匹配该文本)中,如何设置 GE 标志的细节仅在并行指令本身的操作伪代码中。可悲的是,他们似乎已经删除了 ARMv6 ARM 中的这个漂亮的散文描述:
Instructions that operate on halfwords:
- set or clear GE[3:2] together, based on the result of the top halfword calculation
- set or clear GE[1:0] together, based on the result of the bottom halfword calculation.
Instructions that operate on bytes:
- set or clear GE[3] according to the result of the top byte calculation
- set or clear GE[2] according to the result of the second byte calculation
- set or clear GE[1] according to the result of the third byte calculation
- set or clear GE[0] according to the result of the bottom byte calculation.
Each bit is set (otherwise cleared) if the results of the corresponding calculation are as follows:
- for unsigned byte addition, if the result is greater than or equal to 2^8
- for unsigned halfword addition, if the result is greater than or equal to 2^16
- for unsigned subtraction, if the result is greater than or equal to zero
- for signed arithmetic, if the result is greater than or equal to zero.
作为算术标志,它们可以有任何旧值(在重置时未定义,并且可以通过 APSR 自由写入),所以除非您专门使用其中一条设置它们的指令,否则它们几乎没有意义并且可以忽略。
关于linux - 什么时候CPSR GE[3 :0] bits be modified,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29765126/
在 ARM 中,SPSR 是一个存储寄存器,即每次模式改变后,CPSR 被复制到 SPSR 中,模式返回后,SPSR 被复制回 CPSR。为什么 CPSR 不直接存入银行?似乎每次模式更改都有两个额外
我正在学习 ARM 架构。 1. 我认为 CPSR 分配了 5 位来指定它正在执行的当前模式。因为我们只有大约 6-7 种不同的模式,3 位就足够了。那么为什么我们有 5 个相同的位呢? 2. sys
启动玩具内核时,我使用以下代码切换到用户模式: mrs r1, CPSR @ Switch to System mode orr r1, r1, #0xc
虽然得到了一份教授 ARM 汇编的文档,但该文档现在告诉我将 CPRS 加载到 C 中并将数据格式化为友好的格式,例如 - Flags: N Z IRQ FIQ State: ARM Mode: Su
我是一名优秀的程序员,十分优秀!