void setup() {
// put your setup code here, to run once:
volatile char *dirf,*dirk,*dirb;
dirf=0x30; *dirf=0xff;
dirk=0x108; *dirk=0x00;
dirb=0x24; *dirb=0x00;
}
void loop() {
// put your main code here, to run repeatedly:
volatile unsigned char *outf,*ink,*inb,readInput,readInputb;
outf=0x31; ink=0x106; inb=0x23;
*outf=255;
//(1)
while(1){
readInput=*ink;
readInputb=*inb;
//(1)
// if(readInput==2){
// *outf=0x02;
// for(volatile long i=0;i<250000;i++);
// *outf=*outf<<1;
// for(volatile long i=0;i<250000;i++);
// *outf=*outf<<3;
// for(volatile long i=0;i<250000;i++);
// *outf=*outf<<1;
// for(volatile long i=0;i<250000;i++);
// }
//(2)
// if(readInput==4){
// *outf=0x04;
// for(volatile long i=0;i<250000;i++);
// *outf=*outf>>1;
// for(volatile long i=0;i<250000;i++);
// *outf=*outf<<6;
// for(volatile long i=0;i<250000;i++);
// *outf=*outf>>3;
// for(volatile long i=0;i<250000;i++);
// }
//(3)
// if((readInput & 0x04)==0x04){
// *outf=0x01;
// for(volatile long i=0;i<250000;i++);
// *outf=*outf<<1;
// for(volatile long i=0;i<250000;i++);
// *outf=*outf<<4;
// for(volatile long i=0;i<250000;i++);
// *outf=*outf<<1;
// for(volatile long i=0;i<250000;i++);
// }
//(4)
// if((readInput & 0x80)==128){
// *outf=0x01;
// for(volatile long i=0;i<250000;i++);
// *outf=*outf<<1;
// for(volatile long i=0;i<250000;i++);
// *outf=*outf<<3;
// for(volatile long i=0;i<250000;i++);
// *outf=*outf<<3;
// for(volatile long i=0;i<250000;i++);
// }
//(5)
// if((readInput & 0x08)==8){
// *outf=0x80;
// for(volatile long i=0;i<250000;i++);
// *outf=*outf>>1;
// for(volatile long i=0;i<250000;i++);
// *outf=*outf>>3;
// for(volatile long i=0;i<250000;i++);
// *outf=*outf>>1;
// for(volatile long i=0;i<250000;i++);
// }
//(6)
// if((readInput & 0x04)==4){
// *outf=0x08;
// for(volatile long i=0;i<250000;i++);
// for(volatile long j=0;j<2;j++){
// *outf=*outf<<2;
// for(volatile long i=0;i<250000;i++);
// }
// *outf=*outf>>1;
// for(volatile long i=0;i<250000;i++);
// }
//(7)
// if((readInput & 0x82)==130){
// *outf=16;
// for(volatile long i=0;i<250000;i++);
// }
//(8)
if(readInput==1){ //(1)
while(1){
readInput=*ink;
if(readInput==8){ //(4)
while(1){
readInput=*ink;
if(readInput==64){ //(7)
while(1){
readInput=*ink;
readInputb=*inb;
if(readInputb==1){ //(9)
*outf=0x80;
for(volatile long long i=0;i<300000;i++);
*outf=0x00;
}
if(*outf==0x00) break;
}
}
if(*outf==0x00) break;
}
}
}
if(*outf==0x00) break;
}
}
}