Datenablage im Flash mit Strukturen

Mittels einer Strukturdeklaration lassen sich Werte in einem Datenobjekt besser lesbar und übersichtlicher ablegen, als es mit den gegebenen Varianten für ein Datenobjekt möglich ist. Hierfür setzt der Präprozessor die angegebenen Werte in die entsprechenden Befehle wie „.db“, „.dw“ usw. um.

Die Strukturdeklaration selbst belegt bekanntlich keinen Speicherplatz, sondern dient nur zur Definiton wie Daten strukturiert sind und wie sie interpretiert werden sollen.

Anwendung

Die Daten, z.Bsp. für eine Tabelle mit sich wiederholenden, verschiedenen aufeinanderfolgenden Werten, werden statt wie üblich mit „.db“, „.dw“ usw. folgend definiert:

Strukturname { Elementwert [, Elementwert2, ..] }

Beispiel

[..]
 
struct ENTRY
  byte   index
  string text[14]
  byte   terminate
  word   value
endstruct
 
[..]
 
data table
  ENTRY { 1, "Eintrag Nr. 1", 0, 0xcd44 }
  ENTRY { 2, "Eintrag Nr. 2", 0, 0x1122 }
  ENTRY { 3, "Eintrag Nr. 3", 0, 0xff00 }
enddata

Dieses Beispiel wird vom Präprozessor verarbeitet zu:

data table
  .db 1
  .db "Eintrag Nr. 1 ",0
  .dw 0xcd44
  .db 2
  .db "Eintrag Nr. 2 ",0
  .dw 0x1122
  .db 3
  .db "Eintrag Nr. 3 ",0
  .dw 0xff00
enddata