Gast
#3128193
werde aus dem tutorial nicht ganz schlau! wenn z.B.
1 | |
2 | |
3 | |
in diesem fall wird nun zu wahr gesprungen oder?
1 | |
2 | |
3 | |
in diesem fall wird nun mit ..... weitergearbeitet oder?
|
Anzeige
|
Brne frage!!
Gast
#3128193
werde aus dem tutorial nicht ganz schlau! wenn z.B.
in diesem fall wird nun zu wahr gesprungen oder?
in diesem fall wird nun mit ..... weitergearbeitet oder?
Gast
#3128202
Hi
>oder?
Genau umgedreht.
MfG Spess
Leo schrieb: > werde aus dem tutorial nicht ganz schlau! > wenn z.B. > >
> > in diesem fall wird nun zu wahr gesprungen oder? Der Vergleich von 1 und 1 ergibt "wahr", stimmt's? Du sagst, daß er bei "nicht wahr" springen soll. "brne" heißt "branch if not equal" Also wird nicht gesprungen und mit der folgenden Instruktion weitergemacht. > > > >
Hier wird gesprungen, weil der Vergleich von 2 und i "not equal" ist. > > > in diesem fall wird nun mit ..... weitergearbeitet oder? Nein, sondern bei "wahr".
Gast
#3128363
"cpi 1, 2" wird vom Assembler gar nicht akzeptiert. Der erste Operand muss ein Register zwischen r16 und r31 sein. Danke für den Hinweis. Ich bin nicht so fit in Assembler, das hab ich nicht gemerkt. Mir gings auch nur um die Erklärung zum "brne". Die war aber hoffentlich richtig, oder? ;-)))
Gast
#3128422
Also, ein "cp" / "cpi" ist nichts anderes als eine Subtraktion, bei der das Ergebnis aber nicht abgespeichert wird. Die Flags (Zero, Vorzeichen, usw.) werden aber gesetzt oder gelöscht. Ein nachfolgender Befehl kann diese Flags nun auswerten, wie z.B. der "brne". Dieser springt zur angegebenen Marke, wenn das Zero-Flag nicht gesetzt ist. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|