// File: pelrun[P]aft/CDSKFile.cpp
// Function: CDSKSector::DisplayInfo(std::ostream&) const
void CDSKSector::DisplayInfo(std::ostream &str) const
{
	str << "\tSect ";
	str.setf(std::ios::dec, std::ios::basefield);
	str.fill(' ');
	str.width(3);
	str << Index << ":ID #";
	str.setf(std::ios::hex, std::ios::basefield);
	str.fill('0');
	str.width(2);
	str << (int)SectorID << ",Size #";
	str.setf(std::ios::hex, std::ios::basefield);
	str.fill('0');
	str.width(4);
	str << (int)(128 << SectorSize) << "(" << (int)SectorSize << "),Cyl ";
	str.setf(std::ios::dec, std::ios::basefield);
	str.fill(' ');
	str.width(3);
	str << (int)Track << ",Head ";
	str.fill(' ');
	str.width(3);
	str << (int)Side << ",Chk #";
	str.setf(std::ios::hex, std::ios::basefield);
	str.fill('0');
	str.width(2);
	str << (int)Checksum;

	if ((FDCStatus1 & 0x80) != 0)
		str << "/EN";
	if ((FDCStatus1 & 0x20) != 0)
		str << "/DE";
	if ((FDCStatus1 & 0x10) != 0)
		str << "/OR";
	if ((FDCStatus1 & 0x04) != 0)
		str << "/ND";
	if ((FDCStatus1 & 0x02) != 0)
		str << "/NW";
	if ((FDCStatus1 & 0x01) != 0)
		str << "/MA";

	if ((FDCStatus2 & 0x40) != 0)
		str << "/CM";
	if ((FDCStatus2 & 0x20) != 0)
		str << "/DD";
	if ((FDCStatus2 & 0x10) != 0)
		str << "/WC";
	if ((FDCStatus2 & 0x08) != 0)
		str << "/SH";
	if ((FDCStatus2 & 0x04) != 0)
		str << "/SN";
	if ((FDCStatus2 & 0x02) != 0)
		str << "/BC";
	if ((FDCStatus2 & 0x01) != 0)
		str << "/MD";

	str.setf(std::ios::dec, std::ios::basefield);

	if (DataSize != 0 && DataSize != (128 << SectorSize))
	{
		str << "Real size " << DataSize;
	}
	if (CopyOf != -1)
	{
		str << " (Copy of sector Num " << CopyOf << ")";
	}

	str << std::endl;
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq %rsi, 0x8(%rsp)
movq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rdi
leaq 0xd256(%rip), %rsi      # 0x157c9
callq 0x42f0
movq 0x8(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0x2, %esi
movl $0x4a, %edx
callq 0x7300
movq 0x8(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0x20, %esi
callq 0x43b0
movq 0x8(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0x3, %esi
callq 0xb080
movq (%rsp), %rax
movq 0x8(%rsp), %rdi
movl 0x14(%rax), %esi
callq 0x45f0
movq %rax, %rdi
leaq 0xd1f6(%rip), %rsi      # 0x157d0
callq 0x42f0
movq 0x8(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0x8, %esi
movl $0x4a, %edx
callq 0x7300
movq 0x8(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0x30, %esi
callq 0x43b0
movq 0x8(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0x2, %esi
callq 0xb080
movq (%rsp), %rax
movq 0x8(%rsp), %rdi
movzbl 0x2(%rax), %esi
callq 0x45f0
movq %rax, %rdi
leaq 0xd194(%rip), %rsi      # 0x157d6
callq 0x42f0
movq 0x8(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0x8, %esi
movl $0x4a, %edx
callq 0x7300
movq 0x8(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0x30, %esi
callq 0x43b0
movq 0x8(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0x4, %esi
callq 0xb080
movq (%rsp), %rax
movq 0x8(%rsp), %rdi
movzbl 0x3(%rax), %ecx
movl $0x80, %esi
shll %cl, %esi
callq 0x45f0
movq %rax, %rdi
leaq 0xd1bb(%rip), %rsi      # 0x1586c
callq 0x42f0
movq %rax, %rdi
movq (%rsp), %rax
movzbl 0x3(%rax), %esi
callq 0x45f0
movq %rax, %rdi
leaq 0xd10e(%rip), %rsi      # 0x157de
callq 0x42f0
movq 0x8(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0x2, %esi
movl $0x4a, %edx
callq 0x7300
movq 0x8(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0x20, %esi
callq 0x43b0
movq 0x8(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0x3, %esi
callq 0xb080
movq (%rsp), %rax
movq 0x8(%rsp), %rdi
movzbl (%rax), %esi
callq 0x45f0
movq %rax, %rdi
leaq 0xd0ae(%rip), %rsi      # 0x157e5
callq 0x42f0
movq 0x8(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0x20, %esi
callq 0x43b0
movq 0x8(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0x3, %esi
callq 0xb080
movq (%rsp), %rax
movq 0x8(%rsp), %rdi
movzbl 0x1(%rax), %esi
callq 0x45f0
movq %rax, %rdi
leaq 0xd068(%rip), %rsi      # 0x157ec
callq 0x42f0
movq 0x8(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0x8, %esi
movl $0x4a, %edx
callq 0x7300
movq 0x8(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0x30, %esi
callq 0x43b0
movq 0x8(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0x2, %esi
callq 0xb080
movq (%rsp), %rax
movq 0x8(%rsp), %rdi
movzbl 0x10(%rax), %esi
callq 0x45f0
movq (%rsp), %rax
movzbl 0x4(%rax), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x8805
movq 0x8(%rsp), %rdi
leaq 0xcff3(%rip), %rsi      # 0x157f3
callq 0x42f0
movq (%rsp), %rax
movzbl 0x4(%rax), %eax
andl $0x20, %eax
cmpl $0x0, %eax
je 0x8826
movq 0x8(%rsp), %rdi
leaq 0xcfd6(%rip), %rsi      # 0x157f7
callq 0x42f0
movq (%rsp), %rax
movzbl 0x4(%rax), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x8847
movq 0x8(%rsp), %rdi
leaq 0xcfb9(%rip), %rsi      # 0x157fb
callq 0x42f0
movq (%rsp), %rax
movzbl 0x4(%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x8868
movq 0x8(%rsp), %rdi
leaq 0xcf9c(%rip), %rsi      # 0x157ff
callq 0x42f0
movq (%rsp), %rax
movzbl 0x4(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x8889
movq 0x8(%rsp), %rdi
leaq 0xcf7f(%rip), %rsi      # 0x15803
callq 0x42f0
movq (%rsp), %rax
movzbl 0x4(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x88aa
movq 0x8(%rsp), %rdi
leaq 0xcf62(%rip), %rsi      # 0x15807
callq 0x42f0
movq (%rsp), %rax
movzbl 0x5(%rax), %eax
andl $0x40, %eax
cmpl $0x0, %eax
je 0x88cb
movq 0x8(%rsp), %rdi
leaq 0xcf45(%rip), %rsi      # 0x1580b
callq 0x42f0
movq (%rsp), %rax
movzbl 0x5(%rax), %eax
andl $0x20, %eax
cmpl $0x0, %eax
je 0x88ec
movq 0x8(%rsp), %rdi
leaq 0xcf28(%rip), %rsi      # 0x1580f
callq 0x42f0
movq (%rsp), %rax
movzbl 0x5(%rax), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x890d
movq 0x8(%rsp), %rdi
leaq 0xcf0b(%rip), %rsi      # 0x15813
callq 0x42f0
movq (%rsp), %rax
movzbl 0x5(%rax), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x892e
movq 0x8(%rsp), %rdi
leaq 0xceee(%rip), %rsi      # 0x15817
callq 0x42f0
movq (%rsp), %rax
movzbl 0x5(%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x894f
movq 0x8(%rsp), %rdi
leaq 0xced1(%rip), %rsi      # 0x1581b
callq 0x42f0
movq (%rsp), %rax
movzbl 0x5(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x8970
movq 0x8(%rsp), %rdi
leaq 0xceb4(%rip), %rsi      # 0x1581f
callq 0x42f0
movq (%rsp), %rax
movzbl 0x5(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x8991
movq 0x8(%rsp), %rdi
leaq 0xce97(%rip), %rsi      # 0x15823
callq 0x42f0
movq 0x8(%rsp), %rdi
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0x2, %esi
movl $0x4a, %edx
callq 0x7300
movq (%rsp), %rax
movzwl 0x6(%rax), %eax
cmpl $0x0, %eax
je 0x89f3
movq (%rsp), %rcx
movzwl 0x6(%rcx), %eax
movzbl 0x3(%rcx), %ecx
movl $0x80, %edx
shll %cl, %edx
movl %edx, %ecx
cmpl %ecx, %eax
je 0x89f3
movq 0x8(%rsp), %rdi
leaq 0xce49(%rip), %rsi      # 0x15827
callq 0x42f0
movq %rax, %rdi
movq (%rsp), %rax
movzwl 0x6(%rax), %esi
callq 0x45c0
movq (%rsp), %rax
cmpl $-0x1, 0x18(%rax)
je 0x8a2c
movq 0x8(%rsp), %rdi
leaq 0xce29(%rip), %rsi      # 0x15832
callq 0x42f0
movq %rax, %rdi
movq (%rsp), %rax
movl 0x18(%rax), %esi
callq 0x45f0
movq %rax, %rdi
leaq 0xc644(%rip), %rsi      # 0x1506b
callq 0x42f0
movq 0x8(%rsp), %rdi
movq 0x12570(%rip), %rsi     # 0x1afa8
callq 0x4360
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)