Arm 7 If/Else语句

Arm 7 If/Else语句,arm,arm7,Arm,Arm7,如何将此psuedo代码示例转换为Arm 7?? if R8 == 1, Go to "method 1" else, Go to "method 2" 同样在“方法1”中,R8改为2(R8=2),所以下次我希望它访问“方法2”。所以我希望循环在方法1和2之间交替 cmp r8, #1 bleq method1 cmp r8, #1 //method1 may alter CPSR blne method2 参见你必须表现出一些努力,而不是自己不打一枪就提问。您确定要将此用于Arm 7吗?如

如何将此psuedo代码示例转换为Arm 7??

if R8 == 1, Go to "method 1"
else, Go to "method 2"
同样在“方法1”中,R8改为2(R8=2),所以下次我希望它访问“方法2”。所以我希望循环在方法1和2之间交替

cmp r8, #1
bleq method1
cmp r8, #1 //method1 may alter CPSR
blne method2

参见

你必须表现出一些努力,而不是自己不打一枪就提问。您确定要将此用于Arm 7吗?如果这是针对新一代的,那么您需要ARMv7。Arm 7是一个非常旧的内核。我将调查ADRCRx、methodYY和最终的BLRx,以避免重新比较。我认为另一个问题/答案中的table方法同样好,即使对于两个值也是如此,如果method1垃圾
r8
(汇编程序可能不遵循APCS)。如果值r8是奇数,我将如何形成一个分支?确实,如果有更多的方法,我会将它们放在一个数组中,并计算一个偏移量来调用正确的一个,但是在这里,我只有两个选择,ldr可能会花费很多时间@TaylorAustin,看看下面的代码,你有一个按位测试的指令。