I have got to grips with assembly and the timing of outputs, say, for accurate square wave creation or clock (as in alarm clock, etc.) updating.
What I can't figure out is how you do this in C. Surely, it compiles in a way that can't be relied upon for accurate timing purposes?
Even using timers, how do you know exactly how long it will take to perform the tasks after the triggering of the timer?