PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : funktionszeiger in asm



ein.brot
07.10.2005, 20:04
Hi,
hätte jemand eine Idee wie ich Funktionszeiger in asm realisiere?

also ich möchte bei einem call nicht auf eine feste, sondern auf eine zur Laufzeit berechnete Adresse springen.

Interessant wäre auch weiter als 255 Zeilen zu callen, ansonsten würde ich mir mit gotos und einer temp var helfen.

danke! brot

Fritzli
07.10.2005, 20:30
Hallo

Ohne goto, call, etc springen geht, wenn man den PC direkt manipuliert:

1) man schreibt die höheren Bits der Zieladresse in PCLATH
2) man schreibt die unteren 8Bits in den PC. Dabei wird die neue Adresse aus diesen 8Bits plus den Bits in PCLATH gebildet (wie ne normale 16Bit-Adresse). Dabei springt der PIC dann auf die neue, berechnete Adresse.

Sollte im Datenblatt beim PC/PCLATH stehen...

Das gleiche Verfahren wird auch für Datentabellen verwendet.

Was soll den konkret gemacht werden?

Gruess
Fritzli

ein.brot
07.10.2005, 21:06
konkret wollte ich mir für mein lcd eine string ausgabe schreiben
die halt tabellen benutzt ala:

label1 DT "mein string"


nur wenn ich jetzt fest auf label1 callen würde, hätte ich eine funktion die einen string ausgeben könnte, also wollte ich halt "dynamisch" auf den string callen auf den ich grade zugreifen will.
Aber an PCLATH habt ich überhaupt nicht gedacht...

:) brot