问题描述
这似乎是一个愚蠢的问题,但我真的不知道我错过了什么
This might seem like a stupid question, but I cant really tell what I'm missing
在 ARM 7 上:
我在寄存器 0 中有一个 8 位数字,比如
I have a 8 digit number in register 0, say
10110111
我想通过这个循环"并使用当前位做一些事情,直到 8 位上升,但我在这个简单的问题上遇到了很多麻烦..
I want to 'loop' through this and do something with the current bit until the 8 bits are up, but I'm having alot of trouble with this simple issue..
我的逻辑是:
- get MSB / LSB of number in r0
- shift it to r1
- lsl / lsr r0
但从这个逻辑来看,我不知道您将如何获得 MSB/LSB.有人可以帮我吗?或者有没有更好的方法来循环这个?
But from this logic, I dont know how you would get the MSB / LSB. Could anyone help me out? Or is there a better way of looping through this?
谢谢!
推荐答案
查看 rbit
和 clz
说明.这些允许您计算 MSB 和 LSB 索引.
Check out the rbit
and clz
instructions. These allow you to compute the MSB and LSB index.
这篇关于在寄存器中获取 MSB/LSB的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!