PIC P16F690;
Main {
digital_output PORTC;
Loop {
$dummy = 0xFF;
while $dummy != 0 {
$dummy >>= 1;
write PORTC, 1;
sim_assert $dummy > 0x0F, "dummy is > 0x0F";
if $dummy <= 0x0F {
break;
}
}
sim_assert $dummy == 0x0F, "dummy is 0x0F";
while $dummy > 1 {
$dummy >>= 1;
write PORTC, 3;
continue;
}
sim_assert $dummy == 1, "dummy is 1";
if $dummy == TRUE {
write PORTC, 2;
break;
} else {
write PORTC, 4;
continue;
}
}
sim_assert "we have exited the infinite loop 1";
# we have broken from the loop
while TRUE {
write PORTC, 0xFF;
}
}
Simulator {
attach_led PORTC, 8;
stop_after 3s;
}