Data string opslaan in pic

Hallo,
Ik wil via I2C 40 bytes binnen halen en achter elkaar opstaan in 40 van de 80 registers in BANK1.
Ik gebruik momenteel een PIC16F877A en schijf in AMS.
Ik zat er aan te denken om dat te doen via direct/indirect adressing, maar dat werk dus niet zoals ik dat wil.
Daarom vraag ik jullie om advies over hoe ik dat moet gaan doen.
Ik dacht, met dit als idee, zou moeten kunnen werken:

BANK1
MOVWF TEMP_BANK1
MOVLW (DAAR WAAR JE WIL BEGINNEN),W
MOVWF FSR_COUNT
BANK0
MOVF SSPBUF,W

(HERHAAL)

BANK1
MOVWF TEMP_BANK1
MOVF FSR_COUNT,W
MOVWF FSR
MOVF TEMP_BANK1
MOVWF INDF
INCF (DAAR WAAR JE WIL BEGINNEN),F
BANK0
MOVF SSPBUF,W
GOTO HERHAAL ; IN DIT VOORBEELD IS DIT EEN EINDELOZE LOOP.

Dit werkt dus al niet eens .
Heeft iemand een idee hoe je lange data strings achter elkaar kan gaan opslaan in de file registers van een pic?
Alle ideeën zijn welkom.

ik wil alles weten over pic stap voor stap

waarom assembler?
stap toch over naar C voor dit soort dingen

Arco

Special Member

Of Basic... ;)

Maar in assembly is een wat nieuwere 16F1xxx pic (deze is 20 jaar oud) een stuk handiger in assembly, die hebben o.a. de MOVIW/MOVWI instructies.
(en ook lineaire adressing van de GPR ram)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Ja ik begrijp dat C makkelijker kan zijn, maar helaas ben ik daar niet mee bekend.
Kans is groot dat ik zeker wel een andere pic heb liggen, aar dit is al een ouder project.
Dit is voor mij ook alleen maar hobby voor in de winter.
Dus even overstappen is wel wat lastig.
......
Ik heb wel een nieuwe pic16f1938 op voorraad liggen.
Is dat enigzins compatibel?

ik wil alles weten over pic stap voor stap

Ik ben destijds ook overgestapt naar de nieuwere picjes, 16F1933 o.a.
Je Init wordt wel uitgebreider want er zijn veel registers om in te stellen. Het is ook erg uitkijken met memory banks want de 16F1933 heeft er 8 8)7