// File: /workspace/github_cpp_makefile_star2_O3/estwings57[P]CasHMC/sources/DRAMCommand.cpp
// Function: CasHMC::operator<<(std::ostream&, CasHMC::DRAMCommand const&)
ostream& operator<<(ostream &out, const DRAMCommand &dc)
{
	string header;
	stringstream id;
	id << dc.packetTAG;
	
	switch(dc.commandType) {
		case ACTIVATE:
			header = "[C" + id.str() + "-ACT]";
			break;
		case READ:
			header = "[C" + id.str() + "-READ]";
			break;
		case READ_P:
			header = "[C" + id.str() + "-READ_P]";
			break;
		case WRITE:
			header = "[C" + id.str() + "-WRITE]";
			break;
		case WRITE_P:
			header = "[C" + id.str() + "-WRITE_P]";
			break;
		case PRECHARGE:
			header = "[C" + id.str() + "-PRE]";
			break;
		case REFRESH:
			header = "[C" + id.str() + "-REF]";
			break;
		case READ_DATA:
			header = "[C" + id.str() + "-R_DATA]";
			break;
		case WRITE_DATA:
			header = "[C" + id.str() + "-W_DATA]";
			break;
		case POWERDOWN_ENTRY:
			header = "[C" + id.str() + "-PD_ENT]";
			break;
		case POWERDOWN_EXIT:
			header = "[C" + id.str() + "-PD_EXT]";
			break;
		default:
			ERROR(" (DC) == Error - Trying to print unknown kind of bus packet");
			ERROR("         Type : "<<dc.commandType);
		//	exit(0);
	}
	out<<header;
	return out;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x210, %rsp            # imm = 0x210
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x78(%rsp), %r12
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
leaq 0x88(%rsp), %rdi
callq 0x4200
leaq 0x98(%rsp), %rdi
movl 0x14(%r14), %esi
callq 0x41e0
movl 0x10(%r14), %eax
cmpq $0xa, %rax
ja 0x1c77d
leaq 0x15dbd(%rip), %rcx     # 0x32148
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xa0(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x4450
leaq 0x15dde(%rip), %rcx     # 0x3218b
leaq 0x28(%rsp), %rdi
movl $0x2, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x4320
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1c9eb
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1c9f2
leaq 0xa0(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x4450
leaq 0x15d83(%rip), %rcx     # 0x3218b
leaq 0x28(%rsp), %rdi
movl $0x2, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x4320
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1c8e7
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1c8ee
leaq 0xa0(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x4450
leaq 0x15d28(%rip), %rcx     # 0x3218b
leaq 0x28(%rsp), %rdi
movl $0x2, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x4320
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1c91b
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1c922
leaq 0xa0(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x4450
leaq 0x15ccd(%rip), %rcx     # 0x3218b
leaq 0x28(%rsp), %rdi
movl $0x2, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x4320
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1c94f
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1c956
leaq 0xa0(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x4450
leaq 0x15c72(%rip), %rcx     # 0x3218b
leaq 0x28(%rsp), %rdi
movl $0x2, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x4320
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1c983
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1c98a
leaq 0xa0(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x4450
leaq 0x15c17(%rip), %rcx     # 0x3218b
leaq 0x28(%rsp), %rdi
movl $0x2, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x4320
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1c9b7
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1c9be
leaq 0xa0(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x4450
leaq 0x15bbc(%rip), %rcx     # 0x3218b
leaq 0x28(%rsp), %rdi
movl $0x2, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x4320
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1ca1f
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1ca26
leaq 0xa0(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x4450
leaq 0x15b61(%rip), %rcx     # 0x3218b
leaq 0x28(%rsp), %rdi
movl $0x2, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x4320
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1ca53
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1ca5a
leaq 0xa0(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x4450
leaq 0x15b06(%rip), %rcx     # 0x3218b
leaq 0x28(%rsp), %rdi
movl $0x2, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x4320
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1ca87
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1ca8e
leaq 0xa0(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x4450
leaq 0x15aab(%rip), %rcx     # 0x3218b
leaq 0x28(%rsp), %rdi
movl $0x2, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x4320
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1cab8
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1cabf
leaq 0xa0(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x4450
leaq 0x15a50(%rip), %rcx     # 0x3218b
leaq 0x28(%rsp), %rdi
movl $0x2, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x4320
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1cae9
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x1caf0
movq 0x1e86c(%rip), %rdi     # 0x3aff0
leaq 0x13897(%rip), %rsi     # 0x30022
movl $0x8, %edx
callq 0x4340
movq 0x1e854(%rip), %rdi     # 0x3aff0
leaq 0x15a43(%rip), %rsi     # 0x321e6
movl $0x17, %edx
callq 0x4340
movq 0x1e83c(%rip), %rdi     # 0x3aff0
leaq 0x140dc(%rip), %rsi     # 0x30897
movl $0x1, %edx
callq 0x4340
movq 0x1e824(%rip), %rdi     # 0x3aff0
movl $0x62, %esi
callq 0x4500
movq %rax, %r15
leaq 0x13861(%rip), %rsi     # 0x30041
movl $0x4, %edx
movq %rax, %rdi
callq 0x4340
leaq 0x15a0a(%rip), %rsi     # 0x321fe
movl $0x3b, %edx
movq %r15, %rdi
callq 0x4340
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
movq 0x1e7c1(%rip), %rdi     # 0x3aff0
leaq 0x137ec(%rip), %rsi     # 0x30022
movl $0x8, %edx
callq 0x4340
movq 0x1e7a9(%rip), %rdi     # 0x3aff0
leaq 0x15998(%rip), %rsi     # 0x321e6
movl $0x17, %edx
callq 0x4340
movq 0x1e791(%rip), %rdi     # 0x3aff0
leaq 0x14031(%rip), %rsi     # 0x30897
movl $0x1, %edx
callq 0x4340
movq 0x1e779(%rip), %rdi     # 0x3aff0
movl $0x63, %esi
callq 0x4500
movq %rax, %r15
leaq 0x137b6(%rip), %rsi     # 0x30041
movl $0x4, %edx
movq %rax, %rdi
callq 0x4340
leaq 0x137e3(%rip), %rsi     # 0x30082
movl $0x10, %edx
movq %r15, %rdi
callq 0x4340
movl 0x10(%r14), %esi
movq %r15, %rdi
callq 0x4500
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x42d0
movsbl %al, %esi
movq %r14, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x41f0
jmp 0x1cbb7
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x1589b(%rip), %rsi     # 0x321ac
callq 0x4580
jmp 0x1cb18
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x1588f(%rip), %rsi     # 0x321d4
callq 0x4580
jmp 0x1cb18
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x15822(%rip), %rsi     # 0x3219b
callq 0x4580
jmp 0x1cb18
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x157f7(%rip), %rsi     # 0x321a4
callq 0x4580
jmp 0x1cb18
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x157d5(%rip), %rsi     # 0x321b6
callq 0x4580
jmp 0x1cb18
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x15779(%rip), %rsi     # 0x3218e
callq 0x4580
jmp 0x1cb18
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x1574b(%rip), %rsi     # 0x32194
callq 0x4580
jmp 0x1cb18
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x15745(%rip), %rsi     # 0x321c2
callq 0x4580
jmp 0x1cb18
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x1571a(%rip), %rsi     # 0x321cb
callq 0x4580
jmp 0x1cb18
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x156fb(%rip), %rsi     # 0x321dd
callq 0x4580
jmp 0x1cb18
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x156a9(%rip), %rsi     # 0x321bc
callq 0x4580
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x1cb3f
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x1cb47
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
leaq 0x48(%rsp), %r14
movq %rdx, 0x8(%r14)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %rdi
movq %r14, %rsi
callq 0x4370
movq (%r14), %rdi
cmpq %r13, %rdi
je 0x1cb85
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x4300
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x1cb9c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x4300
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1cbb7
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x4300
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
movq %rbx, %rdi
callq 0x4340
movq 0x1e3c8(%rip), %rsi     # 0x3af98
leaq 0x88(%rsp), %rdi
callq 0x4220
leaq 0x108(%rsp), %rdi
callq 0x4120
movq 0x68(%rsp), %rdi
cmpq %r12, %rdi
je 0x1cc01
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x4300
movq %rbx, %rax
addq $0x210, %rsp            # imm = 0x210
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
jmp 0x1cc29
jmp 0x1cc29
jmp 0x1cc29
jmp 0x1cc29
jmp 0x1cc29
jmp 0x1cc29
jmp 0x1cc29
jmp 0x1cc29
jmp 0x1cc29
jmp 0x1cc29
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
je 0x1cc5c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x4300
jmp 0x1cc5c
jmp 0x1cc59
jmp 0x1cc59
jmp 0x1cc59
jmp 0x1cc59
jmp 0x1cc59
jmp 0x1cc59
jmp 0x1cc59
jmp 0x1cc59
jmp 0x1cc59
jmp 0x1cc59
movq %rax, %rbx
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1cc97
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x4300
jmp 0x1cc97
jmp 0x1cc94
jmp 0x1cc94
jmp 0x1cc94
jmp 0x1cc94
jmp 0x1cc94
jmp 0x1cc94
jmp 0x1cc94
jmp 0x1cc94
jmp 0x1cc94
jmp 0x1cc94
jmp 0x1cc94
movq %rax, %rbx
jmp 0x1ccb8
movq %rax, %rbx
movq 0x1e2fa(%rip), %rsi     # 0x3af98
leaq 0x88(%rsp), %rdi
callq 0x4220
leaq 0x108(%rsp), %rdi
callq 0x4120
movq 0x68(%rsp), %rdi
cmpq %r12, %rdi
je 0x1cccf
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x4300
movq %rbx, %rdi
callq 0x4540
nop