package Ġpet al . common Ċ Ċ // Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ċ // Ġannotation Ċ // Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ċ Ċ /** ĠUsed Ġby Ġthe Ġdis assembler Ġ*/ Ċ internal Ġenum Ġclass ĠParameter Usage Ġ{ ĊĠĠĠ ĠNONE , ĊĠĠĠ ĠA , ĊĠĠĠ ĠAB , ĊĠĠĠ ĠABC , ĊĠĠĠ ĠA BX _ CONSTANT , ĊĠĠĠ ĠA BX _ FUNCTION , ĊĠĠĠ ĠA BX _ UP VALUE , ĊĠĠĠ ĠA BX _ JUMP , ĊĠĠĠ ĠA BX _ CLASS , ĊĠĠĠ ĠAS BX , ĊĠĠĠ ĠAX _ JUMP , ĊĠĠĠ ĠAX _ LOOP Ċ } Ċ Ċ @ Target ( Annotation Target . PROPERTY ) Ċ @ Retention ( Annotation Retention . RUNTIME ) Ċ internal Ġannotation Ġclass ĠOp Code ( val Ġparameter Usage : ĠParameter Usage ) Ċ Ċ // Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ċ // Ġop codes Ċ // Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ġ~ âľ ¨ ~ Ċ Ċ // Ġensure Ġany Ġnew Ġadditions Ġare Ġalso Ġreflected Ġin Ġthe Ġdis assembler Ġand Ġthe Ġprocessor ĠðŁĴ ľ Ċ Ċ // Ġ@ formatter : off Ċ @ OpCode ( Parameter Usage . NONE ) ĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ NOP ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 0 Ċ @ OpCode ( Parameter Usage . NONE ) ĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ HAL T ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 1 Ċ @ OpCode ( Parameter Usage . A ) ĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ PRINT ĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 2 Ċ @ OpCode ( Parameter Usage . A ) ĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ RETURN ĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 3 Ċ @ OpCode ( Parameter Usage . AB ) ĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ CALL ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 4 Ċ @ OpCode ( Parameter Usage . AB ) ĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ IN VOKE ĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 5 Ċ @ OpCode ( Parameter Usage . AB ) ĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ IN VOKE _ FROM _ CLASS Ġ: ĠInt Ġ= Ġ 6 Ċ @ OpCode ( Parameter Usage . AB X _ CONSTANT ) Ġpublic Ġconst Ġval ĠOP _ ARG _ CONSTANT ĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 7 Ċ Ċ @ OpCode ( Parameter Usage . AB X _ FUNCTION ) Ġpublic Ġconst Ġval ĠOP _ CLO S URE ĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 8 Ċ @ OpCode ( Parameter Usage . A ) ĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ CLOSE ĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 9 Ċ Ċ @ OpCode ( Parameter Usage . AB ) ĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ MOVE ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 1 0 Ċ Ċ @ OpCode ( Parameter Usage . A ) ĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ LOAD _ NULL ĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 1 1 Ċ @ OpCode ( Parameter Usage . AB ) ĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ LOAD _ BOOLEAN ĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 1 2 Ċ @ OpCode ( Parameter Usage . AS BX ) ĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ LOAD _ INTEGER ĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 1 3 Ċ @ OpCode ( Parameter Usage . AB X _ CONSTANT ) Ġpublic Ġconst Ġval ĠOP _ LOAD _ CONSTANT ĠĠĠĠ Ġ: ĠInt Ġ= Ġ 1 4 Ċ @ OpCode ( Parameter Usage . AB X _ FUNCTION ) Ġpublic Ġconst Ġval ĠOP _ LOAD _ FUNCTION ĠĠĠĠ Ġ: ĠInt Ġ= Ġ 1 5 Ċ @ OpCode ( Parameter Usage . AB X _ UP VALUE ) Ġ Ġpublic Ġconst Ġval ĠOP _ LOAD _ UP VALUE ĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 1 6 Ċ Ċ @ OpCode ( Parameter Usage . AB X _ UP VALUE ) Ġ Ġpublic Ġconst Ġval ĠOP _ STORE _ UP VALUE ĠĠĠĠ Ġ: ĠInt Ġ= Ġ 1 7 Ċ Ċ @ OpCode ( Parameter Usage . AX _ JUMP ) ĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ JUMP ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 1 8 Ċ @ OpCode ( Parameter Usage . AB X _ JUMP ) ĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ JUMP _ IF _ F AL SY ĠĠĠĠ Ġ: ĠInt Ġ= Ġ 1 9 Ċ @ OpCode ( Parameter Usage . AB X _ JUMP ) ĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ JUMP _ IF _ TR UTH Y ĠĠĠ Ġ: ĠInt Ġ= Ġ 2 0 Ċ @ OpCode ( Parameter Usage . AX _ LOOP ) ĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ LOOP ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 2 1 Ċ Ċ @ OpCode ( Parameter Usage . AB ) ĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ NOT ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 2 2 Ċ @ OpCode ( Parameter Usage . AB ) ĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ NEG ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 2 3 Ċ Ċ @ OpCode ( Parameter Usage . ABC ) ĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ ADD ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 2 4 Ċ @ OpCode ( Parameter Usage . ABC ) ĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ SUB ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 2 5 Ċ @ OpCode ( Parameter Usage . ABC ) ĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ MUL ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 2 6 Ċ @ OpCode ( Parameter Usage . ABC ) ĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ DIV ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 2 7 Ċ Ċ @ OpCode ( Parameter Usage . ABC ) ĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ EQ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 2 8 Ċ @ OpCode ( Parameter Usage . ABC ) ĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ N EQ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 2 9 Ċ Ċ @ OpCode ( Parameter Usage . ABC ) ĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ GT ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 3 0 Ċ @ OpCode ( Parameter Usage . ABC ) ĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ G TE ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 3 1 Ċ @ OpCode ( Parameter Usage . ABC ) ĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ LT ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 3 2 Ċ @ OpCode ( Parameter Usage . ABC ) ĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ LTE ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 3 3 Ċ Ċ @ OpCode ( Parameter Usage . AB X _ CONSTANT ) Ġpublic Ġconst Ġval ĠOP _ CLASS ĠĠĠĠĠĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 3 4 Ċ @ OpCode ( Parameter Usage . ABC ) ĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ STORE _ METHOD ĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 3 5 Ċ Ċ @ OpCode ( Parameter Usage . AB X _ CONSTANT ) Ġpublic Ġconst Ġval ĠOP _ LOAD _ CLASS ĠĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 3 6 Ċ @ OpCode ( Parameter Usage . A ) ĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġconst Ġval ĠOP _ STORE _ CLASS ĠĠĠĠĠĠ Ġ: ĠInt Ġ= Ġ 3 7 Ċ // Ġ@ formatter : on