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.
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, ..] }
[..] 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