// File: /workspace/github_cpp_makefile_star2_O1/rockytriton[P]dreamsys_emu_gb/src/op_handler.cpp
// Function: dsemu::cpu::initParamTypeMap()
void initParamTypeMap() {
    paramTypeMap[A] = std::make_pair(&regAF, RPTHi);
    paramTypeMap[B] = std::make_pair(&regBC, RPTHi);
    paramTypeMap[C] = std::make_pair(&regBC, RPTLo);
    paramTypeMap[D] = std::make_pair(&regDE, RPTHi);
    paramTypeMap[E] = std::make_pair(&regDE, RPTLo);
    paramTypeMap[H] = std::make_pair(&regHL, RPTHi);
    paramTypeMap[L] = std::make_pair(&regHL, RPTLo);
    paramTypeMap[BC] = std::make_pair(&regBC, RPT16);
    paramTypeMap[SP] = std::make_pair(&regSP, RPT16);
    paramTypeMap[HL] = std::make_pair(&regHL, RPT16);
    paramTypeMap[DE] = std::make_pair(&regDE, RPT16);
    paramTypeMap[AF] = std::make_pair(&regAF, RPT16);

    jumpCycleMap[0x20] = 4;
    jumpCycleMap[0x30] = 4;
    jumpCycleMap[0x28] = 4;
    jumpCycleMap[0x38] = 4;
    jumpCycleMap[0xC0] = 12;
    jumpCycleMap[0xD0] = 12;
    jumpCycleMap[0xC2] = 4;
    jumpCycleMap[0xD2] = 4;
    jumpCycleMap[0xC4] = 12;
    jumpCycleMap[0xD4] = 12;
    jumpCycleMap[0xC8] = 12;
    jumpCycleMap[0xD8] = 12;
    jumpCycleMap[0xCA] = 4;
    jumpCycleMap[0xDA] = 4;
    jumpCycleMap[0xCC] = 12;
    jumpCycleMap[0xDC] = 12;

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
xorl %ebp, %ebp
leaq 0x4(%rsp), %r14
movl %ebp, (%r14)
leaq 0x29f29(%rip), %rbx     # 0x385e8
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10bb8
leaq 0x9e1f(%rip), %rcx      # 0x184f0
movq %rcx, (%rax)
movl $0x1, %r15d
movl %r15d, 0x8(%rax)
movl %r15d, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10bb8
leaq 0x9dfa(%rip), %rcx      # 0x184f2
movq %rcx, (%rax)
movq %rcx, %r13
movl %r15d, 0x8(%rax)
movl $0x2, %r12d
movl %r12d, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10bb8
movq %r13, (%rax)
movl %r12d, 0x8(%rax)
movl $0x3, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10bb8
leaq 0x9db4(%rip), %rcx      # 0x184f4
movq %rcx, (%rax)
movq %rcx, %r13
movl %r15d, 0x8(%rax)
movl $0x4, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10bb8
movq %r13, (%rax)
movl %r12d, 0x8(%rax)
movl $0x5, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10bb8
leaq 0x9d70(%rip), %r13      # 0x184f6
movq %r13, (%rax)
movl %r15d, 0x8(%rax)
movl $0x6, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10bb8
movq %r13, (%rax)
movl %r12d, 0x8(%rax)
movl $0x7, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10bb8
leaq 0x9d29(%rip), %rcx      # 0x184f2
movq %rcx, (%rax)
movl %ebp, 0x8(%rax)
movl $0xa, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10bb8
leaq 0x9d0f(%rip), %rcx      # 0x184fc
movq %rcx, (%rax)
movl %ebp, 0x8(%rax)
movl $0x9, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10bb8
movq %r13, (%rax)
movl %ebp, 0x8(%rax)
movl $0x8, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10bb8
leaq 0x9cc6(%rip), %rcx      # 0x184f4
movq %rcx, (%rax)
movl %ebp, 0x8(%rax)
movl $0xe, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10bb8
leaq 0x9c9e(%rip), %rcx      # 0x184f0
movq %rcx, (%rax)
movl %ebp, 0x8(%rax)
movb $0x20, (%r14)
leaq 0x29dbd(%rip), %rbx     # 0x38620
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10c1c
movb $0x4, %bpl
movb %bpl, (%rax)
movb $0x30, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10c1c
movb %bpl, (%rax)
movb $0x28, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10c1c
movb %bpl, (%rax)
movb $0x38, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10c1c
movb %bpl, (%rax)
movb $-0x40, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10c1c
movb $0xc, %r15b
movb %r15b, (%rax)
movb $-0x30, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10c1c
movb %r15b, (%rax)
movb $-0x3e, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10c1c
movb %bpl, (%rax)
movb $-0x2e, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10c1c
movb %bpl, (%rax)
movb $-0x3c, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10c1c
movb %r15b, (%rax)
movb $-0x2c, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10c1c
movb %r15b, (%rax)
movb $-0x38, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10c1c
movb %r15b, (%rax)
movb $-0x28, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10c1c
movb %r15b, (%rax)
movb $-0x36, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10c1c
movb %bpl, (%rax)
movb $-0x26, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10c1c
movb %bpl, (%rax)
movb $-0x34, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x10c1c
movb %r15b, (%rax)
movb $-0x24, (%r14)
leaq 0x4(%rsp), %rsi
movq %rbx, %rdi
callq 0x10c1c
movb %r15b, (%rax)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq