next up previous contents
Next: The Compiler ACOMP Up: The virtual Machine AVIM Previous: Structure of the AVIM-SECD   Contents

Instructions of the Virtual Machine:

LDCT: Load a constant into the S-Register.
LDVR: Load a variable into the S-Register.
LDVRI: Load a variable indirectly.
LDFN: Load the definition of a funktion into the S-Register.
LOAD: Load instructions from a file into the C-Register.
NIL: Mark the beginning of an argument list or of a list of variable declarations.
BIND: Build a name-value pair from the two top entries in the S-Register and insert this pair into the symbol table on the stack.
ARG: Definition of an argument for a following function call.
ADDF: Add a new frame to the current environment.
DELF: Delete the youngest symbol table (frame) from the current environment.
DEF: Definition or modification of a variable in the current environment.
STVL: Store the top-entry in the S-Register as a value of a variable into the current environment.
POP: Remove the top-entry from the S-Register.
IF: Open an `alternative structure'.
ENDIF: Close an `alternative structure'. This instruction retrieves the continuation point behind the `IF'-structure from the `IS'-Register.
EOX: This statement marks the `end of an expression'.
CCALL: Calls a function passing the `current continuation' as an argument.
TCALL: Calls a function without saving the return address. (`tail call').
ACALL: Calls a function in analogy to the primitive `apply' in ARS++.
RTN: Return from a `callee' to the `caller'.
HLT: Termination of the program.


next up previous contents
Next: The Compiler ACOMP Up: The virtual Machine AVIM Previous: Structure of the AVIM-SECD   Contents
Georg P. Loczewski 2002-07-20
ORDER NOW!!!