📄 bytecodes.h
字号:
/* --------------------------------------------------------------------- */
#if FLOATBYTECODES
SELECT(FLOAD_2) /* Load integer from third local variable */
pushStack(lp[2]);
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if FLOATBYTECODES
SELECT(FLOAD_3) /* Load integer from fourth local variable */
pushStack(lp[3]);
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if FLOATBYTECODES
SELECT(DLOAD_0) /* Load integer from first (zeroeth) local variable */
pushStack(lp[0]);
pushStack(lp[1]);
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if FLOATBYTECODES
SELECT(DLOAD_1) /* Load integer from second local variable */
pushStack(lp[1]);
pushStack(lp[2]);
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if FLOATBYTECODES
SELECT(DLOAD_2) /* Load integer from third local variable */
pushStack(lp[2]);
pushStack(lp[3]);
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if FLOATBYTECODES
SELECT(DLOAD_3) /* Load integer from fourth local variable */
pushStack(lp[3]);
pushStack(lp[4]);
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(ALOAD_0) /* Load integer from first (zeroeth) local variable */
pushStack(lp[0]);
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(ALOAD_1) /* Load integer from second local variable */
pushStack(lp[1]);
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(ALOAD_2) /* Load integer from third local variable */
pushStack(lp[2]);
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(ALOAD_3) /* Load integer from fourth local variable */
pushStack(lp[3]);
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(IALOAD) /* Load integer from array */
long index = popStack();
ARRAY thisArray = topStackAsType(ARRAY);
CHECKARRAY(thisArray, index);
topStack = thisArray->data[index].cell;
ENDCHECKARRAY
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(LALOAD) /* Load long from array */
long index = topStack;
ARRAY thisArray = secondStackAsType(ARRAY);
CHECKARRAY(thisArray, index);
secondStack = thisArray->data[index * 2].cell;
topStack = thisArray->data[index * 2 + 1].cell;
ENDCHECKARRAY
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if FLOATBYTECODES
SELECT(FALOAD) /* Load float from array */
long index = popStack();
ARRAY thisArray = topStackAsType(ARRAY);
CHECKARRAY(thisArray, index);
topStack = thisArray->data[index].cell;
ENDCHECKARRAY
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if FLOATBYTECODES
SELECT(DALOAD) /* Load double from array */
long index = topStack;
ARRAY thisArray = secondStackAsType(ARRAY);
CHECKARRAY(thisArray, index);
secondStack = thisArray->data[index * 2].cell;
topStack = thisArray->data[index * 2 + 1].cell;
ENDCHECKARRAY
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(AALOAD) /* Load address from array */
long index = popStack();
ARRAY thisArray = topStackAsType(ARRAY);
CHECKARRAY(thisArray, index);
topStack = thisArray->data[index].cell;
ENDCHECKARRAY
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(BALOAD) /* Load byte from array */
long index = popStack();
BYTEARRAY thisArray = topStackAsType(BYTEARRAY);
CHECKARRAY(thisArray, index);
topStack = (long)thisArray->bdata[index];
ENDCHECKARRAY
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(CALOAD) /* Load UNICODE character (16 bits) from array */
long index = popStack();
SHORTARRAY thisArray = topStackAsType(SHORTARRAY);
CHECKARRAY(thisArray, index);
topStack = (thisArray->sdata[index]&0xFFFF);
ENDCHECKARRAY
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(SALOAD) /* Load short from array */
long index = popStack();
SHORTARRAY thisArray = topStackAsType(SHORTARRAY);
CHECKARRAY(thisArray, index);
topStack = thisArray->sdata[index];
ENDCHECKARRAY
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(ISTORE) /* Store integer into local variable */
unsigned int index = ip[1];
lp[index] = popStack();
DONE(2)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(LSTORE) /* Store long into local variable */
unsigned int index = ip[1];
lp[index+1] = popStack();
lp[index] = popStack();
DONE(2)
#endif
/* --------------------------------------------------------------------- */
#if FLOATBYTECODES
SELECT(FSTORE) /* Store integer into local variable */
unsigned int index = ip[1];
lp[index] = popStack();
DONE(2)
#endif
/* --------------------------------------------------------------------- */
#if FLOATBYTECODES
SELECT(DSTORE) /* Store double into local variable */
unsigned int index = ip[1];
lp[index+1] = popStack();
lp[index] = popStack();
DONE(2)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(ASTORE) /* Store reference into local variable */
unsigned int index = ip[1];
lp[index] = popStack();
DONE(2)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(ISTORE_0) /* Store integer into first (zeroeth) local variable */
lp[0] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(ISTORE_1) /* Store integer into second local variable */
lp[1] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(ISTORE_2) /* Store integer into third local variable */
lp[2] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(ISTORE_3) /* Store integer into fourth local variable */
lp[3] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(LSTORE_0) /* Store long into first (zeroeth) local variable */
lp[1] = popStack();
lp[0] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(LSTORE_1) /* Store long into second local variable */
lp[2] = popStack();
lp[1] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(LSTORE_2) /* Store long into third local variable */
lp[3] = popStack();
lp[2] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(LSTORE_3) /* Store long into fourth local variable */
lp[4] = popStack();
lp[3] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if FLOATBYTECODES
SELECT(FSTORE_0) /* Store float into first (zeroeth) local variable */
lp[0] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if FLOATBYTECODES
SELECT(FSTORE_1) /* Store float into second local variable */
lp[1] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if FLOATBYTECODES
SELECT(FSTORE_2) /* Store float into third local variable */
lp[2] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if FLOATBYTECODES
SELECT(FSTORE_3) /* Store float into fourth local variable */
lp[3] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if FLOATBYTECODES
SELECT(DSTORE_0) /* Store double into first (zeroeth) local variable */
lp[1] = popStack();
lp[0] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if FLOATBYTECODES
SELECT(DSTORE_1) /* Store double into second local variable */
lp[2] = popStack();
lp[1] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if FLOATBYTECODES
SELECT(DSTORE_2) /* Store double into third local variable */
lp[3] = popStack();
lp[2] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if FLOATBYTECODES
SELECT(DSTORE_3) /* Store double into fourth local variable */
lp[4] = popStack();
lp[3] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(ASTORE_0) /* Store address into first (zeroeth) local variable */
lp[0] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(ASTORE_1) /* Store address into second local variable */
lp[1] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(ASTORE_2) /* Store address into third local variable */
lp[2] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(ASTORE_3) /* Store address into fourth local variable */
lp[3] = popStack();
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(IASTORE) /* Store into integer array */
long value = popStack();
long index = popStack();
ARRAY thisArray = popStackAsType(ARRAY);
CHECKARRAY(thisArray, index);
thisArray->data[index].cell = value;
ENDCHECKARRAY
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if STANDARDBYTECODES
SELECT(LASTORE) /* Store into long array */
cell hiValue = popStack();
cell loValue = popStack();
long index = popStack();
ARRAY thisArray = popStackAsType(ARRAY);
CHECKARRAY(thisArray, index);
thisArray->data[index * 2].cell = loValue;
thisArray->data[index * 2 + 1].cell = hiValue;
ENDCHECKARRAY
DONE(1)
#endif
/* --------------------------------------------------------------------- */
#if FLOATBYTECODES
SELECT(FASTORE) /* Store into float array */
long value = popStack();
long index = popStack();
ARRAY thisArray = popStackAsType(ARRAY);
CHECKARRAY(thisArray, index);
thisArray->data[index].cell = value;
ENDCHECKARRAY
DONE(1)
#endif
/* --------------------------------------------------------------------- */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -