Alternativ noch eine Übersetzung hinzufügen. Den ENUM bei 0 beginnen und automatisch zählen lassen und dann noch ein TPairArray<TFPInstruction,Byte> mit fpiMOV_REG_CONST=$a0, fpiMOV_REG_REG=$a1 usw. füllen.
Oder ein Konstantenarray
Delphi-Quellcode:
const
cFPInstructionValues: array[TFPInstruction] of Integer = (
(*fpiMOV_REG_CONST*)$A0,
(*fpiMOV_REG_REG*)$A1
);
definieren und dann statt fpiXXX cFPInstructionValues[fpiXXX] benutzen:
Delphi-Quellcode:
var
fpi: TFPInstruction;
//...
for fpi := Low(TFPInstruction) to High(TFPInstruction) do
Writeln(cFPInstructionValues[fpi]);
Edit: Ich würde den Enum auch nicht explizit bei 0 beginnen lassen, sondern ganz "normal" definieren:
Delphi-Quellcode:
type
TFPInstruction = (
fpiMOV_REG_CONST,
fpiMOV_REG_REG
);