快速提问你们,在我的循环中,我需要使用CMP,BLT和BGT来比较一些值。如何在下面的循环中使用这些指令?ARM汇编器 - 如何使用CMP,BLT和BGT?
我想使用BGT,BLT和CMP,因为我需要它们来使我的应用程序工作。麻烦的是我不知道如何使用它们。如果我想用CMP来比较r6和r4并将差异放入r7,我该怎么做?如果我想在r7小于0时使用BLT,那么同样的问题,我该怎么做?
BGT ??????? ; branch if greater than 5
CMP ???????? ; compare r6 with r4 , put difference into r7
BLT ???????? ;branch if r7 is less than 0
BGT ???????? ;branch if r7 is greater than 0
这里是我的整个循环:
LoopStart
BL WaitBUT1
BL readTemp
BL checkTemp
BGT ??????? ; branch if greater than 5
BL errorVal
CMP ???????? ; compare r6 with r4 , put difference into r7
BLT ???????? ;branch if r7 is less than 0
BL FanOn
BL errorLedOn
BL systemLedOn
BL heaterOn
BGT ???????? ;branch if r7 is greater than 0
BL FanOff
BL errorLedOff
BL systemLedOff
BL heaterOff
BL WaitBUT2
BL FanOff
BL errorLedOff
BL systemLedOff
BL heaterOff
B LoopStart
您的问题尚不清楚。请澄清。 –
我已经为我的问题添加了更多描述。 – user1080390