// File: /workspace/github_cpp_makefile_star2_O3/marcellapantarotto[P]pseudoSO/scheduler.cpp
// Function: Scheduler::displayExecution(Process)
void Scheduler::displayExecution(Process p) {
	cout << "\n  Process " << p.getPID() << " => " << endl;
	cout << "\tPriority: " << p.getPriority() << endl;
	cout << "\tTime Since Arrival: " << clock - p.getInitTime() << endl;
	cout << "\tTime Left To Execute: " << p.getExecutionTime() << endl;
	cout << "\tHolds Any Resources: ";

	switch(p.getBlockedResource()) {
		case WITHOUT_RESOURCES:
			cout << "No";
			break;
		case PRINTER:
			cout << "Printer";
			break;
		case SCANNER:
			cout << "Scanner";
			break;
		case SATA:
			cout << "Sata";
			break;
		case MODEM:
			cout << "Modem";
			break;
	}
	cout << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rdi, %r15
movq 0x46f7(%rip), %rbx      # 0x7fd0
leaq 0x18bc(%rip), %rsi      # 0x519c
movl $0xb, %edx
movq %rbx, %rdi
callq 0x2180
leaq 0x10(%rbp), %r14
movq %r14, %rdi
callq 0x2b56
movq %rbx, %rdi
movl %eax, %esi
callq 0x2220
movq %rax, %r12
leaq 0x189b(%rip), %rsi      # 0x51a8
movl $0x4, %edx
movq %rax, %rdi
callq 0x2180
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2160
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
leaq 0x1706(%rip), %rsi      # 0x504f
movl $0xb, %edx
movq %rbx, %rdi
callq 0x2180
movq %r14, %rdi
callq 0x2b5e
movq %rbx, %rdi
movl %eax, %esi
callq 0x2220
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2160
movsbl %al, %esi
movq %r12, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
leaq 0x1814(%rip), %rsi      # 0x51ad
movl $0x15, %edx
movq %rbx, %rdi
callq 0x2180
movl (%r15), %r15d
movq %r14, %rdi
callq 0x2b76
subl %eax, %r15d
movq %rbx, %rdi
movl %r15d, %esi
callq 0x2220
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2160
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
leaq 0x17d3(%rip), %rsi      # 0x51c3
movl $0x17, %edx
movq %rbx, %rdi
callq 0x2180
movq %r14, %rdi
callq 0x2b7e
movq %rbx, %rdi
movl %eax, %esi
callq 0x2220
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2160
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
leaq 0x179b(%rip), %rsi      # 0x51db
movl $0x16, %edx
movq %rbx, %rdi
callq 0x2180
movq %r14, %rdi
callq 0x2bae
cmpl $0x4, %eax
ja 0x3ad3
movl %eax, %eax
leaq 0x167d(%rip), %rcx      # 0x50e0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x455d(%rip), %rdi      # 0x7fd0
leaq 0x1778(%rip), %rsi      # 0x51f2
movl $0x2, %edx
jmp 0x3ace
movq 0x4548(%rip), %rdi      # 0x7fd0
leaq 0x177b(%rip), %rsi      # 0x520a
movl $0x5, %edx
jmp 0x3ace
movq 0x4533(%rip), %rdi      # 0x7fd0
leaq 0x1759(%rip), %rsi      # 0x51fd
jmp 0x3ab4
movq 0x4523(%rip), %rdi      # 0x7fd0
leaq 0x1741(%rip), %rsi      # 0x51f5
movl $0x7, %edx
jmp 0x3ace
movq 0x450e(%rip), %rdi      # 0x7fd0
leaq 0x173c(%rip), %rsi      # 0x5205
movl $0x4, %edx
callq 0x2180
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2160
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20d0
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
nop