// File: /workspace/github_cpp_makefile_star2_O2/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 %r14
pushq %rbx
subq $0x208, %rsp            # imm = 0x208
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x70(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0x80(%rsp), %rdi
callq 0x4230
leaq 0x90(%rsp), %rdi
movl 0x14(%r14), %esi
callq 0x4210
movl 0x10(%r14), %eax
cmpq $0xa, %rax
ja 0x155d9
leaq 0x10e60(%rip), %rcx     # 0x26128
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x98(%rsp), %rsi
movq %rsp, %rdi
callq 0x4450
leaq 0x10e83(%rip), %rsi     # 0x2616b
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xdcaa
leaq 0x10e72(%rip), %rdx     # 0x2616e
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xdeea
jmp 0x1557b
leaq 0x98(%rsp), %rsi
movq %rsp, %rdi
callq 0x4450
leaq 0x10e44(%rip), %rsi     # 0x2616b
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xdcaa
leaq 0x10e51(%rip), %rdx     # 0x2618c
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xdeea
jmp 0x1557b
leaq 0x98(%rsp), %rsi
movq %rsp, %rdi
callq 0x4450
leaq 0x10e05(%rip), %rsi     # 0x2616b
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xdcaa
leaq 0x10e3a(%rip), %rdx     # 0x261b4
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xdeea
jmp 0x1557b
leaq 0x98(%rsp), %rsi
movq %rsp, %rdi
callq 0x4450
leaq 0x10dc6(%rip), %rsi     # 0x2616b
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xdcaa
leaq 0x10dc2(%rip), %rdx     # 0x2617b
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xdeea
jmp 0x1557b
leaq 0x98(%rsp), %rsi
movq %rsp, %rdi
callq 0x4450
leaq 0x10d87(%rip), %rsi     # 0x2616b
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xdcaa
leaq 0x10d8c(%rip), %rdx     # 0x26184
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xdeea
jmp 0x1557b
leaq 0x98(%rsp), %rsi
movq %rsp, %rdi
callq 0x4450
leaq 0x10d48(%rip), %rsi     # 0x2616b
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xdcaa
leaq 0x10d5f(%rip), %rdx     # 0x26196
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xdeea
jmp 0x1557b
leaq 0x98(%rsp), %rsi
movq %rsp, %rdi
callq 0x4450
leaq 0x10d09(%rip), %rsi     # 0x2616b
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xdcaa
leaq 0x10cfe(%rip), %rdx     # 0x26174
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xdeea
jmp 0x1557b
leaq 0x98(%rsp), %rsi
movq %rsp, %rdi
callq 0x4450
leaq 0x10cca(%rip), %rsi     # 0x2616b
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xdcaa
leaq 0x10ced(%rip), %rdx     # 0x261a2
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xdeea
jmp 0x1557b
leaq 0x98(%rsp), %rsi
movq %rsp, %rdi
callq 0x4450
leaq 0x10c8b(%rip), %rsi     # 0x2616b
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xdcaa
leaq 0x10cb7(%rip), %rdx     # 0x261ab
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xdeea
jmp 0x1557b
leaq 0x98(%rsp), %rsi
movq %rsp, %rdi
callq 0x4450
leaq 0x10c4f(%rip), %rsi     # 0x2616b
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xdcaa
leaq 0x10c8d(%rip), %rdx     # 0x261bd
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xdeea
jmp 0x1557b
leaq 0x98(%rsp), %rsi
movq %rsp, %rdi
callq 0x4450
leaq 0x10c13(%rip), %rsi     # 0x2616b
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xdcaa
leaq 0x10c30(%rip), %rdx     # 0x2619c
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0xdeea
leaq 0x60(%rsp), %rdi
leaq 0x40(%rsp), %r14
movq %r14, %rsi
callq 0x4380
movq %r14, %rdi
callq 0x4598
leaq 0x20(%rsp), %rdi
callq 0x4598
movq %rsp, %rdi
callq 0x4598
leaq 0x60(%rsp), %rsi
movq %rbx, %rdi
callq 0x42b0
leaq 0x80(%rsp), %rdi
callq 0x4260
leaq 0x60(%rsp), %rdi
callq 0x4598
movq %rbx, %rax
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r14
retq
movq 0x1ba10(%rip), %rdi     # 0x30ff0
leaq 0xea3b(%rip), %rsi      # 0x24022
callq 0x4300
leaq 0x10bd3(%rip), %rsi     # 0x261c6
movq %rax, %rdi
callq 0x4300
leaq 0xf275(%rip), %rsi      # 0x24877
movq %rax, %rdi
callq 0x4300
pushq $0x62
popq %rsi
movq %rax, %rdi
callq 0x44f0
leaq 0xea25(%rip), %rsi      # 0x24041
movq %rax, %rdi
callq 0x4300
leaq 0x10bb3(%rip), %rsi     # 0x261de
movq %rax, %rdi
callq 0x4300
movq %rax, %rdi
callq 0x4180
movq 0x1b9ae(%rip), %rdi     # 0x30ff0
leaq 0xe9d9(%rip), %rsi      # 0x24022
callq 0x4300
leaq 0x10b71(%rip), %rsi     # 0x261c6
movq %rax, %rdi
callq 0x4300
leaq 0xf213(%rip), %rsi      # 0x24877
movq %rax, %rdi
callq 0x4300
pushq $0x63
popq %rsi
movq %rax, %rdi
callq 0x44f0
leaq 0xe9c3(%rip), %rsi      # 0x24041
movq %rax, %rdi
callq 0x4300
leaq 0xe9f5(%rip), %rsi      # 0x24082
movq %rax, %rdi
callq 0x4300
movl 0x10(%r14), %esi
movq %rax, %rdi
callq 0x44f0
movq %rax, %rdi
callq 0x4180
jmp 0x155a7
jmp 0x156c2
jmp 0x156c2
jmp 0x156c2
jmp 0x156c2
jmp 0x156c2
jmp 0x156c2
jmp 0x156c2
jmp 0x156c2
jmp 0x156c2
jmp 0x156c2
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x4598
jmp 0x156e8
jmp 0x156e5
jmp 0x156e5
jmp 0x156e5
jmp 0x156e5
jmp 0x156e5
jmp 0x156e5
jmp 0x156e5
jmp 0x156e5
jmp 0x156e5
jmp 0x156e5
movq %rax, %rbx
movq %rsp, %rdi
callq 0x4598
jmp 0x15710
jmp 0x1570d
jmp 0x1570d
jmp 0x1570d
jmp 0x1570d
jmp 0x1570d
jmp 0x1570d
jmp 0x1570d
jmp 0x1570d
jmp 0x1570d
jmp 0x1570d
jmp 0x1570d
movq %rax, %rbx
jmp 0x1571d
movq %rax, %rbx
leaq 0x80(%rsp), %rdi
callq 0x4260
leaq 0x60(%rsp), %rdi
callq 0x4598
movq %rbx, %rdi
callq 0x4520
nop