PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Werte-Tabelle mit ASM. Probleme mit PCLATH..



Jango1987
16.03.2010, 14:29
Hallo, ich programmiere PIC in ASM mit MPLAB. mein Problem ist, dass beim schreiben von PCL, PCLATH immer auf 0 zurückgeht.

ich will damit ne Sinus-Wertetabelle einbinden, die mit dem Label "Sin" aufgerufen wird.

Hier ein code-ausschnitt:
;>>>>>>----Tabellen------>>>>>>>>>>>>>>>
org 0x00FF
Sin addwf PCL,1
retlw d'0'
retlw d'2'
retlw d'3'
retlw d'5'
retlw d'6'
retlw d'8'
retlw d'9'
...
...


beim auführen von "addwf PCL,1" beträgt der PC 0x100, wie es eben sein soll. Danach, aber 0x00(W). der High-part vom PC wird immer resetet, wieso?

(bei Sprut und co. wird dieses Problem nicht angesprochen, also bitte kein sprut-link ^^)

vielen dank fürs lesen, und ich hoffe auf antworten.

Gruß Jango

(edit: hab grad gemerkt, dass ich im falschen Unterforum bin, wenn ein Moderator das sieht, könnte er es bitte in den PIC-bereich verscheiben.. danke)

Richard
16.03.2010, 16:58
Hmmm, suche Dir besser einen anderen Namen für die Routine,
sin (könnte) vom Compiler belegt sein! Es ist jetzt ca 20 Jahre her das ich
PIC in Ass programmiert habe, da ist quasi nichts hängen geblieben...

Gruß Richard

Jango1987
16.03.2010, 18:34
Danke für deine Antwort, aber an dem Label liegts sicher nicht, da er ja bei der Simulation an die richtige Stelle springt. nur was danach kommt ist Murks.

Ich Simulier das mit dem Integrierten MPLAB SIM nur so nebenbei..

Gruß Denis

PICture
16.03.2010, 18:45
Hallo!

@ Jango1987

Schau, bitte, ins http://www.rn-wissen.de/index.php/PIC_Assembler#Tabellen

MfG

Jango1987
16.03.2010, 20:26
danke auch für deine Antwort, aber da hab ich auch schon geguckt.. bitte das thema genau lesen, bevor noch ein link gepostet wird von RN-wissen oder sprut, oder ein tip kommt, ich soll mal googeln ^^

Es geht nicht um die Grundlagen (die sind wirklich banal) sondern um ein Problem bei der Ausführung...

Gruß Jango

Jango1987
17.03.2010, 13:16
also ich verzweifel langsam an diesem Problem..

das schrieben auf PCL kann niemals PCH beeinflussen, richtig? was aber bei meinem Simulator passiert.

hat jemand eine Idee?

Gruß Jango

theborg
20.03.2010, 08:24
ja wen du die Tabellen irgendwo oberhalb von den ersten 1024 Programwortern hast musste noch die Speicherseite(nicht mit banking verwechseln) anpassen b.z.w. dahin wechseln, oder die Tabelle halt innerhalb der ersten 1024 Programmwörtern anlegen z.b. mit einer extra Datei und #include ("/blablub")

Jango1987
20.03.2010, 09:57
tja.. ich hab festgestellt, dass ich dümmer bin, als ich dachte und hab auch noch ein Beweis-tread eröffnet. 8-[

Natürlich wird PCH durch das schreiben von PCL beeinflusst.. beim schreiben in PCL wird PCLATH in PCH geladen, nur so sind ja größere sprünge möglich.

mit diesem Wissen klappts dann jetzt endlich und meiner Sin(x), Cos(x), ArcSin(x), SrcCos(x) Funktionen steht nix mehr im wege O:)

Gruß Jango