// File: /workspace/github_c_makefile_star2_O0/bokunimowakaru[P]petit15term/petitPanCake.c
// Function: open_serial_port
int open_serial_port(){
	struct termios ComTio;							// シリアル端末設定用の構造体変数
	speed_t speed = B115200;						// 通信速度の設定
	char modem_dev[15]="/dev/ttyUSBx";				// シリアルポートの初期値
	int i;
	for(i=12;i>=-1;i--){
		if(i>=10) snprintf(&modem_dev[5],8,"rfcomm%1d",i-10);	// ポート探索(rfcomm0-2)
		else if(i>=0) snprintf(&modem_dev[5],8,"ttyUSB%1d",i);	// ポート探索(USB0～9)
		else snprintf(&modem_dev[5],8,"ttyAMA0");	// 拡張IOのUART端子に設定
		ComFd=open(modem_dev, O_RDWR|O_NONBLOCK);	// シリアルポートのオープン
		if(ComFd >= 0){ 							// オープン成功時
			printf("com=%s\n",modem_dev);			// 成功したシリアルポートを表示
			tcgetattr(ComFd, &ComTio_Bk);			// 現在のシリアル端末設定状態を保存
			ComTio.c_iflag = 0; 					// シリアル入力設定の初期化
			ComTio.c_oflag = 0; 					// シリアル出力設定の初期化
			ComTio.c_cflag = CLOCAL|CREAD|CS8;		// シリアル制御設定の初期化
			ComTio.c_lflag = 0; 					// シリアルローカル設定の初期化
			bzero(ComTio.c_cc,sizeof(ComTio.c_cc)); // シリアル特殊文字設定の初期化
			cfsetispeed(&ComTio, speed);			// シリアル入力の通信速度の設定
			cfsetospeed(&ComTio, speed);			// シリアル出力の通信速度の設定
			ComTio.c_cc[VMIN] = 0;					// リード待ち容量0バイト(待たない)
			ComTio.c_cc[VTIME] = 0; 				// リード待ち時間0.0秒(待たない)
			tcflush(ComFd,TCIFLUSH);				// バッファのクリア
			tcsetattr(ComFd, TCSANOW, &ComTio); 	// シリアル端末に設定
			break;									// forループを抜ける
		}
	}
	return ComFd;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl $0x1002, -0x40(%rbp)    # imm = 0x1002
movq 0xd7e(%rip), %rax       # 0x2004
movq %rax, -0x4f(%rbp)
movl 0xd7c(%rip), %eax       # 0x200c
movl %eax, -0x47(%rbp)
movw 0xd76(%rip), %ax        # 0x2010
movw %ax, -0x43(%rbp)
movb 0xd6e(%rip), %al        # 0x2012
movb %al, -0x41(%rbp)
movl $0xc, -0x54(%rbp)
cmpl $-0x1, -0x54(%rbp)
jl 0x13eb
cmpl $0xa, -0x54(%rbp)
jl 0x12e1
leaq -0x4f(%rbp), %rdi
addq $0x5, %rdi
movl -0x54(%rbp), %ecx
subl $0xa, %ecx
movl $0x8, %esi
leaq 0xd3e(%rip), %rdx       # 0x2016
movb $0x0, %al
callq 0x1090
jmp 0x1324
cmpl $0x0, -0x54(%rbp)
jl 0x1307
leaq -0x4f(%rbp), %rdi
addq $0x5, %rdi
movl -0x54(%rbp), %ecx
movl $0x8, %esi
leaq 0xd22(%rip), %rdx       # 0x2020
movb $0x0, %al
callq 0x1090
jmp 0x1322
leaq -0x4f(%rbp), %rdi
addq $0x5, %rdi
movl $0x8, %esi
leaq 0xd0f(%rip), %rdx       # 0x202a
movb $0x0, %al
callq 0x1090
jmp 0x1324
leaq -0x4f(%rbp), %rdi
movl $0x802, %esi            # imm = 0x802
movb $0x0, %al
callq 0x1130
movl %eax, 0x2d96(%rip)      # 0x40d0
cmpl $0x0, 0x2d8f(%rip)      # 0x40d0
jl 0x13db
leaq -0x4f(%rbp), %rsi
leaq 0xce0(%rip), %rdi       # 0x2032
movb $0x0, %al
callq 0x1080
movl 0x2d71(%rip), %edi      # 0x40d0
leaq 0x2d6e(%rip), %rsi      # 0x40d4
callq 0x1110
movl $0x0, -0x3c(%rbp)
movl $0x0, -0x38(%rbp)
movl $0x8b0, -0x34(%rbp)     # imm = 0x8B0
movl $0x0, -0x30(%rbp)
leaq -0x3c(%rbp), %rdi
addq $0x11, %rdi
xorl %esi, %esi
movl $0x20, %edx
callq 0x10a0
movl -0x40(%rbp), %esi
leaq -0x3c(%rbp), %rdi
callq 0x1150
movl -0x40(%rbp), %esi
leaq -0x3c(%rbp), %rdi
callq 0x1060
movb $0x0, -0x25(%rbp)
movb $0x0, -0x26(%rbp)
movl 0x2d0f(%rip), %edi      # 0x40d0
xorl %esi, %esi
callq 0x1070
movl 0x2d02(%rip), %edi      # 0x40d0
xorl %esi, %esi
leaq -0x3c(%rbp), %rdx
callq 0x1120
jmp 0x13eb
jmp 0x13dd
movl -0x54(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x54(%rbp)
jmp 0x12ae
movl 0x2cdf(%rip), %eax      # 0x40d0
addq $0x60, %rsp
popq %rbp
retq
nopw (%rax,%rax)