   eval: -> @
 
   toString: -> @str
+
+class Move
+
+  constructor: (@dest, @src) ->
+
+  toString: -> "#{@dest} = #{@src}"
 
 cmpMap =
   eq: '=='

          "#{cmpMap[cmpCode]} 0"
    b.next.push @offset + idx
    v = b.pop()
    b.compile_epilogue()
    b.add_line "if (#{v} #{cond}) { label = #{@offset + idx}; continue }"
  BinaryBranchOpcode: (b, idx) ->
    cmpCode = @name[7..]
    b.next.push @offset + idx
    v2 = b.pop()
    v1 = b.pop()
    b.compile_epilogue()
    b.add_line "if (#{v1} #{cmpMap[cmpCode]} #{v2}) { label = #{@offset + idx}; continue }"
  InvokeOpcode: (b, idx) ->
    method = new Method # kludge
    method.access_flags = { static: @name == 'invokestatic' }

    @stack = []
    @locals = []
    @next = []
    @stmts = []
    @visited = false

  push: (values...) -> @stack.push.apply @stack, values
