// File: /workspace/github_cpp_makefile_star2_O3/czmccrory[P]ManchesterBaby/baby.cpp
// Function: ManchesterBaby::output()
void ManchesterBaby::output() {

	clrscr();
  cout<< "Store:" <<endl;
  for (size_t i = 0; i < store.size(); ++i)
  {
    //Print line
    cout << i << '\t';// << flush;
    store.at(i).print();
  }

  cout <<""<<endl;
  cout<< "Present Instruction" << "\n\t";
  presentInstruction.printNoEndl();//print the mnemonic for the present instrcution
  cout << '\t' << presentMnemonic << endl; 


  cout << "" <<endl;
  cout << "Control Instruction" <<"\n\t";
  Line ci; // create a new line
  ci.setDecVector(instructionCounter);  //set the value at this line to the instruction counter
  ci.printNoEndl();
  cout << '\t' <<  ci.getDecVector() <<endl; //print the decimal value too

  cout << "" <<endl;
  cout << "Accumulator" <<"\n\t";
  accumulator.printNoEndl();
  cout << '\t' <<  accumulator.getDecVector() <<endl;
  cout << "\nPress enter to see the next cycle, or input any other key to exit." <<endl;

  if (!stopLamp){
  	cout << "Stop Lamp: " << "\033[1;34mOFF\033[0m\n"<<endl; //blue OFF
  }else{
  	cout << "Stop Lamp: " << "\033[1;31mON\033[0m\n"<<endl; //red ON
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
movq 0x6520(%rip), %r14      # 0xafc8
leaq 0x262f(%rip), %rsi      # 0x70de
movl $0xa, %edx
movq %r14, %rdi
callq 0x2200
movq %r14, %rdi
callq 0x2120
leaq 0x261e(%rip), %rsi      # 0x70e9
movl $0x6, %edx
movq %r14, %rdi
callq 0x2200
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
movq 0x8(%rbx), %rax
cmpq (%rbx), %rax
je 0x4b6f
xorl %ebp, %ebp
movq 0x64b7(%rip), %r12      # 0xafc8
leaq 0xc(%rsp), %r13
xorl %r15d, %r15d
movq %r12, %rdi
movq %r15, %rsi
callq 0x2110
movb $0x9, 0xc(%rsp)
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x2200
movq (%rbx), %rdi
movq 0x8(%rbx), %rdx
subq %rdi, %rdx
sarq $0x3, %rdx
cmpq %r15, %rdx
jbe 0x4eaa
addq %rbp, %rdi
callq 0x60cc
movq 0x8(%rbx), %rax
subq (%rbx), %rax
incq %r15
sarq $0x3, %rax
addq $0x8, %rbp
cmpq %rax, %r15
jb 0x4b19
leaq 0x2590(%rip), %r15      # 0x7106
movq %r14, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x2200
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
leaq 0x253f(%rip), %rsi      # 0x70f0
movl $0x13, %edx
movq %r14, %rdi
callq 0x2200
leaq 0x253f(%rip), %r12      # 0x7104
movl $0x2, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0x2200
leaq 0x18(%rbx), %rdi
callq 0x60c4
leaq 0xd(%rsp), %rsi
movb $0x9, (%rsi)
movl $0x1, %edx
movq %r14, %rdi
callq 0x2200
movq 0x38(%rbx), %rsi
movq 0x40(%rbx), %rdx
movq %rax, %rdi
callq 0x2200
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %r13, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
movq %r14, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x2200
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
leaq 0x249f(%rip), %rsi      # 0x7107
movl $0x13, %edx
movq %r14, %rdi
callq 0x2200
movl $0x2, %edx
movq %r14, %rdi
movq %r12, %rsi
callq 0x2200
leaq 0x10(%rsp), %r14
movq %r14, %rdi
callq 0x6104
movl 0x30(%rbx), %esi
movq %r14, %rdi
callq 0x63c6
leaq 0x10(%rsp), %rdi
callq 0x60c4
leaq 0xe(%rsp), %rsi
movb $0x9, (%rsi)
movq 0x6312(%rip), %rdi      # 0xafc8
movl $0x1, %edx
callq 0x2200
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x6390
movq %r14, %rdi
movl %eax, %esi
callq 0x22f0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
movq 0x62c0(%rip), %r14      # 0xafc8
leaq 0x23f7(%rip), %rsi      # 0x7106
movq %r14, %rdi
xorl %edx, %edx
callq 0x2200
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq 0x6291(%rip), %rdi      # 0xafc8
callq 0x2030
movq %rax, %rdi
callq 0x2120
movq 0x627d(%rip), %rdi      # 0xafc8
leaq 0x23c9(%rip), %rsi      # 0x711b
movl $0xb, %edx
callq 0x2200
movq 0x6265(%rip), %rdi      # 0xafc8
leaq 0x239a(%rip), %rsi      # 0x7104
movl $0x2, %edx
callq 0x2200
leaq 0x28(%rbx), %r14
movq %r14, %rdi
callq 0x60c4
leaq 0xf(%rsp), %rsi
movb $0x9, (%rsi)
movq 0x6239(%rip), %rdi      # 0xafc8
movl $0x1, %edx
callq 0x2200
movq %rax, %r15
movq %r14, %rdi
callq 0x6390
movq %r15, %rdi
movl %eax, %esi
callq 0x22f0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq %r14, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2120
movq 0x61e9(%rip), %r14      # 0xafc8
leaq 0x2341(%rip), %rsi      # 0x7127
movl $0x43, %edx
movq %r14, %rdi
callq 0x2200
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq 0x61b7(%rip), %rdi      # 0xafc8
callq 0x2030
movq %rax, %rdi
callq 0x2120
movb 0x79(%rbx), %bl
movq 0x61a0(%rip), %rdi      # 0xafc8
leaq 0x233c(%rip), %rsi      # 0x716b
movl $0xb, %edx
callq 0x2200
movzbl %bl, %eax
movq %rax, %rdx
xorq $0xf, %rdx
leaq 0x233d(%rip), %rcx      # 0x7187
leaq 0x2326(%rip), %rsi      # 0x7177
testb %al, %al
cmovneq %rcx, %rsi
movq 0x616a(%rip), %rbx      # 0xafc8
movq %rbx, %rdi
callq 0x2200
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x21a0
movsbl %al, %esi
movq 0x6144(%rip), %rdi      # 0xafc8
callq 0x2030
movq %rax, %rdi
callq 0x2120
leaq 0x10(%rsp), %rdi
callq 0x6242
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x24c4(%rip), %rdi      # 0x7375
movq %r15, %rsi
xorl %eax, %eax
callq 0x2270
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x6242
movq %rbx, %rdi
callq 0x2300