// File: /workspace/github_cpp_makefile_star2_O1/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 0x4994(%rip), %rsi      # 0x7020
leaq 0x4990(%rip), %rdx      # 0x7023
leaq 0x70(%rsp), %r15
movq %r15, %rdi
movq %rbx, 0x8(%rsp)
callq 0x6088
leaq 0x90(%rsp), %r14
leaq 0xa0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4964(%rip), %rsi      # 0x7024
leaq 0x4960(%rip), %rdx      # 0x7027
movq %r14, %rdi
callq 0x6088
leaq 0xb0(%rsp), %r14
leaq 0xc0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x493e(%rip), %rsi      # 0x7028
leaq 0x493a(%rip), %rdx      # 0x702b
movq %r14, %rdi
callq 0x6088
leaq 0xd0(%rsp), %r14
leaq 0xe0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4933(%rip), %rsi      # 0x7047
leaq 0x492f(%rip), %rdx      # 0x704a
movq %r14, %rdi
callq 0x6088
leaq 0xf0(%rsp), %r14
leaq 0x100(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x48ee(%rip), %rsi      # 0x702c
leaq 0x48ea(%rip), %rdx      # 0x702f
movq %r14, %rdi
callq 0x6088
leaq 0x110(%rsp), %r14
leaq 0x120(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x48c4(%rip), %rsi      # 0x702c
leaq 0x48c0(%rip), %rdx      # 0x702f
movq %r14, %rdi
callq 0x6088
leaq 0x130(%rsp), %r14
leaq 0x140(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x489e(%rip), %rsi      # 0x7030
leaq 0x489a(%rip), %rdx      # 0x7033
movq %r14, %rdi
callq 0x6088
leaq 0x150(%rsp), %r14
leaq 0x160(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4878(%rip), %rsi      # 0x7034
leaq 0x4874(%rip), %rdx      # 0x7037
movq %r14, %rdi
callq 0x6088
leaq 0x170(%rsp), %r14
leaq 0x180(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4852(%rip), %rsi      # 0x7038
leaq 0x484e(%rip), %rdx      # 0x703b
movq %r14, %rdi
callq 0x6088
leaq 0x190(%rsp), %r14
leaq 0x1a0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x482c(%rip), %rsi      # 0x703c
leaq 0x4828(%rip), %rdx      # 0x703f
movq %r14, %rdi
callq 0x6088
leaq 0x1b0(%rsp), %r14
leaq 0x1c0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4806(%rip), %rsi      # 0x7040
leaq 0x4802(%rip), %rdx      # 0x7043
movq %r14, %rdi
callq 0x6088
leaq 0x1d0(%rsp), %r14
leaq 0x1e0(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x47e0(%rip), %rsi      # 0x7044
leaq 0x47df(%rip), %rdx      # 0x704a
movq %r14, %rdi
callq 0x6088
leaq 0x1f0(%rsp), %r14
leaq 0x200(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x47bd(%rip), %rsi      # 0x704b
leaq 0x47b9(%rip), %rdx      # 0x704e
movq %r14, %rdi
callq 0x6088
leaq 0x210(%rsp), %r14
leaq 0x220(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x4797(%rip), %rsi      # 0x704f
leaq 0x4793(%rip), %rdx      # 0x7052
movq %r14, %rdi
callq 0x6088
leaq 0x38(%rsp), %rdi
leaq 0x10(%rsp), %rdx
movl $0xe, %esi
callq 0x590e
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 0x5ee4
leaq 0x4990(%rip), %rax      # 0x72a0
movl -0x1(%rbx,%rax), %edx
leaq 0x10(%rsp), %rdi
movq %r15, %r13
movq %r15, %rsi
callq 0x2d00
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 0x2a09
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 0x297f
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0x50(%rsp), %rdi
cmpq %r12, %rdi
movq %r13, %r15
je 0x2999
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x21f0
incq %r14
addq $0x4, %rbx
addq $0x28, %rbp
cmpq $0x230, %rbp            # imm = 0x230
jne 0x28ef
leaq 0x38(%rsp), %rsi
movq 0x8(%rsp), %rdi
callq 0x59a0
leaq 0x38(%rsp), %rdi
callq 0x5b46
movq $-0x1c0, %rbx           # imm = 0xFE40
leaq 0x220(%rsp), %r14
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0x29ed
movq (%r14), %rsi
incq %rsi
callq 0x21f0
addq $-0x20, %r14
addq $0x20, %rbx
jne 0x29d9
addq $0x238, %rsp            # imm = 0x238
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x483b(%rip), %rdi      # 0x724b
movq %r14, %rsi
xorl %eax, %eax
callq 0x22a0
jmp 0x2a82
movq %rax, %rbp
jmp 0x2acc
jmp 0x2a3c
jmp 0x2a3c
jmp 0x2a3c
jmp 0x2a3c
jmp 0x2a3c
jmp 0x2a3c
jmp 0x2a3c
jmp 0x2a3c
jmp 0x2a3c
jmp 0x2a3c
jmp 0x2a3c
jmp 0x2a3c
movq %rax, %rbp
cmpq %r14, %r15
je 0x2aff
addq $-0x10, %r14
leaq 0x70(%rsp), %rbx
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0x2a65
movq (%r14), %rsi
incq %rsi
callq 0x21f0
leaq -0x20(%r14), %rax
addq $-0x10, %r14
cmpq %rbx, %r14
movq %rax, %r14
jne 0x2a51
jmp 0x2aff
movq %rax, %rbp
movq %r15, %r14
jmp 0x2a3f
movq %rax, %rbp
jmp 0x2ac2
movq %rax, %rbp
jmp 0x2aab
movq %rax, %rbp
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x2aab
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0x50(%rsp), %rdi
cmpq %r12, %rdi
je 0x2ac2
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x21f0
leaq 0x38(%rsp), %rdi
callq 0x5b46
xorl %ebx, %ebx
leaq 0x220(%rsp), %r14
movq 0x210(%rsp,%rbx), %rdi
leaq (%r14,%rbx), %rax
cmpq %rdi, %rax
je 0x2af2
movq (%rax), %rsi
incq %rsi
callq 0x21f0
addq $-0x20, %rbx
cmpq $-0x1c0, %rbx           # imm = 0xFE40
jne 0x2ad6
movq 0x8(%rsp), %rdi
callq 0x5b46
movq %rbp, %rdi
callq 0x2330
nop