Sida 3 av 4

Postat: 28 oktober 2007, 19:03:37
av sodjan
> Bank 1 är enbart en ”spegling” av bank 0,...

Självklart, skulle ha tänkt på det... :-)

> samma som ADRESH o ADRESL använder.

OK, ett ganska korkat att lägga dom där, men jag förstår vad du vill testa...

> Hur kan det komma sig ?

RTFM. Speciellt "2.4 Indirect Addressing, INDF and FSR Registers" !

Postat: 28 oktober 2007, 20:54:57
av persika
Det var bra detta, nu har jag fått klarhet i det här med de mystiska bankerna..

Har lusläst 2.4

Vid "direkt adressering" kommer de 7 lägsta bitarna från op-code och
den högsta biten från RP0 i status registret, dessa tillsammans bildar adressen till registret som avses.

Vid "indirekt adressering" (med pekare) kommer alla bitarna från
FSR-registret utan att RP0 är inblandad.

På detta vis sparar man en bit i op-code o kanske därför man kan ha en
smalare buss och programminne, som tar mindre kisel-yta, som nämnts tidigare i denna tråd.

Postat: 28 oktober 2007, 21:14:24
av sodjan
> Har lusläst 2.4

Ca en hel tråd för sent. :-)

> På detta vis sparar man.........

Jag tror inte du ska läsa in allt för mycket orsaker i allt,
det är bara så som det råkar fungera. Vilka historiska
orsaker som gör att det ser ut som det gör i dag, är
en annan sak...

Som sagt, fundera inte allt för mycket på det, gör bara
som det är dokumenterat... :-)

Postat: 28 oktober 2007, 21:50:25
av persika
Man kanske kan sammanfatta så här:

1. Man har ingen nytta av bankningen för egna variabler.
2. Man kan strunta i hur RP0 står, för egna variabler.

Rätt eller ?

Postat: 28 oktober 2007, 23:18:06
av sodjan
I fallet med 12F676/629, ja.

> Man har ingen nytta av

Och inget problem med heller...

Postat: 29 oktober 2007, 06:16:01
av persika
Finns det nån PIC-processor som har bankning för
GPR "General Purpose Registers" ?

Postat: 29 oktober 2007, 06:32:51
av Marta
Det har de flesta, det är bara minimodellerna som har minimalt med RAMsom inte har det.

Läs datablad, där finns alla svaren!

Postat: 29 oktober 2007, 06:55:06
av persika
Tog en titt i bladet för 16F870, samma uppbyggnad som 12F675, men finns mera minne så där kommer biten IRP i STATUS att ha inverkan då man använder pekare, FSR.

Postat: 29 oktober 2007, 09:58:15
av sodjan
IRP används på de modeller med 4 banker.
Och som Marta sa, det är enbart några stycken mindre PIC som utgör
undantagen, d.v.s som enbart har "unbanked" RAM.

Postat: 16 december 2007, 05:17:56
av Cafaroo
Vad har jag gett mig in på nu.. *Förvirrad* Ska jag verkligen börja med pic? :shock:
haha

Postat: 16 december 2007, 12:14:18
av sodjan
> *Förvirrad*

Fråga bara så reda vi ut det. Det är inte speciellt svårt igentligen.

Postat: 16 december 2007, 12:20:55
av Icecap
Bara man låter bli att blanda in ARM och andra processorer.

PIC är enkla, till vissa projekt FÖR enkla men till mycket alldeles "lagom stora". Alla processorer har deras "egenheter" och att en processorfamilj är bättre än en annan är egentligen skitsnack när man inte definierar VAD "bättre" är.

En 16-bitars processor kan blinka en LED precis lika bra som en av PIC minstingarna men är den "bättre" för det? Eller är PIC'en "bättre"?

Nåväl, kör på med PIC, det KOMMER att uppstå problem och frågor OAVSETT vilken processorfamilj det rör sig om så det är inget konstigt.

Postat: 16 december 2007, 13:44:46
av bengt-re
Och det är inte heller några olösliga problem - miljontals programmerare har lärt sig detta och har svårt att tro att inte du heller skulle lyckas med det. Ta det en bit i taget. Vill du slippa problemet vid större uC så kör med 18-serien istället då denna är bra mycket smidigare vid asm-programmering (har några användbara instruktioner till bland annat)

Postat: 16 december 2007, 15:20:51
av Ulf
Helt OT, men Sodjans inlägg förut fick mig att undra över en sak eller två:

Är det någon som har kört LISP på PIC eller AVR?

LISP är, enligt min mening, rätt perverst men med en del guldkorn.
De flesta programspråk har ju sin för- och nack-delar. Men LISP är bara mer... .
Eller Prolog, huh....

Postat: 16 december 2007, 15:31:17
av sodjan
Hur fasen fick jag dig att tänka på LISP eller Prolog !? :-)