| 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. |