gpt4 book ai didi

assembly - 在 Arm 中表示大数

转载 作者:行者123 更新时间:2023-12-01 07:29:45 25 4
gpt4 key购买 nike

我正在尝试将一个寄存器设置为 12000。由于 MOV 不能将大于 255 的值放入我的数字 12000/2^8=375。但是 375 仍然太大,不能被 2 整除。 内存中是否只剩下 12000 存储?效率会低很多吗?

出于好奇,为什么它是 255 而不是 256,因为它是未签名的?

最佳答案

您的目标是什么 ARM 架构?在 ARMv7 上,有一个非常好的解决方案——movw 指令,它采用 16 位立即数:

movw r0, #12000

在 ARMv7 之前,您需要使用两个步骤:
mov  r0,     #0x00002e00
orr r0, r0, #0x000000e0

请注意,可表达的立即数不仅仅是八位宽;它们是由任何偶数偏移量旋转的八位。或者,您可以简单地从内存加载值而不是使用立即数。

关于assembly - 在 Arm 中表示大数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8032051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com