
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Ja, das ist in der Tat ein fetter Compiler-Bug. Mit der oberen Word/Byte Deklarationsgrenze, ist es glaube ich so, dass Stefan das mit Absicht offengelassen hat. Da Sollte aber trotzdem zumindest eine Warnung dann vom Compiler kommen. Ansonsten, würde ich Dir unbedingt empfehlen, falls Du das nicht schon hast, unter http://www.fdos.de/ccbpp/download.php die allerneuste Compiler/IDE Software zu downloaden. Gruß Dierk > Hallo! > > Ich sammel gerade meine ersten Erfahrungen mit einer M-Unit 2.0 und Basic++. > Bin dann auch prompt auf die Notwendingkeit der Vergabe von Offsets bei der > Definition von Variablen gestoßen .-) > Doch ... > > Die M-Unit V 1.0/1.1 hatte 24 Byte User-Ram. > Daraus folgen die Offsets: > 1- 12 für Word > 1- 24 für Byte > 1-192 für Bit > > Die M-Unit V 2.0 hatt 64 Byte User-Ram. > Daraus würden diese Offsets entstehen: > 1- 32 Word > 1- 64 Byte > 1-512 Bit > > Der Basic++ Compiler läßt dann auch ein "Define bVal As Bit[512]" zu. > Doch der Download zur Unit wird dann mit einem Fehler "ungültiger Token: 512]" zurückgewiesen. > Tests ergaben, daß der maximale Wert für einen Offset bei 255 liegt (der Offset selber also Byte-orientiert) ist. Damit kann man nur die unteren 32 Bytes der User-Ram Bit-weise adressieren. > > Frage: Wie kann man die oberen 32 Bytes per Bit[x] ansprechen? > > PS: > Der Compiler läßt übrigens auch unmögliche Offsets zu: > zB "Define val As Word[7000]" ist kein Problem ... > Da derselbe Compiler aber die Bytes[1 & 2] respektive Word[1] mit einem Fehler quittiert > (dadieser Wert ja bekanntlich als Function-Return-Wert benutzt wird) > sollte es doch kein Problem sein, auch einen Check "nach oben hin" einzubauen. > > Tschau > Andreas > > Meine Homepage: http://www.csslabs.de/ccontrol |
| Antwort schreiben |