// File: /workspace/github_cpp_makefile_star2_O3/czmccrory[P]ManchesterBaby/./assembler.h
// Function: InstructionSet::InstructionSet()
InstructionSet::InstructionSet()
{
	this -> size = 14;
  
	string mne[14] = { "JMP", "JRP", "LDN", "STO", "SUB", "SUB", "CMP", "STP", "MUL", "LDP", "ADD", "NEGSTO", "INC", "DEC"};
	int num[14] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 };

	vector<InstructionNode> temp(14); 

	for (int i = 0; i < 14; i++)
	{
		temp.at(i) = InstructionNode(mne[i], num[i]);
	}

	this -> vec = temp;


}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x238, %rsp            # imm = 0x238
movq %rdi, %rbx
xorps %xmm0, %xmm0
movups %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movl $0xe, 0x18(%rdi)
leaq 0x80(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x499e(%rip), %rsi      # 0x7004
leaq 0x499a(%rip), %rdx      # 0x7007
leaq 0x70(%rsp), %r14
movq %r14, %rdi
movq %rbx, 0x8(%rsp)
callq 0x605e
leaq 0x90(%rsp), %r15
leaq 0xa0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x496e(%rip), %rsi      # 0x7008
leaq 0x496a(%rip), %rdx      # 0x700b
movq %r15, %rdi
callq 0x605e
leaq 0xb0(%rsp), %r15
leaq 0xc0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4948(%rip), %rsi      # 0x700c
leaq 0x4944(%rip), %rdx      # 0x700f
movq %r15, %rdi
callq 0x605e
leaq 0xd0(%rsp), %r15
leaq 0xe0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x493d(%rip), %rsi      # 0x702b
leaq 0x4939(%rip), %rdx      # 0x702e
movq %r15, %rdi
callq 0x605e
leaq 0xf0(%rsp), %r15
leaq 0x100(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x48f8(%rip), %rsi      # 0x7010
leaq 0x48f4(%rip), %rdx      # 0x7013
movq %r15, %rdi
callq 0x605e
leaq 0x110(%rsp), %r15
leaq 0x120(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x48ce(%rip), %rsi      # 0x7010
leaq 0x48ca(%rip), %rdx      # 0x7013
movq %r15, %rdi
callq 0x605e
leaq 0x130(%rsp), %r15
leaq 0x140(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x48a8(%rip), %rsi      # 0x7014
leaq 0x48a4(%rip), %rdx      # 0x7017
movq %r15, %rdi
callq 0x605e
leaq 0x150(%rsp), %r15
leaq 0x160(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4882(%rip), %rsi      # 0x7018
leaq 0x487e(%rip), %rdx      # 0x701b
movq %r15, %rdi
callq 0x605e
leaq 0x170(%rsp), %r15
leaq 0x180(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x485c(%rip), %rsi      # 0x701c
leaq 0x4858(%rip), %rdx      # 0x701f
movq %r15, %rdi
callq 0x605e
leaq 0x190(%rsp), %r15
leaq 0x1a0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4836(%rip), %rsi      # 0x7020
leaq 0x4832(%rip), %rdx      # 0x7023
movq %r15, %rdi
callq 0x605e
leaq 0x1b0(%rsp), %r15
leaq 0x1c0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4810(%rip), %rsi      # 0x7024
leaq 0x480c(%rip), %rdx      # 0x7027
movq %r15, %rdi
callq 0x605e
leaq 0x1d0(%rsp), %r15
leaq 0x1e0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x47ea(%rip), %rsi      # 0x7028
leaq 0x47e9(%rip), %rdx      # 0x702e
movq %r15, %rdi
callq 0x605e
leaq 0x1f0(%rsp), %r15
leaq 0x200(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x47c7(%rip), %rsi      # 0x702f
leaq 0x47c3(%rip), %rdx      # 0x7032
movq %r15, %rdi
callq 0x605e
leaq 0x210(%rsp), %r15
leaq 0x220(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x47a1(%rip), %rsi      # 0x7033
leaq 0x479d(%rip), %rdx      # 0x7036
movq %r15, %rdi
callq 0x605e
leaq 0x38(%rsp), %rdi
leaq 0x10(%rsp), %rdx
movl $0xe, %esi
callq 0x58be
leaq 0x60(%rsp), %r12
movl $0x1, %ebx
xorl %ebp, %ebp
leaq 0x50(%rsp), %r15
xorl %r14d, %r14d
movq %r12, 0x50(%rsp)
movq 0x68(%rsp,%rbx,8), %rsi
movq 0x70(%rsp,%rbx,8), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x5ebe
leaq 0x4996(%rip), %rax      # 0x7280
movl -0x1(%rbx,%rax), %edx
leaq 0x10(%rsp), %rdi
movq %r15, %r13
movq %r15, %rsi
callq 0x2cd0
movq 0x38(%rsp), %r15
movq 0x40(%rsp), %rdx
subq %r15, %rdx
sarq $0x3, %rdx
movabsq $-0x3333333333333333, %rax # imm = 0xCCCCCCCCCCCCCCCD
imulq %rax, %rdx
cmpq %r14, %rdx
jbe 0x29e3
leaq (%r15,%rbp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x2250
movl 0x30(%rsp), %eax
movl %eax, 0x20(%r15,%rbp)
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x2959
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0x50(%rsp), %rdi
cmpq %r12, %rdi
movq %r13, %r15
je 0x2973
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x21f0
incq %r14
addq $0x4, %rbx
addq $0x28, %rbp
cmpq $0x230, %rbp            # imm = 0x230
jne 0x28c9
leaq 0x38(%rsp), %rsi
movq 0x8(%rsp), %rdi
callq 0x5950
leaq 0x38(%rsp), %rdi
callq 0x5b1e
movq $-0x1c0, %rbx           # imm = 0xFE40
leaq 0x220(%rsp), %r14
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0x29c7
movq (%r14), %rsi
incq %rsi
callq 0x21f0
addq $-0x20, %r14
addq $0x20, %rbx
jne 0x29b3
addq $0x238, %rsp            # imm = 0x238
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x4845(%rip), %rdi      # 0x722f
movq %r14, %rsi
xorl %eax, %eax
callq 0x22a0
jmp 0x2a4b
movq %rax, %rbp
jmp 0x2a95
jmp 0x2a16
jmp 0x2a16
jmp 0x2a16
jmp 0x2a16
jmp 0x2a16
jmp 0x2a16
jmp 0x2a16
jmp 0x2a16
jmp 0x2a16
jmp 0x2a16
jmp 0x2a16
jmp 0x2a16
movq %rax, %rbp
addq $-0x10, %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x2a31
movq (%r15), %rsi
incq %rsi
callq 0x21f0
leaq -0x20(%r15), %rax
addq $-0x10, %r15
cmpq %r14, %r15
movq %rax, %r15
jne 0x2a1d
jmp 0x2ac8
movq %rax, %rbp
jmp 0x2ac8
movq %rax, %rbp
jmp 0x2a8b
movq %rax, %rbp
jmp 0x2a74
movq %rax, %rbp
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x2a74
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0x50(%rsp), %rdi
cmpq %r12, %rdi
je 0x2a8b
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x21f0
leaq 0x38(%rsp), %rdi
callq 0x5b1e
xorl %ebx, %ebx
leaq 0x220(%rsp), %r14
movq 0x210(%rsp,%rbx), %rdi
leaq (%r14,%rbx), %rax
cmpq %rdi, %rax
je 0x2abb
movq (%rax), %rsi
incq %rsi
callq 0x21f0
addq $-0x20, %rbx
cmpq $-0x1c0, %rbx           # imm = 0xFE40
jne 0x2a9f
movq 0x8(%rsp), %rdi
callq 0x5b1e
movq %rbp, %rdi
callq 0x2330