LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_XXX_Gv_Ew
void ins_enc_XXX_Gv_Ew(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(2);

	ins_enc_XXX_Gv_Ev(
		ins,
		data
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x1ec09
jmp 0x1ec28
leaq 0x2aef6(%rip), %rdi     # 0x49b06
leaq 0x2c409(%rip), %rsi     # 0x4b020
movl $0x96, %edx
leaq 0x2c548(%rip), %rcx     # 0x4b16b
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x1ec31
jmp 0x1ec50
leaq 0x313b7(%rip), %rdi     # 0x4ffef
leaq 0x2c3e1(%rip), %rsi     # 0x4b020
movl $0x96, %edx
leaq 0x2c520(%rip), %rcx     # 0x4b16b
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x1ec5c
jmp 0x1ec7b
leaq 0x2c41a(%rip), %rdi     # 0x4b07d
leaq 0x2c3b6(%rip), %rsi     # 0x4b020
movl $0x96, %edx
leaq 0x2c4f5(%rip), %rcx     # 0x4b16b
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x2, 0x44(%rax)
jne 0x1ec8a
jmp 0x1eca9
leaq 0x2c3fb(%rip), %rdi     # 0x4b08c
leaq 0x2c388(%rip), %rsi     # 0x4b020
movl $0x96, %edx
leaq 0x2c4c7(%rip), %rcx     # 0x4b16b
callq 0xa0b0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x1ea70
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_XXX_AL_Ib
void ins_enc_XXX_AL_Ib(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(2);

	ParserASTNode *ins_node = data->ins_node;

	ParserASTNode *al_node = data->ins_node->childs[0];

	ParserASTNode *ib_node = data->ins_node->childs[1];

	EncoderInstruction enc_ins;
	
	ins_init(data->ctx, ins, ins_node, &enc_ins);

	ins_fill_imm8(data->ctx, ins, ib_node, &enc_ins);

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x1ecdc
jmp 0x1ecfb
leaq 0x2ae23(%rip), %rdi     # 0x49b06
leaq 0x2c336(%rip), %rsi     # 0x4b020
movl $0xa2, %edx
leaq 0x2c4b5(%rip), %rcx     # 0x4b1ab
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x1ed04
jmp 0x1ed23
leaq 0x312e4(%rip), %rdi     # 0x4ffef
leaq 0x2c30e(%rip), %rsi     # 0x4b020
movl $0xa2, %edx
leaq 0x2c48d(%rip), %rcx     # 0x4b1ab
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x1ed2f
jmp 0x1ed4e
leaq 0x2c347(%rip), %rdi     # 0x4b07d
leaq 0x2c2e3(%rip), %rsi     # 0x4b020
movl $0xa2, %edx
leaq 0x2c462(%rip), %rcx     # 0x4b1ab
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x2, 0x44(%rax)
jne 0x1ed5d
jmp 0x1ed7c
leaq 0x2c328(%rip), %rdi     # 0x4b08c
leaq 0x2c2b5(%rip), %rsi     # 0x4b020
movl $0xa2, %edx
leaq 0x2c434(%rip), %rcx     # 0x4b1ab
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x48(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rcx
callq 0x1a9e0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq -0x88(%rbp), %rcx
callq 0x1b800
movq -0x10(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x1e570
addq $0x90, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_opcode
void ins_enc_opcode(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS_WITHOUT_OPRD_COUNT();

	ParserASTNode *ins_node = data->ins_node;

	EncoderInstruction enc_ins;

	ins_init(data->ctx, ins, ins_node, &enc_ins);

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x1f1fc
jmp 0x1f21b
leaq 0x2a903(%rip), %rdi     # 0x49b06
leaq 0x2be16(%rip), %rsi     # 0x4b020
movl $0x121, %edx            # imm = 0x121
leaq 0x2c06a(%rip), %rcx     # 0x4b280
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x1f224
jmp 0x1f243
leaq 0x30dc4(%rip), %rdi     # 0x4ffef
leaq 0x2bdee(%rip), %rsi     # 0x4b020
movl $0x121, %edx            # imm = 0x121
leaq 0x2c042(%rip), %rcx     # 0x4b280
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x1f24f
jmp 0x1f26e
leaq 0x2be27(%rip), %rdi     # 0x4b07d
leaq 0x2bdc3(%rip), %rsi     # 0x4b020
movl $0x121, %edx            # imm = 0x121
leaq 0x2c017(%rip), %rcx     # 0x4b280
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x78(%rbp), %rcx
callq 0x1a9e0
movq -0x10(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x1e570
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_bound_Gv_Ma
void ins_enc_bound_Gv_Ma(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(2);

	ParserASTNode *ins_node = data->ins_node;

	ParserASTNode *target = data->ins_node->childs[0];

	ParserASTNode *source = data->ins_node->childs[1];

	size_t target_size = ins_get_oprd_size(data->ctx, target);
	if (target_size != 2 && target_size != 4) {
		data->ctx->syntax_error_node_msg(data->ctx, target, "operand type not matched.");
	}

	EncoderInstruction enc_ins;
	
	ins_init(data->ctx, ins, ins_node, &enc_ins);

	ins_fill_GX(data->ctx, ins, target, &enc_ins);

	ins_fill_EX(data->ctx, ins, source, &enc_ins);

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x1f7dc
jmp 0x1f7fb
leaq 0x2a323(%rip), %rdi     # 0x49b06
leaq 0x2b836(%rip), %rsi     # 0x4b020
movl $0x1d5, %edx            # imm = 0x1D5
leaq 0x2bb92(%rip), %rcx     # 0x4b388
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x1f804
jmp 0x1f823
leaq 0x307e4(%rip), %rdi     # 0x4ffef
leaq 0x2b80e(%rip), %rsi     # 0x4b020
movl $0x1d5, %edx            # imm = 0x1D5
leaq 0x2bb6a(%rip), %rcx     # 0x4b388
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x1f82f
jmp 0x1f84e
leaq 0x2b847(%rip), %rdi     # 0x4b07d
leaq 0x2b7e3(%rip), %rsi     # 0x4b020
movl $0x1d5, %edx            # imm = 0x1D5
leaq 0x2bb3f(%rip), %rcx     # 0x4b388
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x2, 0x44(%rax)
jne 0x1f85d
jmp 0x1f87c
leaq 0x2b828(%rip), %rdi     # 0x4b08c
leaq 0x2b7b5(%rip), %rsi     # 0x4b020
movl $0x1d5, %edx            # imm = 0x1D5
leaq 0x2bb11(%rip), %rcx     # 0x4b388
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x48(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x20(%rbp), %rsi
callq 0x1c580
movq %rax, -0x30(%rbp)
cmpq $0x2, -0x30(%rbp)
je 0x1f8f0
cmpq $0x4, -0x30(%rbp)
je 0x1f8f0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x58(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x8(%rcx), %rdi
movq -0x20(%rbp), %rsi
leaq 0x2a7e5(%rip), %rdx     # 0x4a0d3
callq *%rax
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x90(%rbp), %rcx
callq 0x1a9e0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq -0x90(%rbp), %rcx
callq 0x1ab40
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq -0x90(%rbp), %rcx
callq 0x1ad40
movq -0x10(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x1e570
addq $0x90, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_arpl_Ew_Gw
void ins_enc_arpl_Ew_Gw(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(2);

	ParserASTNode *ins_node = data->ins_node;

	ParserASTNode *target = data->ins_node->childs[0];

	ParserASTNode *source = data->ins_node->childs[1];

	EncoderInstruction enc_ins;
	
	ins_init(data->ctx, ins, ins_node, &enc_ins);

	ins_fill_EX(data->ctx, ins, target, &enc_ins);

	ins_fill_GX(data->ctx, ins, source, &enc_ins);

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x1f97c
jmp 0x1f99b
leaq 0x2a183(%rip), %rdi     # 0x49b06
leaq 0x2b696(%rip), %rsi     # 0x4b020
movl $0x1f1, %edx            # imm = 0x1F1
leaq 0x2ba34(%rip), %rcx     # 0x4b3ca
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x1f9a4
jmp 0x1f9c3
leaq 0x30644(%rip), %rdi     # 0x4ffef
leaq 0x2b66e(%rip), %rsi     # 0x4b020
movl $0x1f1, %edx            # imm = 0x1F1
leaq 0x2ba0c(%rip), %rcx     # 0x4b3ca
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x1f9cf
jmp 0x1f9ee
leaq 0x2b6a7(%rip), %rdi     # 0x4b07d
leaq 0x2b643(%rip), %rsi     # 0x4b020
movl $0x1f1, %edx            # imm = 0x1F1
leaq 0x2b9e1(%rip), %rcx     # 0x4b3ca
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x2, 0x44(%rax)
jne 0x1f9fd
jmp 0x1fa1c
leaq 0x2b688(%rip), %rdi     # 0x4b08c
leaq 0x2b615(%rip), %rsi     # 0x4b020
movl $0x1f1, %edx            # imm = 0x1F1
leaq 0x2b9b3(%rip), %rcx     # 0x4b3ca
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x48(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rcx
callq 0x1a9e0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq -0x88(%rbp), %rcx
callq 0x1ad40
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq -0x88(%rbp), %rcx
callq 0x1ab40
movq -0x10(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x1e570
addq $0x90, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_pushad_popad
void ins_enc_pushad_popad(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(0);

	ParserASTNode *ins_node = data->ins_node;

	EncoderInstruction enc_ins;

	ins_init(data->ctx, ins, ins_node, &enc_ins);

	int arch = ASM_PARSER_CONTEXT_DATA_GET_ARCH(data->ctx);

	switch (arch) {
		case ASM_ARCH_BIT16: {
			enc_ins.legacy_prefix.operand_size_override = true;
			break;
		}
		case ASM_ARCH_BIT32: {
			break;
		}
		case ASM_ARCH_BIT64: {
			data->ctx->syntax_error_node_msg(
				data->ctx,
				ins_node,
				"instruction not supported in 64-bit mode."
			);
			break;
		}
		default: {
			assert(0);
			break;
		}
	}

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x1fadc
jmp 0x1fafb
leaq 0x2a023(%rip), %rdi     # 0x49b06
leaq 0x2b536(%rip), %rsi     # 0x4b020
movl $0x208, %edx            # imm = 0x208
leaq 0x2b915(%rip), %rcx     # 0x4b40b
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x1fb04
jmp 0x1fb23
leaq 0x304e4(%rip), %rdi     # 0x4ffef
leaq 0x2b50e(%rip), %rsi     # 0x4b020
movl $0x208, %edx            # imm = 0x208
leaq 0x2b8ed(%rip), %rcx     # 0x4b40b
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x1fb2f
jmp 0x1fb4e
leaq 0x2b547(%rip), %rdi     # 0x4b07d
leaq 0x2b4e3(%rip), %rsi     # 0x4b020
movl $0x208, %edx            # imm = 0x208
leaq 0x2b8c2(%rip), %rcx     # 0x4b40b
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x0, 0x44(%rax)
jne 0x1fb5d
jmp 0x1fb7c
leaq 0x2b8ea(%rip), %rdi     # 0x4b44e
leaq 0x2b4b5(%rip), %rsi     # 0x4b020
movl $0x208, %edx            # imm = 0x208
leaq 0x2b894(%rip), %rcx     # 0x4b40b
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x78(%rbp), %rcx
callq 0x1a9e0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movl 0xb0(%rax), %eax
movl %eax, -0x7c(%rbp)
movl -0x7c(%rbp), %eax
movl %eax, -0x80(%rbp)
subl $0x1, %eax
je 0x1fbd2
jmp 0x1fbbe
movl -0x80(%rbp), %eax
subl $0x2, %eax
je 0x1fbd8
jmp 0x1fbc8
movl -0x80(%rbp), %eax
subl $0x4, %eax
je 0x1fbda
jmp 0x1fbfd
movb $0x1, -0x6d(%rbp)
jmp 0x1fc1c
jmp 0x1fc1c
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x58(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x8(%rcx), %rdi
movq -0x18(%rbp), %rsi
leaq 0x2b765(%rip), %rdx     # 0x4b35e
callq *%rax
jmp 0x1fc1c
leaq 0x27861(%rip), %rdi     # 0x47465
leaq 0x2b415(%rip), %rsi     # 0x4b020
movl $0x223, %edx            # imm = 0x223
leaq 0x2b7f4(%rip), %rcx     # 0x4b40b
callq 0xa0b0
movq -0x10(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x1e570
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_opcode_ext_Eb_Ib
void ins_enc_opcode_ext_Eb_Ib(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(2);

	ParserASTNode *ins_node = data->ins_node;

	ParserASTNode *target = data->ins_node->childs[0];

	ParserASTNode *source = data->ins_node->childs[1];

	EncoderInstruction enc_ins;

	ins_init(data->ctx, ins, ins_node, &enc_ins);

	enc_ins.mod_rm_used = true;
	enc_ins.mod_rm.reg = ins->opcode_ext.reg;

	ins_fill_EX(data->ctx, ins, target, &enc_ins);

	ins_fill_imm8(data->ctx, ins, source, &enc_ins);

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x2003c
jmp 0x2005b
leaq 0x29ac3(%rip), %rdi     # 0x49b06
leaq 0x2afd6(%rip), %rsi     # 0x4b020
movl $0x27c, %edx            # imm = 0x27C
leaq 0x2b48d(%rip), %rcx     # 0x4b4e3
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x20064
jmp 0x20083
leaq 0x2ff84(%rip), %rdi     # 0x4ffef
leaq 0x2afae(%rip), %rsi     # 0x4b020
movl $0x27c, %edx            # imm = 0x27C
leaq 0x2b465(%rip), %rcx     # 0x4b4e3
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x2008f
jmp 0x200ae
leaq 0x2afe7(%rip), %rdi     # 0x4b07d
leaq 0x2af83(%rip), %rsi     # 0x4b020
movl $0x27c, %edx            # imm = 0x27C
leaq 0x2b43a(%rip), %rcx     # 0x4b4e3
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x2, 0x44(%rax)
jne 0x200bd
jmp 0x200dc
leaq 0x2afc8(%rip), %rdi     # 0x4b08c
leaq 0x2af55(%rip), %rsi     # 0x4b020
movl $0x27c, %edx            # imm = 0x27C
leaq 0x2b40c(%rip), %rcx     # 0x4b4e3
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x48(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rcx
callq 0x1a9e0
movb $0x1, -0x72(%rbp)
movq -0x8(%rbp), %rax
movb 0x22(%rax), %al
shrb $0x2, %al
andb $0x7, %al
movb %al, -0x70(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq -0x88(%rbp), %rcx
callq 0x1ad40
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq -0x88(%rbp), %rcx
callq 0x1b800
movq -0x10(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x1e570
addq $0x90, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_pause
void ins_enc_pause(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(0);

	ParserASTNode *ins_node = data->ins_node;

	EncoderInstruction enc_ins;

	ins_init(data->ctx, ins, ins_node, &enc_ins);

	enc_ins.legacy_prefix.rep = true;

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x2053c
jmp 0x2055b
leaq 0x295c3(%rip), %rdi     # 0x49b06
leaq 0x2aad6(%rip), %rsi     # 0x4b020
movl $0x2db, %edx            # imm = 0x2DB
leaq 0x2b062(%rip), %rcx     # 0x4b5b8
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x20564
jmp 0x20583
leaq 0x2fa84(%rip), %rdi     # 0x4ffef
leaq 0x2aaae(%rip), %rsi     # 0x4b020
movl $0x2db, %edx            # imm = 0x2DB
leaq 0x2b03a(%rip), %rcx     # 0x4b5b8
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x2058f
jmp 0x205ae
leaq 0x2aae7(%rip), %rdi     # 0x4b07d
leaq 0x2aa83(%rip), %rsi     # 0x4b020
movl $0x2db, %edx            # imm = 0x2DB
leaq 0x2b00f(%rip), %rcx     # 0x4b5b8
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x0, 0x44(%rax)
jne 0x205bd
jmp 0x205dc
leaq 0x2ae8a(%rip), %rdi     # 0x4b44e
leaq 0x2aa55(%rip), %rsi     # 0x4b020
movl $0x2db, %edx            # imm = 0x2DB
leaq 0x2afe1(%rip), %rcx     # 0x4b5b8
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x78(%rbp), %rcx
callq 0x1a9e0
movb $0x1, -0x76(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x1e570
addq $0x80, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_mov_rAX_Ob
void ins_enc_mov_rAX_Ob(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(2);

	ParserASTNode *ins_node = data->ins_node;

	ParserASTNode *target = data->ins_node->childs[0];

	ParserASTNode *source = data->ins_node->childs[1];

	EncoderInstruction enc_ins;

	ins_init(data->ctx, ins, ins_node, &enc_ins);

	ins_fill_EX(data->ctx, ins, source, &enc_ins);

	int arch = ASM_PARSER_CONTEXT_DATA_GET_ARCH(data->ctx);
	if (arch == ASM_ARCH_BIT64) {
		enc_ins.disp_len = 8;
	}

	enc_ins.mod_rm_used = false;

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x209dc
jmp 0x209fb
leaq 0x29123(%rip), %rdi     # 0x49b06
leaq 0x2a636(%rip), %rsi     # 0x4b020
movl $0x35c, %edx            # imm = 0x35C
leaq 0x2ac41(%rip), %rcx     # 0x4b637
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x20a04
jmp 0x20a23
leaq 0x2f5e4(%rip), %rdi     # 0x4ffef
leaq 0x2a60e(%rip), %rsi     # 0x4b020
movl $0x35c, %edx            # imm = 0x35C
leaq 0x2ac19(%rip), %rcx     # 0x4b637
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x20a2f
jmp 0x20a4e
leaq 0x2a647(%rip), %rdi     # 0x4b07d
leaq 0x2a5e3(%rip), %rsi     # 0x4b020
movl $0x35c, %edx            # imm = 0x35C
leaq 0x2abee(%rip), %rcx     # 0x4b637
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x2, 0x44(%rax)
jne 0x20a5d
jmp 0x20a7c
leaq 0x2a628(%rip), %rdi     # 0x4b08c
leaq 0x2a5b5(%rip), %rsi     # 0x4b020
movl $0x35c, %edx            # imm = 0x35C
leaq 0x2abc0(%rip), %rcx     # 0x4b637
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x48(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rcx
callq 0x1a9e0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq -0x88(%rbp), %rcx
callq 0x1ad40
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movl 0xb0(%rax), %eax
movl %eax, -0x8c(%rbp)
cmpl $0x4, -0x8c(%rbp)
jne 0x20b05
movb $0x8, -0x6a(%rbp)
movb $0x0, -0x72(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x1e570
addq $0x90, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_mov_Ob_rAX
void ins_enc_mov_Ob_rAX(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(2);

	ParserASTNode *ins_node = data->ins_node;

	ParserASTNode *target = data->ins_node->childs[0];

	ParserASTNode *source = data->ins_node->childs[1];

	EncoderInstruction enc_ins;

	ins_init(data->ctx, ins, ins_node, &enc_ins);

	ins_fill_EX(data->ctx, ins, target, &enc_ins);

	int arch = ASM_PARSER_CONTEXT_DATA_GET_ARCH(data->ctx);
	if (arch == ASM_ARCH_BIT64) {
		enc_ins.disp_len = 8;
	}

	enc_ins.mod_rm_used = false;

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x20b4c
jmp 0x20b6b
leaq 0x28fb3(%rip), %rdi     # 0x49b06
leaq 0x2a4c6(%rip), %rsi     # 0x4b020
movl $0x378, %edx            # imm = 0x378
leaq 0x2ab12(%rip), %rcx     # 0x4b678
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x20b74
jmp 0x20b93
leaq 0x2f474(%rip), %rdi     # 0x4ffef
leaq 0x2a49e(%rip), %rsi     # 0x4b020
movl $0x378, %edx            # imm = 0x378
leaq 0x2aaea(%rip), %rcx     # 0x4b678
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x20b9f
jmp 0x20bbe
leaq 0x2a4d7(%rip), %rdi     # 0x4b07d
leaq 0x2a473(%rip), %rsi     # 0x4b020
movl $0x378, %edx            # imm = 0x378
leaq 0x2aabf(%rip), %rcx     # 0x4b678
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x2, 0x44(%rax)
jne 0x20bcd
jmp 0x20bec
leaq 0x2a4b8(%rip), %rdi     # 0x4b08c
leaq 0x2a445(%rip), %rsi     # 0x4b020
movl $0x378, %edx            # imm = 0x378
leaq 0x2aa91(%rip), %rcx     # 0x4b678
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x48(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rcx
callq 0x1a9e0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq -0x88(%rbp), %rcx
callq 0x1ad40
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movl 0xb0(%rax), %eax
movl %eax, -0x8c(%rbp)
cmpl $0x4, -0x8c(%rbp)
jne 0x20c75
movb $0x8, -0x6a(%rbp)
movb $0x0, -0x72(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x1e570
addq $0x90, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_XXXsw
void ins_enc_XXXsw(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(0);

	ParserASTNode *ins_node = data->ins_node;

	EncoderInstruction enc_ins;

	ins_init(data->ctx, ins, ins_node, &enc_ins);

	int arch = ASM_PARSER_CONTEXT_DATA_GET_ARCH(data->ctx);
	switch (arch) {
		case ASM_ARCH_BIT16: {
			break;
		}
		case ASM_ARCH_BIT32: {
			enc_ins.legacy_prefix.operand_size_override = true;
			break;
		}
		case ASM_ARCH_BIT64: {
			enc_ins.legacy_prefix.operand_size_override = true;
			break;
		}
		default: {
			assert(0);
			break;
		}
	}

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x20cbc
jmp 0x20cdb
leaq 0x28e43(%rip), %rdi     # 0x49b06
leaq 0x2a356(%rip), %rsi     # 0x4b020
movl $0x394, %edx            # imm = 0x394
leaq 0x2a9e3(%rip), %rcx     # 0x4b6b9
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x20ce4
jmp 0x20d03
leaq 0x2f304(%rip), %rdi     # 0x4ffef
leaq 0x2a32e(%rip), %rsi     # 0x4b020
movl $0x394, %edx            # imm = 0x394
leaq 0x2a9bb(%rip), %rcx     # 0x4b6b9
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x20d0f
jmp 0x20d2e
leaq 0x2a367(%rip), %rdi     # 0x4b07d
leaq 0x2a303(%rip), %rsi     # 0x4b020
movl $0x394, %edx            # imm = 0x394
leaq 0x2a990(%rip), %rcx     # 0x4b6b9
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x0, 0x44(%rax)
jne 0x20d3d
jmp 0x20d5c
leaq 0x2a70a(%rip), %rdi     # 0x4b44e
leaq 0x2a2d5(%rip), %rsi     # 0x4b020
movl $0x394, %edx            # imm = 0x394
leaq 0x2a962(%rip), %rcx     # 0x4b6b9
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x78(%rbp), %rcx
callq 0x1a9e0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movl 0xb0(%rax), %eax
movl %eax, -0x7c(%rbp)
movl -0x7c(%rbp), %eax
movl %eax, -0x80(%rbp)
subl $0x1, %eax
je 0x20db2
jmp 0x20d9e
movl -0x80(%rbp), %eax
subl $0x2, %eax
je 0x20db4
jmp 0x20da8
movl -0x80(%rbp), %eax
subl $0x4, %eax
je 0x20dba
jmp 0x20dc0
jmp 0x20ddf
movb $0x1, -0x6d(%rbp)
jmp 0x20ddf
movb $0x1, -0x6d(%rbp)
jmp 0x20ddf
leaq 0x2669e(%rip), %rdi     # 0x47465
leaq 0x2a252(%rip), %rsi     # 0x4b020
movl $0x3aa, %edx            # imm = 0x3AA
leaq 0x2a8df(%rip), %rcx     # 0x4b6b9
callq 0xa0b0
movq -0x10(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x1e570
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_XXXsq
void ins_enc_XXXsq(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(0);

	ParserASTNode *ins_node = data->ins_node;

	EncoderInstruction enc_ins;

	ins_init(data->ctx, ins, ins_node, &enc_ins);

	int arch = ASM_PARSER_CONTEXT_DATA_GET_ARCH(data->ctx);
	switch (arch) {
		case ASM_ARCH_BIT16: {
			data->ctx->syntax_error_node_msg(
				data->ctx,
				ins_node,
				"instruction not supported in 16-bit mode."
			);
			break;
		}
		case ASM_ARCH_BIT32: {
			data->ctx->syntax_error_node_msg(
				data->ctx,
				ins_node,
				"instruction not supported in 32-bit mode."
			);
			break;
		}
		case ASM_ARCH_BIT64: {
			enc_ins.rex_prefix_used = true;
			enc_ins.rex_prefix.w = true;
			break;
		}
		default: {
			assert(0);
			break;
		}
	}

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x20f7c
jmp 0x20f9b
leaq 0x28b83(%rip), %rdi     # 0x49b06
leaq 0x2a096(%rip), %rsi     # 0x4b020
movl $0x3d7, %edx            # imm = 0x3D7
leaq 0x2a79b(%rip), %rcx     # 0x4b731
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x20fa4
jmp 0x20fc3
leaq 0x2f044(%rip), %rdi     # 0x4ffef
leaq 0x2a06e(%rip), %rsi     # 0x4b020
movl $0x3d7, %edx            # imm = 0x3D7
leaq 0x2a773(%rip), %rcx     # 0x4b731
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x20fcf
jmp 0x20fee
leaq 0x2a0a7(%rip), %rdi     # 0x4b07d
leaq 0x2a043(%rip), %rsi     # 0x4b020
movl $0x3d7, %edx            # imm = 0x3D7
leaq 0x2a748(%rip), %rcx     # 0x4b731
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x0, 0x44(%rax)
jne 0x20ffd
jmp 0x2101c
leaq 0x2a44a(%rip), %rdi     # 0x4b44e
leaq 0x2a015(%rip), %rsi     # 0x4b020
movl $0x3d7, %edx            # imm = 0x3D7
leaq 0x2a71a(%rip), %rcx     # 0x4b731
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x78(%rbp), %rcx
callq 0x1a9e0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movl 0xb0(%rax), %eax
movl %eax, -0x7c(%rbp)
movl -0x7c(%rbp), %eax
movl %eax, -0x80(%rbp)
subl $0x1, %eax
je 0x21072
jmp 0x2105e
movl -0x80(%rbp), %eax
subl $0x2, %eax
je 0x21095
jmp 0x21068
movl -0x80(%rbp), %eax
subl $0x4, %eax
je 0x210b8
jmp 0x210c2
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x58(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x8(%rcx), %rdi
movq -0x18(%rbp), %rsi
leaq 0x2a19b(%rip), %rdx     # 0x4b22c
callq *%rax
jmp 0x210e1
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x58(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x8(%rcx), %rdi
movq -0x18(%rbp), %rsi
leaq 0x2a1a2(%rip), %rdx     # 0x4b256
callq *%rax
jmp 0x210e1
movb $0x1, -0x6b(%rbp)
movb $0x1, -0x6a(%rbp)
jmp 0x210e1
leaq 0x2639c(%rip), %rdi     # 0x47465
leaq 0x29f50(%rip), %rsi     # 0x4b020
movl $0x3f7, %edx            # imm = 0x3F7
leaq 0x2a655(%rip), %rcx     # 0x4b731
callq 0xa0b0
movq -0x10(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x1e570
addq $0x80, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_mov_xL_Ib
void ins_enc_mov_xL_Ib(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(2);

	ParserASTNode *ins_node = data->ins_node;

	ParserASTNode *target = data->ins_node->childs[0];

	ParserASTNode *source = data->ins_node->childs[1];

	EncoderInstruction enc_ins;

	ins_init(data->ctx, ins, ins_node, &enc_ins);
	
	ins_fill_imm8(data->ctx, ins, source, &enc_ins);

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x2111c
jmp 0x2113b
leaq 0x289e3(%rip), %rdi     # 0x49b06
leaq 0x29ef6(%rip), %rsi     # 0x4b020
movl $0x403, %edx            # imm = 0x403
leaq 0x2a637(%rip), %rcx     # 0x4b76d
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x21144
jmp 0x21163
leaq 0x2eea4(%rip), %rdi     # 0x4ffef
leaq 0x29ece(%rip), %rsi     # 0x4b020
movl $0x403, %edx            # imm = 0x403
leaq 0x2a60f(%rip), %rcx     # 0x4b76d
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x2116f
jmp 0x2118e
leaq 0x29f07(%rip), %rdi     # 0x4b07d
leaq 0x29ea3(%rip), %rsi     # 0x4b020
movl $0x403, %edx            # imm = 0x403
leaq 0x2a5e4(%rip), %rcx     # 0x4b76d
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x2, 0x44(%rax)
jne 0x2119d
jmp 0x211bc
leaq 0x29ee8(%rip), %rdi     # 0x4b08c
leaq 0x29e75(%rip), %rsi     # 0x4b020
movl $0x403, %edx            # imm = 0x403
leaq 0x2a5b6(%rip), %rcx     # 0x4b76d
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x48(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rcx
callq 0x1a9e0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq -0x88(%rbp), %rcx
callq 0x1b800
movq -0x10(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x1e570
addq $0x90, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_mov_RxL_Ib
void ins_enc_mov_RxL_Ib(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(2);

	ParserASTNode *ins_node = data->ins_node;

	ParserASTNode *target = data->ins_node->childs[0];

	ParserASTNode *source = data->ins_node->childs[1];

	EncoderInstruction enc_ins;

	ins_init(data->ctx, ins, ins_node, &enc_ins);
	
	ins_fill_imm8(data->ctx, ins, source, &enc_ins);

	enc_ins.rex_prefix_used = true;
	enc_ins.rex_prefix.b = true;

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x2125c
jmp 0x2127b
leaq 0x288a3(%rip), %rdi     # 0x49b06
leaq 0x29db6(%rip), %rsi     # 0x4b020
movl $0x418, %edx            # imm = 0x418
leaq 0x2a537(%rip), %rcx     # 0x4b7ad
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x21284
jmp 0x212a3
leaq 0x2ed64(%rip), %rdi     # 0x4ffef
leaq 0x29d8e(%rip), %rsi     # 0x4b020
movl $0x418, %edx            # imm = 0x418
leaq 0x2a50f(%rip), %rcx     # 0x4b7ad
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x212af
jmp 0x212ce
leaq 0x29dc7(%rip), %rdi     # 0x4b07d
leaq 0x29d63(%rip), %rsi     # 0x4b020
movl $0x418, %edx            # imm = 0x418
leaq 0x2a4e4(%rip), %rcx     # 0x4b7ad
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x2, 0x44(%rax)
jne 0x212dd
jmp 0x212fc
leaq 0x29da8(%rip), %rdi     # 0x4b08c
leaq 0x29d35(%rip), %rsi     # 0x4b020
movl $0x418, %edx            # imm = 0x418
leaq 0x2a4b6(%rip), %rcx     # 0x4b7ad
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x48(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rcx
callq 0x1a9e0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x28(%rbp), %rdx
leaq -0x88(%rbp), %rcx
callq 0x1b800
movb $0x1, -0x7b(%rbp)
movb $0x1, -0x77(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x1e570
addq $0x90, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_ret_Iw
void ins_enc_ret_Iw(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(1);

	ParserASTNode *ins_node = data->ins_node;

	ParserASTNode *source = data->ins_node->childs[0];

	EncoderInstruction enc_ins;

	ins_init(data->ctx, ins, ins_node, &enc_ins);

	ins_fill_imm16(data->ctx, ins, source, &enc_ins);

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x21b7c
jmp 0x21b9b
leaq 0x27f83(%rip), %rdi     # 0x49b06
leaq 0x29496(%rip), %rsi     # 0x4b020
movl $0x50f, %edx            # imm = 0x50F
leaq 0x29ce8(%rip), %rcx     # 0x4b87e
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x21ba4
jmp 0x21bc3
leaq 0x2e444(%rip), %rdi     # 0x4ffef
leaq 0x2946e(%rip), %rsi     # 0x4b020
movl $0x50f, %edx            # imm = 0x50F
leaq 0x29cc0(%rip), %rcx     # 0x4b87e
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x21bcf
jmp 0x21bee
leaq 0x294a7(%rip), %rdi     # 0x4b07d
leaq 0x29443(%rip), %rsi     # 0x4b020
movl $0x50f, %edx            # imm = 0x50F
leaq 0x29c95(%rip), %rcx     # 0x4b87e
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x1, 0x44(%rax)
jne 0x21bfd
jmp 0x21c1c
leaq 0x296fa(%rip), %rdi     # 0x4b2fe
leaq 0x29415(%rip), %rsi     # 0x4b020
movl $0x50f, %edx            # imm = 0x50F
leaq 0x29c67(%rip), %rcx     # 0x4b87e
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x48(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x80(%rbp), %rcx
callq 0x1a9e0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq -0x80(%rbp), %rcx
callq 0x1b950
movq -0x10(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x1e570
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_xabort
void ins_enc_xabort(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(1);

	ParserASTNode *ins_node = data->ins_node;

	ParserASTNode *source = ins_node->childs[0];

	EncoderInstruction enc_ins;

	ins_init(data->ctx, ins, ins_node, &enc_ins);

	enc_ins.mod_rm_used = true;
	enc_ins.mod_rm.mod = 0x3;
	enc_ins.mod_rm.reg = ins->opcode_ext.reg;

	ins_fill_imm8(data->ctx, ins, source, &enc_ins);

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x21e0c
jmp 0x21e2b
leaq 0x27cf3(%rip), %rdi     # 0x49b06
leaq 0x29206(%rip), %rsi     # 0x4b020
movl $0x539, %edx            # imm = 0x539
leaq 0x29ad3(%rip), %rcx     # 0x4b8f9
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x21e34
jmp 0x21e53
leaq 0x2e1b4(%rip), %rdi     # 0x4ffef
leaq 0x291de(%rip), %rsi     # 0x4b020
movl $0x539, %edx            # imm = 0x539
leaq 0x29aab(%rip), %rcx     # 0x4b8f9
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x21e5f
jmp 0x21e7e
leaq 0x29217(%rip), %rdi     # 0x4b07d
leaq 0x291b3(%rip), %rsi     # 0x4b020
movl $0x539, %edx            # imm = 0x539
leaq 0x29a80(%rip), %rcx     # 0x4b8f9
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x1, 0x44(%rax)
jne 0x21e8d
jmp 0x21eac
leaq 0x2946a(%rip), %rdi     # 0x4b2fe
leaq 0x29185(%rip), %rsi     # 0x4b020
movl $0x539, %edx            # imm = 0x539
leaq 0x29a52(%rip), %rcx     # 0x4b8f9
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x80(%rbp), %rcx
callq 0x1a9e0
movb $0x1, -0x6a(%rbp)
movb $0x3, -0x69(%rbp)
movq -0x8(%rbp), %rax
movb 0x22(%rax), %al
shrb $0x2, %al
andb $0x7, %al
movb %al, -0x68(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq -0x80(%rbp), %rcx
callq 0x1b800
movq -0x10(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x1e570
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: int_enc_shift
void int_enc_shift(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(2);

	ParserASTNode *ins_node = data->ins_node;

	ParserASTNode *target = data->ins_node->childs[0];

	EncoderInstruction enc_ins;

	ins_init(data->ctx, ins, ins_node, &enc_ins);

	enc_ins.mod_rm_used = true;
	enc_ins.mod_rm.reg = ins->opcode_ext.reg;

	ins_fill_EX(data->ctx, ins, target, &enc_ins);

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x221bc
jmp 0x221db
leaq 0x27943(%rip), %rdi     # 0x49b06
leaq 0x28e56(%rip), %rsi     # 0x4b020
movl $0x586, %edx            # imm = 0x586
leaq 0x2979d(%rip), %rcx     # 0x4b973
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x221e4
jmp 0x22203
leaq 0x2de04(%rip), %rdi     # 0x4ffef
leaq 0x28e2e(%rip), %rsi     # 0x4b020
movl $0x586, %edx            # imm = 0x586
leaq 0x29775(%rip), %rcx     # 0x4b973
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x2220f
jmp 0x2222e
leaq 0x28e67(%rip), %rdi     # 0x4b07d
leaq 0x28e03(%rip), %rsi     # 0x4b020
movl $0x586, %edx            # imm = 0x586
leaq 0x2974a(%rip), %rcx     # 0x4b973
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x2, 0x44(%rax)
jne 0x2223d
jmp 0x2225c
leaq 0x28e48(%rip), %rdi     # 0x4b08c
leaq 0x28dd5(%rip), %rsi     # 0x4b020
movl $0x586, %edx            # imm = 0x586
leaq 0x2971c(%rip), %rcx     # 0x4b973
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq 0x48(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x80(%rbp), %rcx
callq 0x1a9e0
movb $0x1, -0x6a(%rbp)
movq -0x8(%rbp), %rax
movb 0x22(%rax), %al
shrb $0x2, %al
andb $0x7, %al
movb %al, -0x68(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq -0x80(%rbp), %rcx
callq 0x1ad40
movq -0x10(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x1e570
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_opcode_Ib
void ins_enc_opcode_Ib(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(1);

	ParserASTNode *ins_node = data->ins_node;

	ParserASTNode *source = ins_node->childs[0];

	EncoderInstruction enc_ins;

	ins_init(data->ctx, ins, ins_node, &enc_ins);

	ins_fill_imm8(data->ctx, ins, source, &enc_ins);

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x222fc
jmp 0x2231b
leaq 0x27803(%rip), %rdi     # 0x49b06
leaq 0x28d16(%rip), %rsi     # 0x4b020
movl $0x59c, %edx            # imm = 0x59C
leaq 0x29699(%rip), %rcx     # 0x4b9af
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x22324
jmp 0x22343
leaq 0x2dcc4(%rip), %rdi     # 0x4ffef
leaq 0x28cee(%rip), %rsi     # 0x4b020
movl $0x59c, %edx            # imm = 0x59C
leaq 0x29671(%rip), %rcx     # 0x4b9af
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x2234f
jmp 0x2236e
leaq 0x28d27(%rip), %rdi     # 0x4b07d
leaq 0x28cc3(%rip), %rsi     # 0x4b020
movl $0x59c, %edx            # imm = 0x59C
leaq 0x29646(%rip), %rcx     # 0x4b9af
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x1, 0x44(%rax)
jne 0x2237d
jmp 0x2239c
leaq 0x28f7a(%rip), %rdi     # 0x4b2fe
leaq 0x28c95(%rip), %rsi     # 0x4b020
movl $0x59c, %edx            # imm = 0x59C
leaq 0x29618(%rip), %rcx     # 0x4b9af
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x80(%rbp), %rcx
callq 0x1a9e0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq -0x80(%rbp), %rcx
callq 0x1b800
movq -0x10(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x1e570
addq $0x80, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_IN_AL_Ib
void ins_enc_IN_AL_Ib(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(2);

	ParserASTNode *ins_node = data->ins_node;

	ParserASTNode *source = ins_node->childs[1];

	EncoderInstruction enc_ins;

	ins_init(data->ctx, ins, ins_node, &enc_ins);

	ins_fill_imm8(data->ctx, ins, source, &enc_ins);

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x2253c
jmp 0x2255b
leaq 0x275c3(%rip), %rdi     # 0x49b06
leaq 0x28ad6(%rip), %rsi     # 0x4b020
movl $0x5c2, %edx            # imm = 0x5C2
leaq 0x294d9(%rip), %rcx     # 0x4ba2f
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x22564
jmp 0x22583
leaq 0x2da84(%rip), %rdi     # 0x4ffef
leaq 0x28aae(%rip), %rsi     # 0x4b020
movl $0x5c2, %edx            # imm = 0x5C2
leaq 0x294b1(%rip), %rcx     # 0x4ba2f
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x2258f
jmp 0x225ae
leaq 0x28ae7(%rip), %rdi     # 0x4b07d
leaq 0x28a83(%rip), %rsi     # 0x4b020
movl $0x5c2, %edx            # imm = 0x5C2
leaq 0x29486(%rip), %rcx     # 0x4ba2f
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x2, 0x44(%rax)
jne 0x225bd
jmp 0x225dc
leaq 0x28ac8(%rip), %rdi     # 0x4b08c
leaq 0x28a55(%rip), %rsi     # 0x4b020
movl $0x5c2, %edx            # imm = 0x5C2
leaq 0x29458(%rip), %rcx     # 0x4ba2f
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x80(%rbp), %rcx
callq 0x1a9e0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq -0x80(%rbp), %rcx
callq 0x1b800
movq -0x10(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x1e570
addq $0x80, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_OUT_Ib_AL
void ins_enc_OUT_Ib_AL(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(2);

	ParserASTNode *ins_node = data->ins_node;

	ParserASTNode *target = ins_node->childs[0];

	EncoderInstruction enc_ins;

	ins_init(data->ctx, ins, ins_node, &enc_ins);

	ins_fill_imm8(data->ctx, ins, target, &enc_ins);

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x2289c
jmp 0x228bb
leaq 0x27263(%rip), %rdi     # 0x49b06
leaq 0x28776(%rip), %rsi     # 0x4b020
movl $0x616, %edx            # imm = 0x616
leaq 0x291f8(%rip), %rcx     # 0x4baae
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x228c4
jmp 0x228e3
leaq 0x2d724(%rip), %rdi     # 0x4ffef
leaq 0x2874e(%rip), %rsi     # 0x4b020
movl $0x616, %edx            # imm = 0x616
leaq 0x291d0(%rip), %rcx     # 0x4baae
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x228ef
jmp 0x2290e
leaq 0x28787(%rip), %rdi     # 0x4b07d
leaq 0x28723(%rip), %rsi     # 0x4b020
movl $0x616, %edx            # imm = 0x616
leaq 0x291a5(%rip), %rcx     # 0x4baae
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x2, 0x44(%rax)
jne 0x2291d
jmp 0x2293c
leaq 0x28768(%rip), %rdi     # 0x4b08c
leaq 0x286f5(%rip), %rsi     # 0x4b020
movl $0x616, %edx            # imm = 0x616
leaq 0x29177(%rip), %rcx     # 0x4baae
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x80(%rbp), %rcx
callq 0x1a9e0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq -0x80(%rbp), %rcx
callq 0x1b800
movq -0x10(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x1e570
addq $0x80, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/assembler/ins_enc.c
// Function: ins_enc_opcode_ext_Eb
void ins_enc_opcode_ext_Eb(
	Instruction *ins,
	InstructionEncoderData *data
) {
	_CHECK_PARAMS(1);

	ParserASTNode *ins_node = data->ins_node;

	ParserASTNode *oprd = ins_node->childs[0];

	EncoderInstruction enc_ins;

	ins_init(data->ctx, ins, ins_node, &enc_ins);

	enc_ins.mod_rm_used = true;
	enc_ins.mod_rm.reg = ins->opcode_ext.reg;

	ins_fill_EX(data->ctx, ins, oprd, &enc_ins);

	_output(data, &enc_ins);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x22bfc
jmp 0x22c1b
leaq 0x26f03(%rip), %rdi     # 0x49b06
leaq 0x28416(%rip), %rsi     # 0x4b020
movl $0x66a, %edx            # imm = 0x66A
leaq 0x28f19(%rip), %rcx     # 0x4bb2f
callq 0xa0b0
cmpq $0x0, -0x10(%rbp)
je 0x22c24
jmp 0x22c43
leaq 0x2d3c4(%rip), %rdi     # 0x4ffef
leaq 0x283ee(%rip), %rsi     # 0x4b020
movl $0x66a, %edx            # imm = 0x66A
leaq 0x28ef1(%rip), %rcx     # 0x4bb2f
callq 0xa0b0
movq -0x10(%rbp), %rax
cmpq $0x0, (%rax)
je 0x22c4f
jmp 0x22c6e
leaq 0x28427(%rip), %rdi     # 0x4b07d
leaq 0x283c3(%rip), %rsi     # 0x4b020
movl $0x66a, %edx            # imm = 0x66A
leaq 0x28ec6(%rip), %rcx     # 0x4bb2f
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
cmpl $0x1, 0x44(%rax)
jne 0x22c7d
jmp 0x22c9c
leaq 0x2867a(%rip), %rdi     # 0x4b2fe
leaq 0x28395(%rip), %rsi     # 0x4b020
movl $0x66a, %edx            # imm = 0x66A
leaq 0x28e98(%rip), %rcx     # 0x4bb2f
callq 0xa0b0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x80(%rbp), %rcx
callq 0x1a9e0
movb $0x1, -0x6a(%rbp)
movq -0x8(%rbp), %rax
movb 0x22(%rax), %al
shrb $0x2, %al
andb $0x7, %al
movb %al, -0x68(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x20(%rbp), %rdx
leaq -0x80(%rbp), %rcx
callq 0x1ad40
movq -0x10(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x1e570
addq $0x80, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)