+static void
+parse_flexible(void)
+{
+ if (data[pos] == 0xff && data[pos + 1] == 0xff)
+ {
+ match_u16_assert(0xffff);
+ match_u16_assert(0);
+ char *heading = get_string2();
+ if (!strcmp(heading, "DspCell"))
+ parse_DspCell();
+ else if (!strcmp(heading, "DspNumber"))
+ parse_DspNumber();
+ else if (!strcmp(heading, "DspString"))
+ parse_DspString();
+ else
+ assert(0);
+ }
+ else if (data[pos] == 0x2a && data[pos + 1] == 0x80)
+ match_DspNumber();
+ else if (data[pos] == 0x27 && data[pos + 1] == 0x80)
+ match_DspCell();
+ else if (data[pos] == 0x5 && data[pos + 1] == 0x80)
+ match_DspString();
+ else
+ assert(0);
+}
+