Seite 1 von 1

DAT-Block und cRAM

Verfasst: So 10. Apr 2016, 10:54
von ShiaPrime
Liebe Drohnen,

hier nur eine kleine Verständnisfrage. Wenn ich im DAT-Block pasm-Code nutze und z.B. ebenfalls die Farbtabelle für die VGA-Bildschrimausgabe dort liegt, wird diese Farbtabelle auch im cRAM gespeichert, oder?

Code: Alles auswählen

DAT
                        org     0

entry {hier pasm-Code}

DAT
vgacolors     long      $3C043C04
              long      $3C3C0404
{...}
testlabel
Wenn ich den DAT-Bereich mit der Farbtabelle vor die ORG-Direktive setze, bleiben dann diese Werte im hRAM?

Code: Alles auswählen

DAT
vgacolors     long      $3C043C04
              long      $3C3C0404
{...}

DAT
                        org     0

entry {hier pasm-Code}
Laut der Speicheranzeige im BST scheint es mir so.
vgacolors = OBJ[$00A8] COG[$027] <-- erstes Beispiel
testlabel = OBJ[$00E8] COG[$037] <-- erstes Beispiel

vgacolors = OBJ[$000C] COG[$000] <-- zweites Beispiel
entry = OBJ[$004C] COG[$000] <-- zweites Beispiel

Somit würde ich doch im ersten Beispiel unnötigen cRAM verbrauchen. Sehe ich das richtig?

Viele Grüße,

Eric

Re: DAT-Block und cRAM

Verfasst: So 10. Apr 2016, 11:09
von PIC18F2550
es wird ab marke immer 512 long geladen egal was da steht.
es werden nur die daten in den cog copiert die quelle bleibt im hram für andere anwendungen erhalten.

Re: DAT-Block und cRAM

Verfasst: So 10. Apr 2016, 11:17
von ShiaPrime
Danke. Also, wenn ich es richtig verstanden haben, ist es somit egal wo die Farbtabelle steht (vor oder eben hinter dem eigentlichen pasm-Code). Sollte der pasm-Code mal recht lang werden und den cRAM fast füllen, dann würde halt die Farbtabelle nur teilweise oder eben nicht in den cRAM kopiert werden (wo sie ja auch nicht benötigt wird). Im zweiten Beispiel dürfte somit die Farbtabelle erst gar nicht kopiert werden, da sie noch vor der pasm-Einstiegsmarke liegt.

Re: DAT-Block und cRAM

Verfasst: So 10. Apr 2016, 11:57
von PIC18F2550
dein pasm code beginnt immer mit einer marke und dem org 0.