ARM Assembler Verständnisprobleme

Hallo,

Kennt wer ein gutes Tutorial für ARM Assembler?
Ist gegenüber x86 doch etwas komplizierter, finde ich.

Würde aber schon reichen wenn mir jemand die Conditions erklärt.

z.B. das hier
Code:
LDRNE   r2,[r5,#960]!   ; (conditionally) loads R2 from a word
                        ; 960 bytes above the address in R5, and
                        ; increments R5 by 960.
Ich habe mittlerweile herausgefunden das die Condition der Suffix NE (Not Equal) ist.
Verstehe ich aber in diesem Kontext nicht. Was gibt hier an, dass Register R5 inkrementiert wird?

Siehe: Conditions
 
Okay. Bin schon schlauer was inkrementieren betrifft. Das Rufzeichen gibt an das R5 inkrementiert wird.

Allerdings verstehe ich die Conditions noch nicht ganz. Das obige Beispiel wird ja nur ausgeführt wenn vorher
ein Compare Befehl oder ein anderer das Statusregister geändert hat und Not equal zutrifft, oder?
 
Oben