Archiv verlassen und diese Seite im Standarddesign anzeigen : Assembler Hilfe
Hallo,
hätte da mal kurz ein paar Fragen zu Assembler. Ich habe folgende Befehle:
ADD R10, #10
ADD R12, (10)
ADD R13, (R1)
ADD R14, @(R3)
ADD R15, (R4+R)
Mich würde interessieren, was jetzt der letzte Operand macht, also was bewirkt z.B. @(R3).
mfg
Den konkreten Assembler kenn ich nicht, aber "@" heisst normalerweise "deferred". D.h. indirekt.
ADD R14, @(R3)
lädt als in das Register R14 nicht das, wo (R3) hinzeigt, sondern
(R3) zeigt auf eine Adresse und R14 lädt das was an DIESER adresse steht
War ich verständlich ?
Also in R3 steht eine Adresse z.b. 10h und in R14 wird geladen, was im Speicher bei 10h steht?
mfg
Ich würde das ziemlich sicher so vermuten (unter dem genannten Vorbehalt).
R3 der wert von R3
(R3) das wo r3 hinzeigt
@(R3) das wo r3 hinzeigt, ist die eigentlich adresse
Sollte aber auch im Manual stehen (Instruction Set, gibt's für alle Prozessoren)
Würde raten, dir das runterzuladen, wenn du mehr assemblierst, spart das vielen Kummer
Also @(R3) zeigt auf eine Adresse, wo eine Adresse_2 steht und der Wert an Adresse_2 wird dann verwendet? Wie in C ein Pointer auf einen Pointer.
mfg
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.