// File: carellano8[P]Proyecto-Redes-I-2017/main.cpp
// Function: main
int main(int argc, char **argv)
{

    int r;
    ////////////////////////////////////////////////////////
    do{
        cout<<"Ingrese ( 1 ) Para emisor o ( 0 ) Para receptor:"<<endl<<"-->";
        cin>>r;
        if(!(r==0 || r==1)){
            cout<<"Ingrese una opcion valida"<<endl;
        }
    }while(!(r==0 || r==1) );
    ////////////////////////////////////////////////////////

    ////////////////////////////////////////////////////////
    if(r){
        do{
            cout<<"Ingrese ( 1 ) Para CRC16 o ( 0 ) Para Hamming:"<<endl<<"-->";
            cin>>r;
            if(!(r==0 || r==1)){
                cout<<"Ingrese una opcion valida"<<endl;
            }
        }while(!(r==0 || r==1) );
        emisor(r);

    }
    else{
        do{
            cout<<"Ingrese ( 1 ) Para CRC16 o ( 0 ) Para Hamming:"<<endl<<"-->";
            cin>>r;
            if(!(r==0 || r==1)){
                cout<<"Ingrese una opcion valida"<<endl;
            }
        }while(!(r==0 || r==1) );
        receptor(r);
    }
    ////////////////////////////////////////////////////////
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq 0x99b3(%rip), %rdi      # 0xcfd0
leaq 0x69e0(%rip), %rsi      # 0xa004
callq 0x31f0
movq %rax, %rdi
movq 0x998d(%rip), %rsi      # 0xcfc0
callq 0x3210
movq %rax, %rdi
leaq 0x69f3(%rip), %rsi      # 0xa035
callq 0x31f0
movq 0x9992(%rip), %rdi      # 0xcfe0
leaq -0x14(%rbp), %rsi
callq 0x3130
cmpl $0x0, -0x14(%rbp)
je 0x3685
cmpl $0x1, -0x14(%rbp)
je 0x3685
movq 0x9966(%rip), %rdi      # 0xcfd0
leaq 0x69c8(%rip), %rsi      # 0xa039
callq 0x31f0
movq %rax, %rdi
movq 0x9940(%rip), %rsi      # 0xcfc0
callq 0x3210
jmp 0x3687
movb $0x1, %al
cmpl $0x0, -0x14(%rbp)
movb %al, -0x15(%rbp)
je 0x369c
cmpl $0x1, -0x14(%rbp)
sete %al
movb %al, -0x15(%rbp)
movb -0x15(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x3616
cmpl $0x0, -0x14(%rbp)
je 0x3755
jmp 0x36b5
movq 0x9914(%rip), %rdi      # 0xcfd0
leaq 0x6990(%rip), %rsi      # 0xa053
callq 0x31f0
movq %rax, %rdi
movq 0x98ee(%rip), %rsi      # 0xcfc0
callq 0x3210
movq %rax, %rdi
leaq 0x6954(%rip), %rsi      # 0xa035
callq 0x31f0
movq 0x98f3(%rip), %rdi      # 0xcfe0
leaq -0x14(%rbp), %rsi
callq 0x3130
cmpl $0x0, -0x14(%rbp)
je 0x3724
cmpl $0x1, -0x14(%rbp)
je 0x3724
movq 0x98c7(%rip), %rdi      # 0xcfd0
leaq 0x6929(%rip), %rsi      # 0xa039
callq 0x31f0
movq %rax, %rdi
movq 0x98a1(%rip), %rsi      # 0xcfc0
callq 0x3210
jmp 0x3726
movb $0x1, %al
cmpl $0x0, -0x14(%rbp)
movb %al, -0x16(%rbp)
je 0x373b
cmpl $0x1, -0x14(%rbp)
sete %al
movb %al, -0x16(%rbp)
movb -0x16(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x36b5
movl -0x14(%rbp), %edi
callq 0x3800
jmp 0x37f2
jmp 0x3757
movq 0x9872(%rip), %rdi      # 0xcfd0
leaq 0x68ee(%rip), %rsi      # 0xa053
callq 0x31f0
movq %rax, %rdi
movq 0x984c(%rip), %rsi      # 0xcfc0
callq 0x3210
movq %rax, %rdi
leaq 0x68b2(%rip), %rsi      # 0xa035
callq 0x31f0
movq 0x9851(%rip), %rdi      # 0xcfe0
leaq -0x14(%rbp), %rsi
callq 0x3130
cmpl $0x0, -0x14(%rbp)
je 0x37c6
cmpl $0x1, -0x14(%rbp)
je 0x37c6
movq 0x9825(%rip), %rdi      # 0xcfd0
leaq 0x6887(%rip), %rsi      # 0xa039
callq 0x31f0
movq %rax, %rdi
movq 0x97ff(%rip), %rsi      # 0xcfc0
callq 0x3210
jmp 0x37c8
movb $0x1, %al
cmpl $0x0, -0x14(%rbp)
movb %al, -0x17(%rbp)
je 0x37dd
cmpl $0x1, -0x14(%rbp)
sete %al
movb %al, -0x17(%rbp)
movb -0x17(%rbp), %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x3757
movl -0x14(%rbp), %edi
callq 0x3b90
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)