Hi,
You can use for example halt or wait instruction which will stop core execution.
1. configure 1ms timeout on counter which is capable to trigger interrupt.
2. put core into halt (no execution on core)
2. after timer expire (for example PIT) interrupt will wake up core.
By using the for() cycle you will even increase power consumption as the core will execute jumps in loop. Therefore I am not recommending usage of for() cycle.
Peter