Ciao,
penso che il metodo migliore per fare quello da te richiesto si quello di creare un "Fake loading"..
In effetti l'idea del ciclo a vuoto potrebbe essere un'idea valutabile ma prova a considerare anche l'utilizzo di un timer.
Se hai praticità in ASM prova a fare una serie di cicli di clock a vuoto, in proporzione alla macchina sul quale gira il software..
(più o meno è il concetto con il quale funzionano quei software per "rallentare" la velocità di un processore, usati per poter utilizzare applicazioni, in gran parte videogiochi, un po datate).
Per quanto riguarda cicli while/for prova a sfruttarli in maniera differente all'interno del codice..
Fammi sapere,
Buon lavoro!