> (PIC = 12C672)
Verkligen !?
Är det inte jobbigt att utveckla med en "C" modell ??
MOVFW är in inbygd "shortcut" in MPASM för MOVF reg,W.
Visst det fungerar, problemet med MOVFW är väl uppenbart av denna tråd.

Det är dokumenterat i MPASM manualen någonstans, men för att undvika
diskussioner typ den här, så kan man lika gärna låta bli att använda den...
> Jag har använt KEY_BUFFER som Konstant men deklarerat den som variabel, tror jag.
KEY_BUFFER EQU 60h
KEY_BUFFER är en ***SYMBOL***, ingenting annat !
I detta fall ger du symbolen värdet h'60'.
Om du senare använder denna som en adress, är helt på ditt ansvar...
Ett bättre sätt att allokera en "array" med 10 bytes är att t.ex göra :
Kod: Markera allt
KEY_BUFF_L EUQ 10
KB_ARRAY UDATA
KEY_BUFFER RES KEY_BUFF_L
MPLINK hittar en plats med 10 kontinuerliga bytes i RAM och sätter KEY_BUFFER till startadressen.
Sedan gör man i princip som du har gjort.
Men, vad var igentligen frågan ??
DU har bara lagt ut lite kod, men inget om vad som är problemet !?
Sen är det nog vanligare att man har en eller två pekare till arrayen
(top/bottom, start/end) istället för att hela tiden flytta runt data i arrayen...