nsbaci 1.0
Loading...
Searching...
No Matches
instruction.h File Reference

Instruction definitions for nsbaci compiler. More...

Include dependency graph for instruction.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  nsbaci::compiler::Instruction
 Represents a single instruction in the virtual machine. More...

Namespaces

namespace  nsbaci::compiler
 Compiler namespace containing all compilation-related stuff.
namespace  nsbaci
 Root namespace for the nsbaci application.

Typedefs

using nsbaci::compiler::Operand
 Operand types that an instruction can have.
using nsbaci::compiler::InstructionStream = std::vector<Instruction>
 Vector of instructions representing a compiled program.

Enumerations

enum class  nsbaci::compiler::Opcode : uint8_t {
  LoadValue , LoadAddress , LoadIndirect , StoreIndirect ,
  LoadBlock , Store , StoreKeep , PushLiteral ,
  Swap , RotateDown3 , Index , CopyBlock ,
  ValueAt , MarkStack , UpdateDisplay , Add ,
  Sub , Mult , Div , Mod ,
  Negate , Complement , And , Or ,
  TestEQ , TestNE , TestLT , TestLE ,
  TestGT , TestGE , TestEqualKeep , Jump ,
  JumpZero , Call , ShortCall , ShortReturn ,
  ExitProc , ExitFunction , EnterFrame , LeaveFrame ,
  Halt , BeginFor , EndFor , Cobegin ,
  Coend , Create , ThreadEnd , Suspend ,
  Revive , WhichProc , Wait , Signal ,
  StoreSemaphore , EnterMonitor , ExitMonitor , CallMonitorInit ,
  ReturnMonitorInit , WaitCondition , SignalCondition , Empty ,
  Read , Readln , Write , Writeln ,
  WriteString , WriteRawString , EolEof , Sprintf ,
  Sscanf , CopyString , CopyRawString , ConcatString ,
  ConcatRawString , CompareString , CompareRawString , LengthString ,
  DrawClear , DrawRefresh , DrawSetColor , DrawSetColorAlpha ,
  DrawSetLineWidth , DrawSetPosition , DrawCircle , DrawRectangle ,
  DrawTriangle , DrawLine , DrawEllipse , DrawPixel ,
  DrawText , FillCircle , FillRectangle , FillTriangle ,
  FillEllipse , MoveTo , MoveBy , ChangeColor ,
  MakeVisible , Remove , Random , Test ,
  _Count
}
 Opcodes for the BACI virtual machine instruction set.

Functions

const char * nsbaci::compiler::opcodeName (Opcode op)
 Get the string name of an opcode (for debugging/display).

Detailed Description

Instruction definitions for nsbaci compiler.

This module defines the instruction set for the BACI virtual machine, including opcodes and instruction representation.

Author
Nicolás Serrano García