Ah, I see. It is good to think like that, because it gives you deeper understanding of how things work and why are they written in certain way.
The code snippet
works for all cases. There are cases where you can skip the @END, but then your code will be more "brittle". that is, it can break if you change something unrelated, because it assumes that the value in A is the correct one. And if that happens, the behavior of your program will be quite unpredictable and hard to diagnose.
We can write this in the following way instead:
This way we're setting A only once. And it's still just 2 instructions, because the labels aren't instructions. But then again, why would we want to optimize a NOP infinite loop?