IF-Abfrage in Assembler [Anfänger]

OP #2949478
Lesenswert?

Guten Tag,

folgendes Problem:

Ich möchte eine IF-Anweisung in Assembler schreiben.
Infos: ATMega128,Assembler, in Eclipse

Hier mal der Pseudo-Code:

while:
   call look4key    // schreibt einen Wert in Register 17

// jetzt kommt mein Problem:

if register 24 = 0xff -> springe zu while

// wenn ungleich 0xff in r24 dann laufe weiter im code

call ...
call ...
etc.


danke für die Hilfe
Gast #2949485
Lesenswert?

Gibt es denn nirgendwo ein Assemblerprogramm für einen ATmega, wo man 
solche Dinge abkupfern kann?

Falls der Inhalt von register 24 nicht weiter gebraucht wird, könnte man 
auf so Dinge wie
1
  INC     R24              
2
  BRNE    myLabel
kommen.
#2949493
Lesenswert?

Phillip Pressol schrieb:
> Ich möchte eine IF-Anweisung in Assembler schreiben.

In Assembler gibts sowas wie if nicht. In deinem Fall wäre das ein 
Vergleich. Also:

cpi r24, 0xff
breq -> Label zu deiner While Schleife, die es so in der Art in 
Assembler auch nicht gibt, musst du auch mit Hand programmieren, also so 
in etwa:

Main:

//was eben gemacht werden soll..

rjmp Main

Arbeite doch einfach hier auf der Seite das Assembler Tutorial durch, 
das ist nicht schlecht gemacht.

MfG Dennis

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren