Next: , Previous: , Up: Instruction Set   [Contents][Index] Miscellaneous Instructions

Instruction: halt x24:_

Bring the VM to a halt, returning all the values from the stack. Used in the “boot continuation”, which is used when entering the VM from C.

Instruction: push s24:src

Bump the stack pointer by one word, and fill it with the value from slot src. The offset to src is calculated before the stack pointer is adjusted.

The push instruction is used when another instruction is unable to address an operand because the operand is encoded with fewer than 24 bits. In that case, Guile’s assembler will transparently emit code that temporarily pushes any needed operands onto the stack, emits the original instruction to address those now-near variables, then shuffles the result (if any) back into place.

Instruction: pop s24:dst

Pop the stack pointer, storing the value that was there in slot dst. The offset to dst is calculated after the stack pointer is adjusted.

Instruction: drop c24:count

Pop the stack pointer by count words, discarding any values that were stored there.

Instruction: handle-interrupts x24:_

Handle pending asynchronous interrupts (asyncs). See Asyncs. The compiler inserts handle-interrupts instructions before any call, return, or loop back-edge.

Instruction: return-from-interrupt x24:_

A special instruction to return from a call and also pop off the stack frame from the call. Used when returning from asynchronous interrupts.