Frage zu Banking (PIC)

Gast #489886
Hallo,

ich habe einen PIC16F871, dessen Programmspeicher unterteilt ist in 
Bank0 (0h - 07FFh) und Bank1 (ab 0800h).
Ich möchte nun einige Unterprogramme im Programmspeicher in der Bank1 
ablegen; könnte so aussehen:

      org 0

      Hauptprogramm



      org 0800

      Unterprogramme

Meine Frage wäre nun, was zu beachten ist, wenn ich mit einem Call 
Befehl Unterprogramme aufrufe? Muß ich das STATUS-Bit RP0 setzen vor dem 
Aufruf oder PCLATH verändern?

Alles etwas wirr ;)

Danke für Eure Antworten
Gast #489900
> ich habe einen PIC16F871, dessen Programmspeicher unterteilt ist in
> Bank0 (0h - 07FFh) und Bank1 (ab 0800h).

Demnach hätte dein PIC > 2048 Byte Programmspeicher, kann also nicht 
sein.

Was tatsächlich in Bänke unterteilt ist, ist das SRAM. Näheres im 
aktuellen Datenblatt auf Seite 13.

MvH
J.
Gast #489909
Was mich noch mehr verwirrt ist die Tatsache, daß laut Datenblatt der 
PIC nur 2K x 14 Programmspeicher hat... also von 0x000 bis 0x7FF. Wo 
soll da die zweite Page sein?!? Zudem verlässt du mit CALL oder GOTO in 
keinem Fall die Page0, weswegen du PCLATH eigentlich auch vergessen 
kannst. Die RPx - Flags dienen dazu, den segmentierten Datenspeicher 
umzuschalten... und aus dem kannst du keinen Programmcode ausführen.

Gruß,
  SIGINT
Gast #489999
Ich Hirnbrannt,

habe mich vertan, habe einen PIC16F874!!!!!!!!!!!!!!!

Das ich mit CALL oder GOTO die Page nicht verlasse, ist mir auch klar.
Ich möchte nur wissen, was ich beim Übergang von 07FF (Page0) auf 0800 
(Page1) beachten muß.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.