Forum: Mikrocontroller und Digitale Elektronik MPLAB kennt "movlw AAh" nicht


von Thomas M. (tm112)


Lesenswert?

Hallo,

folgende Sequenz muss eingehalten werden beim Schreiben in das EEPROM 
eines PIC 16F628:

BSF EECON1, WREN ;Enable write
BCF INTCON, GIE ;Disable INTs.
MOVLW 55h     ;
MOVWF EECON2   ;Write 55h
MOVLW AAh     ;
MOVWF EECON2   ;Write AAh
BSF EECON1,WR   ;Set WR bit
    ;begin write
BSF INTCON, GIE ;Enable INTs.

Soweit, so (nicht) gut. Zeile "MOVLW AAh" quittiert MPLAB mit dem 
Fehler:

"Symbol not previously defined (AAh)"

Natürlich könnte ich 0xAA schreiben. Woran liegt es jedoch, dass MPLAB 
derart schräg reagiert und in AAh keinen hex-Wert erkennt?

Thomas

von Uwe N. (ulegan)


Lesenswert?

Numerische Konstanten müssen mit einer Ziffer beginnen.

MOVLW 0AAh   funktioniert.

von Dieter W. (dds5)


Lesenswert?

MPLAB interpretiert alles was kein bekanntes Wort ist und mit einem 
Buchstaben beginnt als Label, daher auch die Fehlermeldung
"Symbol not previously defined (AAh)".
Dieses Verhalten zeigen auch viele andere Assembler.

von Profi (Gast)


Lesenswert?

Manche Assembler (z.B. AVR-Studio) mögen auch $aa , so wie früher 
üblich.

von Dennis (Gast)


Lesenswert?

benutze:

movlw h'AB'
movlw d'59'
movlw b'00001111'

so ist es in der mplab anleitung meine ich vorgegeben, und ich habe 
damit noch nie probleme gehabt..

Grus,
Dennis

von Carsten S. (carsten)


Lesenswert?

oder auch 0xAA

von Dennis (Gast)


Lesenswert?

 die 0x schreibmethode scheint überall zu gehen....ob in asm oder in c 
oder was weiß ich wo...

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
Noch kein Account? Hier anmelden.