// File: /workspace/github_cpp_makefile_star2_O2/iZhangHui[P]CppPrimer/CH08_TheIOLibrary/examples/clearIO.cc
// Function: main
int main()
{
	cout << "before read" << endl;
	if (cin.good()) cout << "cin's good" << endl;
	if (cin.bad()) cout << "cin's bad" << endl;
	if (cin.fail()) cout << "cin's fail" << endl;
	if (cin.eof()) cout << "cin's eof" << endl;
	
	read();
	cout << "after read" << endl;
	if (cin.good()) cout << "cin's good" << endl;
	if (cin.bad()) cout << "cin's bad" << endl;
	if (cin.fail()) cout << "cin's fail" << endl;
	if (cin.eof()) cout << "cin's eof" << endl;
	
	off();
	cout << "after off" << endl;
	if (cin.good()) cout << "cin's good" << endl;
	if (cin.bad()) cout << "cin's bad" << endl;
	if (cin.fail()) cout << "cin's fail" << endl;
	if (cin.eof()) cout << "cin's eof" << endl;
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
pushq %rax
movq 0x2db7(%rip), %rdi      # 0x3fd0
leaq 0xde4(%rip), %rsi       # 0x2004
callq 0x1060
movq %rax, %rdi
callq 0x1030
movq 0x2dac(%rip), %rbx      # 0x3fe0
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x20(%rbx,%rax), %eax
testl %eax, %eax
jne 0x1269
movq 0x2d86(%rip), %rdi      # 0x3fd0
leaq 0xdbf(%rip), %rsi       # 0x2010
callq 0x1060
movq %rax, %rdi
callq 0x1030
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x20(%rbx,%rax), %eax
testb $0x1, %al
je 0x1293
movq 0x2d5c(%rip), %rdi      # 0x3fd0
leaq 0xda0(%rip), %rsi       # 0x201b
callq 0x1060
movq %rax, %rdi
callq 0x1030
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x20(%rbx,%rax), %eax
testb $0x5, %al
je 0x12bd
movq 0x2d32(%rip), %rdi      # 0x3fd0
leaq 0xd80(%rip), %rsi       # 0x2025
callq 0x1060
movq %rax, %rdi
callq 0x1030
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x20(%rbx,%rax), %eax
testb $0x2, %al
je 0x12dc
movq 0x2d08(%rip), %rdi      # 0x3fd0
leaq 0xd61(%rip), %rsi       # 0x2030
callq 0x1060
movq %rax, %rdi
callq 0x1030
callq 0x11cc
movq 0x2ce8(%rip), %rdi      # 0x3fd0
leaq 0xd4b(%rip), %rsi       # 0x203a
callq 0x1060
movq %rax, %rdi
callq 0x1030
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x20(%rbx,%rax), %eax
testl %eax, %eax
jne 0x1331
movq 0x2cbe(%rip), %rdi      # 0x3fd0
leaq 0xcf7(%rip), %rsi       # 0x2010
callq 0x1060
movq %rax, %rdi
callq 0x1030
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x20(%rbx,%rax), %eax
testb $0x1, %al
je 0x135b
movq 0x2c94(%rip), %rdi      # 0x3fd0
leaq 0xcd8(%rip), %rsi       # 0x201b
callq 0x1060
movq %rax, %rdi
callq 0x1030
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x20(%rbx,%rax), %eax
testb $0x5, %al
je 0x1385
movq 0x2c6a(%rip), %rdi      # 0x3fd0
leaq 0xcb8(%rip), %rsi       # 0x2025
callq 0x1060
movq %rax, %rdi
callq 0x1030
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x20(%rbx,%rax), %eax
testb $0x2, %al
je 0x13a4
movq 0x2c40(%rip), %rdi      # 0x3fd0
leaq 0xc99(%rip), %rsi       # 0x2030
callq 0x1060
movq %rax, %rdi
callq 0x1030
callq 0x11e9
movq 0x2c20(%rip), %rdi      # 0x3fd0
leaq 0xc8e(%rip), %rsi       # 0x2045
callq 0x1060
movq %rax, %rdi
callq 0x1030
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x20(%rbx,%rax), %eax
testl %eax, %eax
jne 0x13f9
movq 0x2bf6(%rip), %rdi      # 0x3fd0
leaq 0xc2f(%rip), %rsi       # 0x2010
callq 0x1060
movq %rax, %rdi
callq 0x1030
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x20(%rbx,%rax), %eax
testb $0x1, %al
je 0x1423
movq 0x2bcc(%rip), %rdi      # 0x3fd0
leaq 0xc10(%rip), %rsi       # 0x201b
callq 0x1060
movq %rax, %rdi
callq 0x1030
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x20(%rbx,%rax), %eax
testb $0x5, %al
je 0x144d
movq 0x2ba2(%rip), %rdi      # 0x3fd0
leaq 0xbf0(%rip), %rsi       # 0x2025
callq 0x1060
movq %rax, %rdi
callq 0x1030
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x20(%rbx,%rax), %eax
testb $0x2, %al
je 0x146c
movq 0x2b78(%rip), %rdi      # 0x3fd0
leaq 0xbd1(%rip), %rsi       # 0x2030
callq 0x1060
movq %rax, %rdi
callq 0x1030
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %rbp
retq