// File: /workspace/github_cpp_makefile_star2_O3/s0sasaki[P]ExecutableBlockchain/vm.cpp
// Function: VM::VM()
VM::VM(){
    func_table[OP_RET  ] = &VM::funcOpRet   ;
    func_table[OP_CALL ] = &VM::funcOpCall  ;
    func_table[OP_JMP  ] = &VM::funcOpJmp   ;
    func_table[OP_JZ   ] = &VM::funcOpJz    ;
    func_table[OP_EQ   ] = &VM::funcOpEq    ;
    func_table[OP_GE   ] = &VM::funcOpGe    ;
    func_table[OP_LE   ] = &VM::funcOpLe    ;
    func_table[OP_GNE  ] = &VM::funcOpGne   ;
    func_table[OP_LNE  ] = &VM::funcOpLne   ;
    func_table[OP_PUSH ] = &VM::funcOpPush  ;
    func_table[OP_DROP ] = &VM::funcOpDrop  ;
    func_table[OP_POP  ] = &VM::funcOpPop   ;
    func_table[OP_DUP  ] = &VM::funcOpDup   ;
    func_table[OP_OVER ] = &VM::funcOpOver  ;
    func_table[OP_SWAP ] = &VM::funcOpSwap  ;
    func_table[OP_ADD  ] = &VM::funcOpAdd   ;
    func_table[OP_SUB  ] = &VM::funcOpSub   ;
    func_table[OP_MUL  ] = &VM::funcOpMul   ;
    func_table[OP_DIV  ] = &VM::funcOpDiv   ;
    func_table[OP_DOT  ] = &VM::funcOpDot   ;
    func_table[OP_HALT ] = &VM::funcOpHalt  ;
    func_table[OP_NOP  ] = &VM::funcOpNop   ;
    func_table[OP_LOAD ] = &VM::funcOpLoad  ;
    func_table[OP_STORE] = &VM::funcOpStore ;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
leaq 0x1f5(%rip), %rax       # 0x59bc
movq %rax, 0x5020(%rdi)
xorl %eax, %eax
movq %rax, 0x5028(%rdi)
leaq 0x25c(%rip), %rcx       # 0x5a3a
movq %rcx, 0x5030(%rdi)
movq %rax, 0x5038(%rdi)
leaq 0x2df(%rip), %rcx       # 0x5ad2
movq %rcx, 0x5040(%rdi)
movq %rax, 0x5048(%rdi)
leaq 0x2de(%rip), %rcx       # 0x5ae6
movq %rcx, 0x5050(%rdi)
movq %rax, 0x5058(%rdi)
leaq 0x2f5(%rip), %rcx       # 0x5b12
movq %rcx, 0x5060(%rdi)
movq %rax, 0x5068(%rdi)
leaq 0x308(%rip), %rcx       # 0x5b3a
movq %rcx, 0x5070(%rdi)
movq %rax, 0x5078(%rdi)
leaq 0x31b(%rip), %rcx       # 0x5b62
movq %rcx, 0x5080(%rdi)
movq %rax, 0x5088(%rdi)
leaq 0x32e(%rip), %rcx       # 0x5b8a
movq %rcx, 0x5090(%rdi)
movq %rax, 0x5098(%rdi)
leaq 0x341(%rip), %rcx       # 0x5bb2
movq %rcx, 0x50a0(%rdi)
movq %rax, 0x50a8(%rdi)
leaq 0x354(%rip), %rcx       # 0x5bda
movq %rcx, 0x50b0(%rdi)
movq %rax, 0x50b8(%rdi)
leaq 0x369(%rip), %rcx       # 0x5c04
movq %rcx, 0x5100(%rdi)
movq %rax, 0x5108(%rdi)
leaq 0x35e(%rip), %rcx       # 0x5c0e
movq %rcx, 0x50c0(%rdi)
movq %rax, 0x50c8(%rdi)
leaq 0x353(%rip), %rcx       # 0x5c18
movq %rcx, 0x50d0(%rdi)
movq %rax, 0x50d8(%rdi)
leaq 0x35a(%rip), %rcx       # 0x5c34
movq %rcx, 0x50e0(%rdi)
movq %rax, 0x50e8(%rdi)
leaq 0x361(%rip), %rcx       # 0x5c50
movq %rcx, 0x50f0(%rdi)
movq %rax, 0x50f8(%rdi)
leaq 0x376(%rip), %rcx       # 0x5c7a
movq %rcx, 0x5110(%rdi)
movq %rax, 0x5118(%rdi)
leaq 0x37d(%rip), %rcx       # 0x5c96
movq %rcx, 0x5120(%rdi)
movq %rax, 0x5128(%rdi)
leaq 0x384(%rip), %rcx       # 0x5cb2
movq %rcx, 0x5130(%rdi)
movq %rax, 0x5138(%rdi)
leaq 0x393(%rip), %rcx       # 0x5cd6
movq %rcx, 0x5140(%rdi)
movq %rax, 0x5148(%rdi)
leaq 0x3a2(%rip), %rcx       # 0x5cfa
movq %rcx, 0x5150(%rdi)
movq %rax, 0x5158(%rdi)
leaq 0x3db(%rip), %rcx       # 0x5d48
movq %rcx, 0x5160(%rdi)
movq %rax, 0x5168(%rdi)
leaq 0x3d0(%rip), %rcx       # 0x5d52
movq %rcx, 0x5170(%rdi)
movq %rax, 0x5178(%rdi)
leaq 0x3c1(%rip), %rcx       # 0x5d58
movq %rcx, 0x5180(%rdi)
movq %rax, 0x5188(%rdi)
leaq 0x3cc(%rip), %rcx       # 0x5d78
movq %rcx, 0x5190(%rdi)
movq %rax, 0x5198(%rdi)
popq %rbp
retq