// File: 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 %rbp
movq %rsp, %rbp
subq $0x660, %rsp            # imm = 0x660
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x44f0
leaq -0x1b8(%rbp), %rdi
callq 0x4270
jmp 0x30f7a
leaq -0x1a8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x14(%rax), %esi
callq 0x44c0
jmp 0x30f8f
movq -0x10(%rbp), %rax
movl 0x10(%rax), %eax
movq %rax, -0x5f0(%rbp)
subq $0xa, %rax
ja 0x3188f
movq -0x5f0(%rbp), %rax
leaq 0x22133(%rip), %rcx     # 0x530e8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x31a6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x31a62
leaq -0x228(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x4370
jmp 0x31001
leaq 0x22123(%rip), %rsi     # 0x5312b
leaq -0x208(%rbp), %rdi
leaq -0x228(%rbp), %rdx
callq 0x179c0
jmp 0x3101d
leaq 0x2210a(%rip), %rdx     # 0x5312e
leaq -0x1e8(%rbp), %rdi
leaq -0x208(%rbp), %rsi
callq 0x18020
jmp 0x31039
leaq -0x30(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x4470
leaq -0x1e8(%rbp), %rdi
callq 0x46e8
leaq -0x208(%rbp), %rdi
callq 0x46e8
leaq -0x228(%rbp), %rdi
callq 0x46e8
jmp 0x31a23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x310a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
leaq -0x208(%rbp), %rdi
callq 0x46e8
leaq -0x228(%rbp), %rdi
callq 0x46e8
jmp 0x31a62
leaq -0x288(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x4370
jmp 0x310ca
leaq 0x2205a(%rip), %rsi     # 0x5312b
leaq -0x268(%rbp), %rdi
leaq -0x288(%rbp), %rdx
callq 0x179c0
jmp 0x310e6
leaq 0x22047(%rip), %rdx     # 0x53134
leaq -0x248(%rbp), %rdi
leaq -0x268(%rbp), %rsi
callq 0x18020
jmp 0x31102
leaq -0x30(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0x4470
leaq -0x248(%rbp), %rdi
callq 0x46e8
leaq -0x268(%rbp), %rdi
callq 0x46e8
leaq -0x288(%rbp), %rdi
callq 0x46e8
jmp 0x31a23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x3116d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
leaq -0x268(%rbp), %rdi
callq 0x46e8
leaq -0x288(%rbp), %rdi
callq 0x46e8
jmp 0x31a62
leaq -0x2e8(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x4370
jmp 0x31193
leaq 0x21f91(%rip), %rsi     # 0x5312b
leaq -0x2c8(%rbp), %rdi
leaq -0x2e8(%rbp), %rdx
callq 0x179c0
jmp 0x311af
leaq 0x21f85(%rip), %rdx     # 0x5313b
leaq -0x2a8(%rbp), %rdi
leaq -0x2c8(%rbp), %rsi
callq 0x18020
jmp 0x311cb
leaq -0x30(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
callq 0x4470
leaq -0x2a8(%rbp), %rdi
callq 0x46e8
leaq -0x2c8(%rbp), %rdi
callq 0x46e8
leaq -0x2e8(%rbp), %rdi
callq 0x46e8
jmp 0x31a23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x31236
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
leaq -0x2c8(%rbp), %rdi
callq 0x46e8
leaq -0x2e8(%rbp), %rdi
callq 0x46e8
jmp 0x31a62
leaq -0x348(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x4370
jmp 0x3125c
leaq 0x21ec8(%rip), %rsi     # 0x5312b
leaq -0x328(%rbp), %rdi
leaq -0x348(%rbp), %rdx
callq 0x179c0
jmp 0x31278
leaq 0x21ec5(%rip), %rdx     # 0x53144
leaq -0x308(%rbp), %rdi
leaq -0x328(%rbp), %rsi
callq 0x18020
jmp 0x31294
leaq -0x30(%rbp), %rdi
leaq -0x308(%rbp), %rsi
callq 0x4470
leaq -0x308(%rbp), %rdi
callq 0x46e8
leaq -0x328(%rbp), %rdi
callq 0x46e8
leaq -0x348(%rbp), %rdi
callq 0x46e8
jmp 0x31a23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x312ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
leaq -0x328(%rbp), %rdi
callq 0x46e8
leaq -0x348(%rbp), %rdi
callq 0x46e8
jmp 0x31a62
leaq -0x3a8(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x4370
jmp 0x31325
leaq 0x21dff(%rip), %rsi     # 0x5312b
leaq -0x388(%rbp), %rdi
leaq -0x3a8(%rbp), %rdx
callq 0x179c0
jmp 0x31341
leaq 0x21e04(%rip), %rdx     # 0x5314c
leaq -0x368(%rbp), %rdi
leaq -0x388(%rbp), %rsi
callq 0x18020
jmp 0x3135d
leaq -0x30(%rbp), %rdi
leaq -0x368(%rbp), %rsi
callq 0x4470
leaq -0x368(%rbp), %rdi
callq 0x46e8
leaq -0x388(%rbp), %rdi
callq 0x46e8
leaq -0x3a8(%rbp), %rdi
callq 0x46e8
jmp 0x31a23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x313c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
leaq -0x388(%rbp), %rdi
callq 0x46e8
leaq -0x3a8(%rbp), %rdi
callq 0x46e8
jmp 0x31a62
leaq -0x408(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x4370
jmp 0x313ee
leaq 0x21d36(%rip), %rsi     # 0x5312b
leaq -0x3e8(%rbp), %rdi
leaq -0x408(%rbp), %rdx
callq 0x179c0
jmp 0x3140a
leaq 0x21d45(%rip), %rdx     # 0x53156
leaq -0x3c8(%rbp), %rdi
leaq -0x3e8(%rbp), %rsi
callq 0x18020
jmp 0x31426
leaq -0x30(%rbp), %rdi
leaq -0x3c8(%rbp), %rsi
callq 0x4470
leaq -0x3c8(%rbp), %rdi
callq 0x46e8
leaq -0x3e8(%rbp), %rdi
callq 0x46e8
leaq -0x408(%rbp), %rdi
callq 0x46e8
jmp 0x31a23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x31491
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
leaq -0x3e8(%rbp), %rdi
callq 0x46e8
leaq -0x408(%rbp), %rdi
callq 0x46e8
jmp 0x31a62
leaq -0x468(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x4370
jmp 0x314b7
leaq 0x21c6d(%rip), %rsi     # 0x5312b
leaq -0x448(%rbp), %rdi
leaq -0x468(%rbp), %rdx
callq 0x179c0
jmp 0x314d3
leaq 0x21c82(%rip), %rdx     # 0x5315c
leaq -0x428(%rbp), %rdi
leaq -0x448(%rbp), %rsi
callq 0x18020
jmp 0x314ef
leaq -0x30(%rbp), %rdi
leaq -0x428(%rbp), %rsi
callq 0x4470
leaq -0x428(%rbp), %rdi
callq 0x46e8
leaq -0x448(%rbp), %rdi
callq 0x46e8
leaq -0x468(%rbp), %rdi
callq 0x46e8
jmp 0x31a23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x3155a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
leaq -0x448(%rbp), %rdi
callq 0x46e8
leaq -0x468(%rbp), %rdi
callq 0x46e8
jmp 0x31a62
leaq -0x4c8(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x4370
jmp 0x31580
leaq 0x21ba4(%rip), %rsi     # 0x5312b
leaq -0x4a8(%rbp), %rdi
leaq -0x4c8(%rbp), %rdx
callq 0x179c0
jmp 0x3159c
leaq 0x21bbf(%rip), %rdx     # 0x53162
leaq -0x488(%rbp), %rdi
leaq -0x4a8(%rbp), %rsi
callq 0x18020
jmp 0x315b8
leaq -0x30(%rbp), %rdi
leaq -0x488(%rbp), %rsi
callq 0x4470
leaq -0x488(%rbp), %rdi
callq 0x46e8
leaq -0x4a8(%rbp), %rdi
callq 0x46e8
leaq -0x4c8(%rbp), %rdi
callq 0x46e8
jmp 0x31a23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x31623
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
leaq -0x4a8(%rbp), %rdi
callq 0x46e8
leaq -0x4c8(%rbp), %rdi
callq 0x46e8
jmp 0x31a62
leaq -0x528(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x4370
jmp 0x31649
leaq 0x21adb(%rip), %rsi     # 0x5312b
leaq -0x508(%rbp), %rdi
leaq -0x528(%rbp), %rdx
callq 0x179c0
jmp 0x31665
leaq 0x21aff(%rip), %rdx     # 0x5316b
leaq -0x4e8(%rbp), %rdi
leaq -0x508(%rbp), %rsi
callq 0x18020
jmp 0x31681
leaq -0x30(%rbp), %rdi
leaq -0x4e8(%rbp), %rsi
callq 0x4470
leaq -0x4e8(%rbp), %rdi
callq 0x46e8
leaq -0x508(%rbp), %rdi
callq 0x46e8
leaq -0x528(%rbp), %rdi
callq 0x46e8
jmp 0x31a23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x316ec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
leaq -0x508(%rbp), %rdi
callq 0x46e8
leaq -0x528(%rbp), %rdi
callq 0x46e8
jmp 0x31a62
leaq -0x588(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x4370
jmp 0x31712
leaq 0x21a12(%rip), %rsi     # 0x5312b
leaq -0x568(%rbp), %rdi
leaq -0x588(%rbp), %rdx
callq 0x179c0
jmp 0x3172e
leaq 0x21a3f(%rip), %rdx     # 0x53174
leaq -0x548(%rbp), %rdi
leaq -0x568(%rbp), %rsi
callq 0x18020
jmp 0x3174a
leaq -0x30(%rbp), %rdi
leaq -0x548(%rbp), %rsi
callq 0x4470
leaq -0x548(%rbp), %rdi
callq 0x46e8
leaq -0x568(%rbp), %rdi
callq 0x46e8
leaq -0x588(%rbp), %rdi
callq 0x46e8
jmp 0x31a23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x317b5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
leaq -0x568(%rbp), %rdi
callq 0x46e8
leaq -0x588(%rbp), %rdi
callq 0x46e8
jmp 0x31a62
leaq -0x5e8(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x4370
jmp 0x317db
leaq 0x21949(%rip), %rsi     # 0x5312b
leaq -0x5c8(%rbp), %rdi
leaq -0x5e8(%rbp), %rdx
callq 0x179c0
jmp 0x317f7
leaq 0x2197f(%rip), %rdx     # 0x5317d
leaq -0x5a8(%rbp), %rdi
leaq -0x5c8(%rbp), %rsi
callq 0x18020
jmp 0x31813
leaq -0x30(%rbp), %rdi
leaq -0x5a8(%rbp), %rsi
callq 0x4470
leaq -0x5a8(%rbp), %rdi
callq 0x46e8
leaq -0x5c8(%rbp), %rdi
callq 0x46e8
leaq -0x5e8(%rbp), %rdi
callq 0x46e8
jmp 0x31a23
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x3187e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
leaq -0x5c8(%rbp), %rdi
callq 0x46e8
leaq -0x5e8(%rbp), %rdi
callq 0x46e8
jmp 0x31a62
movq 0x3475a(%rip), %rdi     # 0x65ff0
leaq 0x1f79d(%rip), %rsi     # 0x5103a
callq 0x4380
movq %rax, -0x5f8(%rbp)
jmp 0x318ab
movq -0x5f8(%rbp), %rdi
leaq 0x218cd(%rip), %rsi     # 0x53186
callq 0x4380
movq %rax, -0x600(%rbp)
jmp 0x318c7
movq -0x600(%rbp), %rdi
leaq 0x1ff60(%rip), %rsi     # 0x51835
callq 0x4380
movq %rax, -0x608(%rbp)
jmp 0x318e3
movq -0x608(%rbp), %rdi
movl $0x62, %esi
callq 0x4610
movq %rax, -0x610(%rbp)
jmp 0x318fd
movq -0x610(%rbp), %rdi
leaq 0x1f74e(%rip), %rsi     # 0x51059
callq 0x4380
movq %rax, -0x618(%rbp)
jmp 0x31919
movq -0x618(%rbp), %rdi
leaq 0x21877(%rip), %rsi     # 0x5319e
callq 0x4380
movq %rax, -0x620(%rbp)
jmp 0x31935
movq -0x620(%rbp), %rdi
movq 0x3466d(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x3194a
movq 0x3469f(%rip), %rdi     # 0x65ff0
leaq 0x1f6e2(%rip), %rsi     # 0x5103a
callq 0x4380
movq %rax, -0x628(%rbp)
jmp 0x31966
movq -0x628(%rbp), %rdi
leaq 0x21812(%rip), %rsi     # 0x53186
callq 0x4380
movq %rax, -0x630(%rbp)
jmp 0x31982
movq -0x630(%rbp), %rdi
leaq 0x1fea5(%rip), %rsi     # 0x51835
callq 0x4380
movq %rax, -0x638(%rbp)
jmp 0x3199e
movq -0x638(%rbp), %rdi
movl $0x63, %esi
callq 0x4610
movq %rax, -0x640(%rbp)
jmp 0x319b8
movq -0x640(%rbp), %rdi
leaq 0x1f693(%rip), %rsi     # 0x51059
callq 0x4380
movq %rax, -0x648(%rbp)
jmp 0x319d4
movq -0x648(%rbp), %rdi
leaq 0x1f6b8(%rip), %rsi     # 0x5109a
callq 0x4380
movq %rax, -0x650(%rbp)
jmp 0x319f0
movq -0x650(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x10(%rax), %esi
callq 0x4610
movq %rax, -0x658(%rbp)
jmp 0x31a0c
movq -0x658(%rbp), %rdi
movq 0x34596(%rip), %rsi     # 0x65fb0
callq 0x43c0
jmp 0x31a21
jmp 0x31a23
movq -0x8(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x4320
jmp 0x31a32
movq -0x8(%rbp), %rax
movq %rax, -0x660(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0x42a0
leaq -0x30(%rbp), %rdi
callq 0x46e8
movq -0x660(%rbp), %rax
addq $0x660, %rsp            # imm = 0x660
popq %rbp
retq
leaq -0x1b8(%rbp), %rdi
callq 0x42a0
leaq -0x30(%rbp), %rdi
callq 0x46e8
movq -0x1c0(%rbp), %rdi
callq 0x4630
nopw %cs:(%rax,%rax)
nopl (%rax)