// File: /workspace/github_cpp_makefile_star2_O2/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
leaq 0x4(%rsp), %r14
andl $0x0, (%r14)
leaq 0x2a23a(%rip), %rbx     # 0x365c8
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1aa
leaq 0xa130(%rip), %rcx      # 0x164d0
movq %rcx, (%rax)
pushq $0x1
popq %rbp
movl %ebp, 0x8(%rax)
movl %ebp, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1aa
leaq 0xa10f(%rip), %r13      # 0x164d2
movq %r13, (%rax)
movl %ebp, 0x8(%rax)
pushq $0x2
popq %r15
movl %r15d, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1aa
movq %r13, (%rax)
movl %r15d, 0x8(%rax)
movl $0x3, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1aa
leaq 0xa0cf(%rip), %rcx      # 0x164d4
movq %rcx, (%rax)
movq %rcx, %r12
movl %ebp, 0x8(%rax)
movl $0x4, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1aa
movq %r12, (%rax)
movl %r15d, 0x8(%rax)
movl $0x5, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1aa
leaq 0xa08c(%rip), %r12      # 0x164d6
movq %r12, (%rax)
movl %ebp, 0x8(%rax)
movl $0x6, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1aa
movq %r12, (%rax)
movl %r15d, 0x8(%rax)
movl $0x7, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1aa
movq %r13, (%rax)
andl $0x0, 0x8(%rax)
movl $0xa, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1aa
leaq 0xa032(%rip), %rcx      # 0x164dc
movq %rcx, (%rax)
andl $0x0, 0x8(%rax)
movl $0x9, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1aa
movq %r12, (%rax)
andl $0x0, 0x8(%rax)
movl $0x8, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1aa
leaq 0x9fe7(%rip), %rcx      # 0x164d4
movq %rcx, (%rax)
andl $0x0, 0x8(%rax)
movl $0xe, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1aa
leaq 0x9fbe(%rip), %rcx      # 0x164d0
movq %rcx, (%rax)
andl $0x0, 0x8(%rax)
movb $0x20, (%r14)
leaq 0x2a0dc(%rip), %rbx     # 0x36600
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1f8
movb $0x4, %bpl
movb %bpl, (%rax)
movb $0x30, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1f8
movb %bpl, (%rax)
movb $0x28, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1f8
movb %bpl, (%rax)
movb $0x38, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1f8
movb %bpl, (%rax)
movb $-0x40, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1f8
movb $0xc, %r15b
movb %r15b, (%rax)
movb $-0x30, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1f8
movb %r15b, (%rax)
movb $-0x3e, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1f8
movb %bpl, (%rax)
movb $-0x2e, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1f8
movb %bpl, (%rax)
movb $-0x3c, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1f8
movb %r15b, (%rax)
movb $-0x2c, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1f8
movb %r15b, (%rax)
movb $-0x38, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1f8
movb %r15b, (%rax)
movb $-0x28, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1f8
movb %r15b, (%rax)
movb $-0x36, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1f8
movb %bpl, (%rax)
movb $-0x26, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1f8
movb %bpl, (%rax)
movb $-0x34, (%r14)
leaq 0x4(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xe1f8
movb %r15b, (%rax)
movb $-0x24, (%r14)
leaq 0x4(%rsp), %rsi
movq %rbx, %rdi
callq 0xe1f8
movb %r15b, (%rax)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq