小编Cou*_*tts的帖子

解释跳转表/分支表

我一直在用装配慢慢拾起东西.我正在研究Canon Rebel T1i,这是我想要了解的一小段代码流程图.据我所知,相信相机有一个132MHz的ARM v5处理器:

http://i.imgur.com/PtWC9.png

我搜索谷歌的底部试图了解跳转表是如何工作的,无论我读多少,我都无法将事物连接在一起来理解它.我理解跳转表类似于case语句,但我不明白它是如何在表中移动的.

例如:在这个例子中只有一个CMP操作,所以我不明白它是如何工作的.任何帮助将不胜感激!!

arm

3
推荐指数
1
解决办法
4101
查看次数

是0xF0000000负数还是正数?

我正在使用ARM程序集,并尝试(再次)取消跳转表.链接的图像是来自canon rebel t1i固件转储的跳转表条目.在这种情况下,R0(我将其称为arg1)是一些> = 0x10000091的数字(如附图中所述).

我试图弄清楚如何使用0xF0000000.我唯一能想到的是它必须是一些负数...因为这是我能在这里理解事物的唯一方法.我在评论中解决的方式是假设0xF0000000 = -268435445,但正如我在那里解释的那样它似乎不起作用......

任何帮助是极大的赞赏!!

代码段

assembly

0
推荐指数
1
解决办法
1258
查看次数

标签 统计

arm ×1

assembly ×1