-
        

Ergebnis 1 bis 8 von 8

Thema: Werte-Tabelle mit ASM. Probleme mit PCLATH..

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    30.04.2008
    Beiträge
    81

    Werte-Tabelle mit ASM. Probleme mit PCLATH..

    Anzeige

    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:
    Code:
    ;>>>>>>----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)

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.556
    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

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    30.04.2008
    Beiträge
    81
    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

  4. #4
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hallo!

    @ Jango1987

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

    MfG

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    30.04.2008
    Beiträge
    81
    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

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    30.04.2008
    Beiträge
    81
    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

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    30.09.2006
    Ort
    Hamburg
    Alter
    35
    Beiträge
    989
    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")
    Legastheniker on Bord !

    http://www.Grautier.com - Projektseite
    http://www.grautier.com/wiki/doku.php?id=bt-index - BT-BUS

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    30.04.2008
    Beiträge
    81
    tja.. ich hab festgestellt, dass ich dümmer bin, als ich dachte und hab auch noch ein Beweis-tread eröffnet.

    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

    Gruß Jango

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •