Here's how I understand, how interrupt should work (for my case of course).

There are two "independent" code blocks. The MCU works like this - 4 clock ticks (if I'm not mistaken, minimal amount needed to execute one command) are given to code block #1, next 4 ticks - to block #2, and so on. Since these "ticks" are going at high speed, from the user side, response is fluid and smooth.

am I wrong?