opcode.h

来自「C人工智能游戏开发的一些实例源代码 C Game development in 」· C头文件 代码 · 共 45 行

H
45
字号
#ifndef __Opcodes_H__
#define __Opcodes_H__


// This enumeration defines the set of opcodes that the interpreter
// understands.  The code generator needs to use this enumeration to generate
// the proper bytecode stream, and the interpreter uses this enumeration to
// actually evaluate the instructions.
enum Opcode {
  // Define the four basic math opcodes.
  Add_Opcode,
  Subtract_Opcode,
  Multiply_Opcode,
  Divide_Opcode,

  // Push & pop add and remove a value from the interpreter's stack.
  Push_Opcode,
  Pop_Opcode,

  // The dupe opcode takes the stack element and pushes a copy of it onto the
  // stack.
  Dupe_Opcode,

  // These two opcodes loads and stores a variable off of the stack.  The
  // opcode's argument is the offset (in stack words) from the first element
  // in the stack where the variable exists.
  Load_Opcode,
  Store_Opcode,

  // Increments the instruction pointer by the opcode's argument (i.e., a
  // relative jump).
  Jump_Opcode,

  // Pops the stack element off and increments the instruction pointer by
  // the opcode's argument if the stack element is zero (i.e., performs a
  // relative jump on zero).
  IfZero_Opcode,

  // This simply defines the maximum number of opcodes used.
  Num_Opcode
};


#endif // __Opcodes_H__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?