anchor.diff:    ///   * `null` if the implementation takes no argument
     ///   * `int` if the value can be directly resolved
     ///   * An [AstNode] if the value can't be determined at the time when this
  -  ///     object is created. This happens when a control flow statement jumps
  +  ///     object is created. This happens when a control flow instruction jumps
     ///     "forward", targeting an instruction with a higher address that itself.
     var immediateValue;
   
  
positive.code: import '../scanner.dart' show Token;
  
  class VM {
    /// Combined stack and heap in a continous block of memory.
    ///
    /// The stack memory begins at `memory.size - 1` and grows towards zero, while
    /// the heap begins at zero and grows towards infinity.
    MemoryBlock memory;
  
    /// Points to the lowest currently used address of the stack (in [memory]).
    int stackPointer;
  
    ///
  
negative.code: /// Sets the program counter to the immediate value.
  class JumpInstruction extends InstructionTemplate {
    String get name => 'jump';
  
    const JumpInstruction();
  
    void execute(VM vm, int address) {
      vm.programCounter = address;
  