Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: IEEEFP.BAS(158): Adressierungsart nicht erlaubt Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Norbert - 26.11.2017 18:58)
 Als Antwort auf IEEEFP.BAS(158): Adressierungsart nicht erlaubt von Dietmar - 26.11.2017 16:52
Norbert nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi
> 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

Bisherige Antworten:

Zweierkomplement (von Dietmar - 26.11.2017 20:33)