Hi, in der Berufschule sind wir gerade bei dem Thema ARM, und sollen ein kleines Programm schreiben. In einem Beispiel Programm stehen 2 Befehle, welche ich nicht verstehe. Könnte mir einer diese Befehle vllt. kurz erläutern: 1. Befehl MOV R9, R1, LSR #3 2. Befehl LDR R0, =0x20 // Lädt den dezimalen Wert 32 in R0 RSB R0, R0, LSL#8 Vielen Dank für die Hilfe.
> Könnte mir einer diese Befehle vllt. kurz erläutern Ja, schau in Deinem Unterichtsmaterial nach! Oder such ein ARM-Manual mit Befehlssatzbeschreibung. Da gibt es im Internet eine Suchmaschine, damit kommst Du weiter: http://www.google.de
Krikus wrote: > 1. Befehl > MOV R9, R1, LSR #3 R9 = R1 / 8 http://www.heyrick.co.uk/assembler/mov.html#mov http://www.heyrick.co.uk/assembler/shift.html#lsr Trick: R1, LSR #3 ist ein "Flexible second operand" http://infocenter.arm.com/help/topic/com.arm.doc.dui0204i/Cihbeage.html > 2. Befehl > LDR R0, =0x20 // Lädt den dezimalen Wert 32 in R0 http://www.heyrick.co.uk/assembler/str.html#ldr bringt einen nicht weiter. R0 = 0x00000020 http://infocenter.arm.com/help/topic/com.arm.doc.dui0204i/Babbfdih.html Trick: Es ist eine "LDR pseudo‑instruction". Findet man in Referenzkarten zum Befehlssatz manchmal nicht > RSB R0, R0, LSL#8 http://www.heyrick.co.uk/assembler/mov.html#rsb http://www.coranac.com/tonc/text/asm.htm http://infocenter.arm.com/help/topic/com.arm.doc.dui0204i/Cihcjfjg.html Trick: R0, LSR #3 kann ein "Flexible second operand" sein http://infocenter.arm.com/help/topic/com.arm.doc.dui0204i/Cihbeage.html ABER ich vermute, dass diese Zeile nicht vollständig ist. Es kann das Zielregister fehlen, der erste Operand oder ein Teil vom zweiten Operanden. Im vorletzten Link ist das Zielregister als optional gekennzeichnet ({Rd}), darüber habe ich aber nichts weiter gefunden. Sicher gültig wäre es mit einem weiteren Register z.B. RSB R0, R1, R2, LSL#8 R0 = (R2 << 8) - R1
Stefan "stefb" B. wrote: > Krikus wrote: > >> RSB R0, R0, LSL#8 > > ABER ich vermute, dass diese Zeile nicht vollständig ist. Es kann das > Zielregister fehlen, der erste Operand oder ein Teil vom zweiten > Operanden. > > Im vorletzten Link ist das Zielregister als optional gekennzeichnet > ({Rd}), darüber habe ich aber nichts weiter gefunden. Thumb, bzw. UAL (Unified Assembler Language). Gruß Marcus http://www.doulos.com/arm/
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.