MSP: Assemblerproblem

Gast #23234
Lesenswert?

Hi,

ich habe zwei kleine Probleme mit dem IAR-Assembler:

MOV R6,BLA -> OK
MOV BLA,R6 -> illegal effective Address

Die 'Variaible' BLA ist in der Header-Datei definiert. Da liegt noch 
mein zweites Problem: wie kann ich bzw. der Assembler unterscheiden, ob 
bei

#define BLA  0202h

der Variablen der Wert 202h zugewiesen wird oder ob die Variable an der 
Speicherstelle 202h liegt? Letzteres hätte ich gerne.

Gruß, ALF
Gast #23237
Lesenswert?

Hallo,

das #define... weist natürlich der Variablen den entsprechenden Wert zu. 
(Usermanual Assembler) Der Assembler kann ja auch nicht wissen, ob in 
diesem Bereich RAM o ROM befinden...
Dein mov... scheint in der Tat ein Problem des Assemblers zu sein, im 
MSP430-User Guide steht zumindest, dass ein
mov addr1, addr2  erlaubt ist.
Versuche es doch mal ohne das #define.  Offensichtlich ist der Assembler 
auch nicht das was er sein sollte.

Gruss Haiko
Gast #23239
Lesenswert?

Beim MSP kann der ganze Adressbereich (0..ffff) sowohl lesend wie 
schreibend verwendet werden, aber schreiben auf unzulässige Bereiche (z. 
B. WD oder FLASH ohne richtiges Passwort) gibt einen NMI. Ich meine, 
dass es auch dann einen NMI gibt, wenn auch nicht vorhanden Adressen 
geschrieben werden soll.
Vielleicht beschwert sich der Assembler deswegen.

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