Opcodes massiv erweitert

This commit is contained in:
2025-10-14 00:45:29 +02:00
parent 5a002806a9
commit 8f773312b0
47 changed files with 691 additions and 138 deletions

View File

@ -98,6 +98,112 @@ class Program {
if (ip < code.Length) ip++;
break;
}
// Signed integer arithmetic
case Bytecode.OpCodes.ADD_SINT: Console.WriteLine("ADD_SINT"); break;
case Bytecode.OpCodes.SUB_SINT: Console.WriteLine("SUB_SINT"); break;
case Bytecode.OpCodes.MUL_SINT: Console.WriteLine("MUL_SINT"); break;
case Bytecode.OpCodes.DIV_SINT: Console.WriteLine("DIV_SINT"); break;
case Bytecode.OpCodes.ADD_INT: Console.WriteLine("ADD_INT"); break;
case Bytecode.OpCodes.SUB_INT: Console.WriteLine("SUB_INT"); break;
case Bytecode.OpCodes.MUL_INT: Console.WriteLine("MUL_INT"); break;
case Bytecode.OpCodes.DIV_INT: Console.WriteLine("DIV_INT"); break;
case Bytecode.OpCodes.ADD_DINT: Console.WriteLine("ADD_DINT"); break;
case Bytecode.OpCodes.SUB_DINT: Console.WriteLine("SUB_DINT"); break;
case Bytecode.OpCodes.MUL_DINT: Console.WriteLine("MUL_DINT"); break;
case Bytecode.OpCodes.DIV_DINT: Console.WriteLine("DIV_DINT"); break;
case Bytecode.OpCodes.ADD_LINT: Console.WriteLine("ADD_LINT"); break;
case Bytecode.OpCodes.SUB_LINT: Console.WriteLine("SUB_LINT"); break;
case Bytecode.OpCodes.MUL_LINT: Console.WriteLine("MUL_LINT"); break;
case Bytecode.OpCodes.DIV_LINT: Console.WriteLine("DIV_LINT"); break;
// Unsigned integer arithmetic
case Bytecode.OpCodes.ADD_USINT: Console.WriteLine("ADD_USINT"); break;
case Bytecode.OpCodes.SUB_USINT: Console.WriteLine("SUB_USINT"); break;
case Bytecode.OpCodes.MUL_USINT: Console.WriteLine("MUL_USINT"); break;
case Bytecode.OpCodes.DIV_USINT: Console.WriteLine("DIV_USINT"); break;
case Bytecode.OpCodes.ADD_UINT: Console.WriteLine("ADD_UINT"); break;
case Bytecode.OpCodes.SUB_UINT: Console.WriteLine("SUB_UINT"); break;
case Bytecode.OpCodes.MUL_UINT: Console.WriteLine("MUL_UINT"); break;
case Bytecode.OpCodes.DIV_UINT: Console.WriteLine("DIV_UINT"); break;
case Bytecode.OpCodes.ADD_UDINT: Console.WriteLine("ADD_UDINT"); break;
case Bytecode.OpCodes.SUB_UDINT: Console.WriteLine("SUB_UDINT"); break;
case Bytecode.OpCodes.MUL_UDINT: Console.WriteLine("MUL_UDINT"); break;
case Bytecode.OpCodes.DIV_UDINT: Console.WriteLine("DIV_UDINT"); break;
case Bytecode.OpCodes.ADD_ULINT: Console.WriteLine("ADD_ULINT"); break;
case Bytecode.OpCodes.SUB_ULINT: Console.WriteLine("SUB_ULINT"); break;
case Bytecode.OpCodes.MUL_ULINT: Console.WriteLine("MUL_ULINT"); break;
case Bytecode.OpCodes.DIV_ULINT: Console.WriteLine("DIV_ULINT"); break;
// Floating point arithmetic
case Bytecode.OpCodes.ADD_REAL: Console.WriteLine("ADD_REAL"); break;
case Bytecode.OpCodes.SUB_REAL: Console.WriteLine("SUB_REAL"); break;
case Bytecode.OpCodes.MUL_REAL: Console.WriteLine("MUL_REAL"); break;
case Bytecode.OpCodes.DIV_REAL: Console.WriteLine("DIV_REAL"); break;
case Bytecode.OpCodes.ADD_LREAL: Console.WriteLine("ADD_LREAL"); break;
case Bytecode.OpCodes.SUB_LREAL: Console.WriteLine("SUB_LREAL"); break;
case Bytecode.OpCodes.MUL_LREAL: Console.WriteLine("MUL_LREAL"); break;
case Bytecode.OpCodes.DIV_LREAL: Console.WriteLine("DIV_LREAL"); break;
// Signed integer comparisons
case Bytecode.OpCodes.LT_SINT: Console.WriteLine("LT_SINT"); break;
case Bytecode.OpCodes.GT_SINT: Console.WriteLine("GT_SINT"); break;
case Bytecode.OpCodes.LE_SINT: Console.WriteLine("LE_SINT"); break;
case Bytecode.OpCodes.GE_SINT: Console.WriteLine("GE_SINT"); break;
case Bytecode.OpCodes.EQ_SINT: Console.WriteLine("EQ_SINT"); break;
case Bytecode.OpCodes.NEQ_SINT: Console.WriteLine("NEQ_SINT"); break;
case Bytecode.OpCodes.LT_INT: Console.WriteLine("LT_INT"); break;
case Bytecode.OpCodes.GT_INT: Console.WriteLine("GT_INT"); break;
case Bytecode.OpCodes.LE_INT: Console.WriteLine("LE_INT"); break;
case Bytecode.OpCodes.GE_INT: Console.WriteLine("GE_INT"); break;
case Bytecode.OpCodes.EQ_INT: Console.WriteLine("EQ_INT"); break;
case Bytecode.OpCodes.NEQ_INT: Console.WriteLine("NEQ_INT"); break;
case Bytecode.OpCodes.LT_DINT: Console.WriteLine("LT_DINT"); break;
case Bytecode.OpCodes.GT_DINT: Console.WriteLine("GT_DINT"); break;
case Bytecode.OpCodes.LE_DINT: Console.WriteLine("LE_DINT"); break;
case Bytecode.OpCodes.GE_DINT: Console.WriteLine("GE_DINT"); break;
case Bytecode.OpCodes.EQ_DINT: Console.WriteLine("EQ_DINT"); break;
case Bytecode.OpCodes.NEQ_DINT: Console.WriteLine("NEQ_DINT"); break;
case Bytecode.OpCodes.LT_LINT: Console.WriteLine("LT_LINT"); break;
case Bytecode.OpCodes.GT_LINT: Console.WriteLine("GT_LINT"); break;
case Bytecode.OpCodes.LE_LINT: Console.WriteLine("LE_LINT"); break;
case Bytecode.OpCodes.GE_LINT: Console.WriteLine("GE_LINT"); break;
case Bytecode.OpCodes.EQ_LINT: Console.WriteLine("EQ_LINT"); break;
case Bytecode.OpCodes.NEQ_LINT: Console.WriteLine("NEQ_LINT"); break;
// Unsigned integer comparisons
case Bytecode.OpCodes.LT_USINT: Console.WriteLine("LT_USINT"); break;
case Bytecode.OpCodes.GT_USINT: Console.WriteLine("GT_USINT"); break;
case Bytecode.OpCodes.LE_USINT: Console.WriteLine("LE_USINT"); break;
case Bytecode.OpCodes.GE_USINT: Console.WriteLine("GE_USINT"); break;
case Bytecode.OpCodes.EQ_USINT: Console.WriteLine("EQ_USINT"); break;
case Bytecode.OpCodes.NEQ_USINT: Console.WriteLine("NEQ_USINT"); break;
case Bytecode.OpCodes.LT_UINT: Console.WriteLine("LT_UINT"); break;
case Bytecode.OpCodes.GT_UINT: Console.WriteLine("GT_UINT"); break;
case Bytecode.OpCodes.LE_UINT: Console.WriteLine("LE_UINT"); break;
case Bytecode.OpCodes.GE_UINT: Console.WriteLine("GE_UINT"); break;
case Bytecode.OpCodes.EQ_UINT: Console.WriteLine("EQ_UINT"); break;
case Bytecode.OpCodes.NEQ_UINT: Console.WriteLine("NEQ_UINT"); break;
case Bytecode.OpCodes.LT_UDINT: Console.WriteLine("LT_UDINT"); break;
case Bytecode.OpCodes.GT_UDINT: Console.WriteLine("GT_UDINT"); break;
case Bytecode.OpCodes.LE_UDINT: Console.WriteLine("LE_UDINT"); break;
case Bytecode.OpCodes.GE_UDINT: Console.WriteLine("GE_UDINT"); break;
case Bytecode.OpCodes.EQ_UDINT: Console.WriteLine("EQ_UDINT"); break;
case Bytecode.OpCodes.NEQ_UDINT: Console.WriteLine("NEQ_UDINT"); break;
case Bytecode.OpCodes.LT_ULINT: Console.WriteLine("LT_ULINT"); break;
case Bytecode.OpCodes.GT_ULINT: Console.WriteLine("GT_ULINT"); break;
case Bytecode.OpCodes.LE_ULINT: Console.WriteLine("LE_ULINT"); break;
case Bytecode.OpCodes.GE_ULINT: Console.WriteLine("GE_ULINT"); break;
case Bytecode.OpCodes.EQ_ULINT: Console.WriteLine("EQ_ULINT"); break;
case Bytecode.OpCodes.NEQ_ULINT: Console.WriteLine("NEQ_ULINT"); break;
// Floating point comparisons
case Bytecode.OpCodes.LT_REAL: Console.WriteLine("LT_REAL"); break;
case Bytecode.OpCodes.GT_REAL: Console.WriteLine("GT_REAL"); break;
case Bytecode.OpCodes.LE_REAL: Console.WriteLine("LE_REAL"); break;
case Bytecode.OpCodes.GE_REAL: Console.WriteLine("GE_REAL"); break;
case Bytecode.OpCodes.EQ_REAL: Console.WriteLine("EQ_REAL"); break;
case Bytecode.OpCodes.NEQ_REAL: Console.WriteLine("NEQ_REAL"); break;
case Bytecode.OpCodes.LT_LREAL: Console.WriteLine("LT_LREAL"); break;
case Bytecode.OpCodes.GT_LREAL: Console.WriteLine("GT_LREAL"); break;
case Bytecode.OpCodes.LE_LREAL: Console.WriteLine("LE_LREAL"); break;
case Bytecode.OpCodes.GE_LREAL: Console.WriteLine("GE_LREAL"); break;
case Bytecode.OpCodes.EQ_LREAL: Console.WriteLine("EQ_LREAL"); break;
case Bytecode.OpCodes.NEQ_LREAL: Console.WriteLine("NEQ_LREAL"); break;
default: Console.WriteLine($"{Bytecode.OpName(op)}"); break;
}
}

View File

@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("STCompiler.Disassembler")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+74f256efb2d90ae0bc878111d497ee146327bb51")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+5a002806a9ee3a7389c5a14069c534271a20a9ac")]
[assembly: System.Reflection.AssemblyProductAttribute("STCompiler.Disassembler")]
[assembly: System.Reflection.AssemblyTitleAttribute("STCompiler.Disassembler")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
3d4adf0bd5b0dc0665a784bf64e53bbaf5e4ba59d3c539d15229580b865800e1
127117f0342214ac98d3bad7b812bb24f45bbb46074eff037772675e34d8b027