INFO - FAQ - CC2-Forum - CCPro-Forum |
|
> Hallo Norbert! > > > die extreme Ram-Beschränkung von IEEEP > > Ab 48 vom Anwender zusätzlich dimensionierten BYTE-Variablen meldet der Compiler die Fehler: > > IEEEFP.BAS(158): Adressierungsart nicht erlaubt bei CLR > IEEEFP.BAS(158): Adressierungsart nicht erlaubt bei CLR > IEEEFP.BAS(158): Adressierungsart nicht erlaubt bei ROR > IEEEFP.BAS(158): Adressierungsart nicht erlaubt bei ROR > > Das liegt daran, daß die Variablen von IEEEFPM.PRO in der Zeropage liegen müssen. > > Eine Lösung: Die am Beginn von IEEEFPM.PRO definierten Variablen an den Beginn des eigenen Programms verschieben. Die eigenen Variablen werden dann hinter die IEEEFPM-Variablen verschoben. Das klappt natürlich nur, wenn die eigenen Variablen nicht in der Zeropage liegen müssen, also nicht in Assembler per DIR-Adressierungsart (\"8-bit direkt\") angesprochen werden. > > Viel Spaß und Erfolg mit den OM-Mikrocontrollern! > > Dietmar Hallo Dietmar! Der Tipp ist gut. Danke. IEEEP kommt im Beispiel mit 114 Programmbytes klar. Augenscheinlich benötigt IEEEP 40 Byte. Aufpassen muss man nur, dass Bit-Variablen ganz oben stehen müssen (innerhalb der üblichen ersten 32 Byte). Es bleibt aber das Problem mit den Negativwerten. Meine Gedanken zur 32-Bit-Arithmetik, das Ergebnis in eine Word-Variable speichern zu könnnen, scheinen sich wohl nicht verwirklichen zu lassen? Noch ein schönes Restwochenende Norbert |
Antwort schreiben |