- ARM-Assembler - Wie benutze ich den CMP, BLT und BGT?

Kurze Frage für Euch, in meiner Schleife muss ich verwenden, CMP , BLT und BGT vergleichen Werte. Wie würden die genannten Anweisungen in der folgenden Schleife?

Ich versuche, BGT , BLT und CMP, wie ich brauche Sie, um meine Anwendung zu arbeiten. Das Problem ist ich habe keine Ahnung, wie Sie zu verwenden sind. Wenn wollte ich mit CMP vergleichen, r6, wobei r4 und setzen Sie den Unterschied in r7, wie kann ich dies tun? Die gleiche Frage, wenn ich die nutzen wollte, BLT, wenn r7 ist weniger als 0, wie kann ich dies tun?

  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

Hier ist meine gesamte Schleife:

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
  • Ihre Fragen, ist unklar. Bitte klären Sie.
  • Ich habe eine genauere Beschreibung zu meiner Frage.
InformationsquelleAutor user1080390 | 2012-05-15
Schreibe einen Kommentar