【发布时间】:2013-11-05 03:37:59
【问题描述】:
我是 ARM 的新手,正在为一门课做作业。 我感到困惑的是双重条件,例如 if (x > 0 && x
我要做的是检查地址存储器中的信息是大写还是小写字符。
我在这里找到了一个链接,但它不适用于 ARM,而且似乎对我没有帮助。
我尝试了类似的方法:
BGT r2, #0x60
BLT r2, #0x7B
但是会抛出关于期望地址表达式的错误,所以我假设您不能将值直接与 int 进行比较。
已编辑,修复了我的情况,输入速度太快并且放错了 GT LT 箭头
【问题讨论】:
-
好的,所以如果你知道如何做一个条件,你可以改写你的条件,比如
if (x > 0) { if (x < 100) { /* code here */ } } -
连续一个、两个、三个或十几个条件没有区别,它们都实现与一个条件相同。一次只做一个,不要担心做多个的技巧(当然除了大于或等于类型的东西,这实际上是一个单一的条件)。
-
更重要的问题与管理无符号与有符号有关,这是较难的部分,更有可能做错。
-
bgt是一个分支,只需要一个 PC 相对偏移量或一个寄存器。你的意思是mov(有条件地设置一个寄存器)还是你想要一个分支?我的回答假设您的意思是mov或其他一些非分支指令。