// Answer in your own words, why you believe the generated code differs?
//
// It starts the wait function where it just loops nops.
/*
It starts the wait function where it just loops nops for a certain number of times that fits the wait value. Each time it will remove 1 from r0 and check if it resulted in a negative number or not. If it results in a negative number it will not branch and the wait is over. So if you insert 100 it will probably divide 100 on 8 and then insert the nearest hole number of that in to r0.