void setup() {
// put your setup code here, to run once:
volatile char *dirF;
dirF=0x30;
*dirF=0xff;
}
int pow(int a,int b){//(9) && (10)
if(b==0) return 1;
else{
int power=1;
for(int i=0;i<b;i++){
power=power*a;
}
return power;
}
}
void loop() {
// put your main code here, to run repeatedly:
volatile unsigned char *outF;
outF=0x31;
//(1)
// for(volatile long i=0;i<4;i++){
// *outF=136>>i;
// for(volatile long j=0;j<600000;j++);
// }
//(2)
// for(volatile long i=0;i<4;i++){
// *outF=17<<i;
// for(volatile long j=0;j<600000;j++);
// }
//(3)
// for(int i=0;i<8;i++){
// *outF=1<<i;
// for(volatile long j=0;j<600000;j++);
// }
// for(int i=0;i<8;i++){
// *outF=128>>i;
// for(volatile long j=0;j<600000;j++);
// }
//(4)=
// for(int i=0;i<4;i++){
// if(i==0){
// *outF=1;
// for(volatile long j=0;j<600000;j++);
// continue;
// }
// if(i%2==0){
// *outF=*outF>>1;
// for(volatile long j=0;j<600000;j++);
// }
// else{
// *outF=*outF<<2;
// for(volatile long j=0;j<600000;j++);
// }
// }
// for(int i=0;i<4;i++){
// if(i==0){
// *outF=16;
// for(volatile long j=0;j<600000;j++);
// continue;
// }
// if(i%2==0){
// *outF=*outF>>1;
// for(volatile long j=0;j<600000;j++);
// }
// else{
// *outF=*outF<<2;
// for(volatile long j=0;j<600000;j++);
// }
// }
//(5)
// *outF=3;
// for(volatile long j=0;j<600000;j++);
// *outF=192;
// for(volatile long j=0;j<600000;j++);
// *outF=12;
// for(volatile long j=0;j<600000;j++);
// *outF=48;
// for(volatile long j=0;j<600000;j++);
//(6)
// for(int i=0;i<4;i++){
// if(i==0){
// *outF=48;
// for(volatile long j=0;j<600000;j++);
// continue;
// }
// if(i%2){
// int k=i*2;
// *outF=*outF>>k;
// for(volatile long j=0;j<600000;j++);
// }
// else{
// int k=i*2;
// *outF=*outF<<k;
// for(volatile long j=0;j<600000;j++);
// }
// }
//(7)
// volatile long k;
// *outF=7;
// for(volatile long j=0;j<600000;j++);
// k=*outF | 224;
// k=k & 248;
// *outF=k;
// for(volatile long j=0;j<600000;j++);
// k=*outF | 24;
// k=k & 24;
// *outF=k;
// for(volatile long j=0;j<600000;j++);
//(8)
// volatile long k;
// *outF=24;
// for(volatile long j=0;j<600000;j++);
// k=*outF | 224;
// k=k & 224;
// *outF=k;
// for(volatile long j=0;j<600000;j++);
// *outF=*outF>>5;
// for(volatile long j=0;j<600000;j++);
//(9)
// *outF=0;
// for(int i=0;i<8;i++){
// *outF=*outF+(pow(2,i));
// for(volatile long j=0;j<600000;j++);
// }
//(10)
volatile long sum=0;
volatile long k;
for(int i=7;i>=0;i--){
if(i==7){
*outF=128;
for(volatile long j=0;j<600000;j++);
continue;
}
else{
k=pow(2,i);
sum=*outF+k;
*outF=sum;
for(volatile long j=0;j<600000;j++);
}
}
}