// File: /workspace/github_c_makefile_star2_O0/juliuswwj[P]emch55x/disasm.c
// Function: mem_memonic
void mem_memonic(int aValue, char *aBuffer)
{
    int done = 0;

    if (aValue > 0x7f)
    {
        switch (aValue - 0x80)
        {
        case REG_ACC:
            strcpy(aBuffer, "ACC"); 
            done = 1;
            break;
        case REG_B:
            strcpy(aBuffer, "B");
            done = 1;
            break;
        case REG_PSW:
            strcpy(aBuffer, "PSW");
            done = 1;
            break;
        case REG_SP:
            strcpy(aBuffer, "SP");
            done = 1;
            break;
        case REG_DPL:
            strcpy(aBuffer, "DPL");
            done = 1;
            break;
        case REG_DPH:
            strcpy(aBuffer, "DPH");
            done = 1;
            break;
        case REG_P0:
            strcpy(aBuffer, "P0");
            done = 1;
            break;
        case REG_P1:
            strcpy(aBuffer, "P1");
            done = 1;
            break;
        case REG_P2:
            strcpy(aBuffer, "P2");
            done = 1;
            break;
        case REG_P3:
            strcpy(aBuffer, "P3");
            done = 1;
            break;
        case REG_IP:
            strcpy(aBuffer, "IP");
            done = 1;
            break;
        case REG_IE:
            strcpy(aBuffer, "IE");
            done = 1;
            break;
        case REG_TMOD:
            strcpy(aBuffer, "TMOD");
            done = 1;
            break;
        case REG_TCON:
            strcpy(aBuffer, "TCON");
            done = 1;
            break;
        case REG_TH0:
            strcpy(aBuffer, "TH0");
            done = 1;
            break;
        case REG_TL0:
            strcpy(aBuffer, "TL0");
            done = 1;
            break;
        case REG_TH1:
            strcpy(aBuffer, "TH1");
            done = 1;
            break;
        case REG_TL1:
            strcpy(aBuffer, "TL1");
            done = 1;
            break;
        case REG_SCON:
            strcpy(aBuffer, "SCON");
            done = 1;
            break;
        case REG_PCON:
            strcpy(aBuffer, "PCON");
            done = 1;
            break;
        }
    }
    if (!done)
    {
        sprintf(aBuffer, "%02Xh", aValue);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
cmpl $0x7f, -0x4(%rbp)
jle 0x7627
movl -0x4(%rbp), %eax
addl $-0x80, %eax
movl %eax, %ecx
movq %rcx, -0x20(%rbp)
subl $0x70, %eax
ja 0x7625
movq -0x20(%rbp), %rax
leaq 0xbd0c(%rip), %rcx      # 0x1310c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rdi
leaq 0xadf4(%rip), %rsi      # 0x12208
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7625
movq -0x10(%rbp), %rdi
leaq 0xc48f(%rip), %rsi      # 0x138bf
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7625
movq -0x10(%rbp), %rdi
leaq 0xaeba(%rip), %rsi      # 0x12306
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7625
movq -0x10(%rbp), %rdi
leaq 0xaf89(%rip), %rsi      # 0x123f1
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7625
movq -0x10(%rbp), %rdi
leaq 0xadca(%rip), %rsi      # 0x1224e
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7625
movq -0x10(%rbp), %rdi
leaq 0xad9d(%rip), %rsi      # 0x1223d
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7625
movq -0x10(%rbp), %rdi
leaq 0xade0(%rip), %rsi      # 0x1229c
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7625
movq -0x10(%rbp), %rdi
leaq 0xadcb(%rip), %rsi      # 0x122a3
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7625
movq -0x10(%rbp), %rdi
leaq 0xadd2(%rip), %rsi      # 0x122c6
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7625
movq -0x10(%rbp), %rdi
leaq 0xadbd(%rip), %rsi      # 0x122cd
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7625
movq -0x10(%rbp), %rdi
leaq 0xad5f(%rip), %rsi      # 0x1228b
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7625
movq -0x10(%rbp), %rdi
leaq 0xad32(%rip), %rsi      # 0x1227a
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7625
movq -0x10(%rbp), %rdi
leaq 0xaf6b(%rip), %rsi      # 0x124cf
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7625
movq -0x10(%rbp), %rdi
leaq 0xaeec(%rip), %rsi      # 0x1246c
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7625
movq -0x10(%rbp), %rdi
leaq 0xaed9(%rip), %rsi      # 0x12475
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7625
movq -0x10(%rbp), %rdi
leaq 0xaf02(%rip), %rsi      # 0x124b7
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7625
movq -0x10(%rbp), %rdi
leaq 0xaeaf(%rip), %rsi      # 0x1247d
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7625
movq -0x10(%rbp), %rdi
leaq 0xaed8(%rip), %rsi      # 0x124bf
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7625
movq -0x10(%rbp), %rdi
leaq 0xadde(%rip), %rsi      # 0x123de
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7625
movq -0x10(%rbp), %rdi
leaq 0xacd7(%rip), %rsi      # 0x122f0
callq 0x4030
movl $0x1, -0x14(%rbp)
jmp 0x7627
cmpl $0x0, -0x14(%rbp)
jne 0x7642
movq -0x10(%rbp), %rdi
movl -0x4(%rbp), %edx
leaq 0xbffa(%rip), %rsi      # 0x13635
movb $0x0, %al
callq 0x4160
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)