
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo miteinander Word- und Bytevariablen, bei denen bei der Definition ein Index angegeben wird, können sich bei ungünstiger Wahl dieses Indexes überschneiden. Sie belegen also die gleichen Speicherzellen im RAM-Speicher, was nicht sofort ersichtlich ist. Werden zwei Bytevariablen, die sich mit einer Wordvariable überlappen, mit folgender Pseudo-Syntax definiert... define wordvariable1 word[w] define bytevariable1 byte[b] define bytevariable2 byte[b+1] ...kann der Index "b" aus dem Index "w" folgendermaßen berechnet werden: b=(w-1)*2+1 Dazu ein Beispiel: define wordvariable word[5] b=(5-1)*2+1 = 9 Die Wordvariable mit dem Index 5 belegt also den gleichen Speicher wie die Bytevariablen mit dem Index 9 und 10. Zur Verdeutlichung noch eine Tabelle: Wordindex | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ... ----------|--------------------------------------------------------------------------------------- Byteindex | 1 & 2 | 3 & 4 | 5 & 6 | 7 & 8 | 9 & 10 | 11 & 12 | 13 & 14 | 15 & 16 | 17 & 18 | ... Gruß Dietmar Meine Homepage: http://ccintern.dharlos.de |
| Antwort schreiben |