// File: /workspace/github_cpp_makefile_star2_O1/s0sasaki[P]ExecutableBlockchain/vm.cpp
// Function: VM::displayState() const
void VM::displayState() const {
    std::cout << std::endl;
    std::cout << "ib="   << std::setw(4) << std::right << ib      << ", " ;
    std::cout << "ip="   << std::setw(4) << std::right << ip      << ", " ;
    std::cout << "rsp="  << std::setw(4) << std::right << rsp     << ", " ;
    std::cout << "psp="  << std::setw(4) << std::right << psp     << ", " ;
    std::cout << "fnum=" << std::setw(4) << std::right << mem[ip] << ", " ;
    displayOp(mem[ip]);
    for(int32_t i = 0; i <= psp; i++) {
        std::cout << data_stack[i] << " ";
    }
    std::cout << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %r14
movq 0x4016(%rip), %rbx      # 0x9fd8
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2140
leaq 0x13f6(%rip), %rsi      # 0x73e6
movl $0x3, %edx
movq %rbx, %rdi
callq 0x2240
movq (%rbx), %rax
movq -0x18(%rax), %rcx
movl $0x4, %edx
movq %rdx, 0x10(%rbx,%rcx)
movq -0x18(%rax), %rax
movl $0xffffff4f, %r12d      # imm = 0xFFFFFF4F
movl 0x18(%rbx,%rax), %ecx
andl %r12d, %ecx
movl $0x80, %r13d
orl %r13d, %ecx
movl %ecx, 0x18(%rbx,%rax)
movl (%r14), %esi
movq %rbx, %rdi
callq 0x22d0
leaq 0x13ac(%rip), %r15      # 0x73ea
movl $0x2, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2240
leaq 0x1398(%rip), %rsi      # 0x73ed
movl $0x3, %edx
movq %rbx, %rdi
callq 0x2240
movq (%rbx), %rax
movq -0x18(%rax), %rcx
movl $0x4, %edx
movq %rdx, 0x10(%rbx,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl %r12d, %ecx
orl %r13d, %ecx
movl %ecx, 0x18(%rbx,%rax)
movl 0x4(%r14), %esi
movq %rbx, %rdi
callq 0x22d0
movl $0x2, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2240
leaq 0x1349(%rip), %rsi      # 0x73f1
movl $0x4, %edx
movq %rbx, %rdi
callq 0x2240
movq (%rbx), %rax
movq -0x18(%rax), %rcx
movl $0x4, %edx
movq %rdx, 0x10(%rbx,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl %r12d, %ecx
orl %r13d, %ecx
movl %ecx, 0x18(%rbx,%rax)
movl 0x8(%r14), %esi
movq %rbx, %rdi
callq 0x22d0
movl $0x2, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2240
leaq 0x12fb(%rip), %rsi      # 0x73f6
movl $0x4, %edx
movq %rbx, %rdi
callq 0x2240
movq (%rbx), %rax
movq -0x18(%rax), %rcx
movl $0x4, %edx
movq %rdx, 0x10(%rbx,%rcx)
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl %r12d, %ecx
orl %r13d, %ecx
movl %ecx, 0x18(%rbx,%rax)
movl 0xc(%r14), %esi
movq %rbx, %rdi
callq 0x22d0
movl $0x2, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2240
leaq 0x12ad(%rip), %rsi      # 0x73fb
movl $0x5, %edx
movq %rbx, %rdi
callq 0x2240
movq (%rbx), %rax
movq -0x18(%rax), %rcx
movl $0x4, %edx
movq %rdx, 0x10(%rbx,%rcx)
movq -0x18(%rax), %rax
andl 0x18(%rbx,%rax), %r12d
orl %r13d, %r12d
movl %r12d, 0x18(%rbx,%rax)
movslq 0x4(%r14), %rax
movl 0x1020(%r14,%rax,4), %esi
movq %rbx, %rdi
callq 0x22d0
movl $0x2, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x2240
movslq 0x4(%r14), %rax
leaq (%r14,%rax,4), %rsi
addq $0x1020, %rsi           # imm = 0x1020
callq 0x5f44
cmpl $0x0, 0xc(%r14)
js 0x61fd
movq $-0x1, %r13
movq 0x3e0e(%rip), %r15      # 0x9fd8
leaq 0x1168(%rip), %r12      # 0x7339
movl 0x4024(%r14,%r13,4), %esi
movq %r15, %rdi
callq 0x22d0
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x2240
movslq 0xc(%r14), %rax
incq %r13
cmpq %rax, %r13
jl 0x61d1
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x21f0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2140