Bohužel, jen dopředu:
The branch destination must be within 4 to 130 bytes after the instruction.
Na vyjádření adresy je v instrukčním kódu CBZ/CBNZ pouze 6 bitů.
Druhy pripad je jednoduse resitelny pres CBZ/CBNZ, ten druhy taky, ale pres ruku (preskok podminky na zacatku), tady asi bude lepsi compare a potom branch.
Vetsinou kdyz delam v ASM while tak ho pisu v obou pripadech tak aby v nem byla jen jedna instrukce skoku aby se zbytecne neztracel cas nepodminenym skokem na konci bloku. Tedy while(x) {...} delam jako if(x) do {..} while (x); nikoliv jako loop: if(x) {....; goto loop;}