text: В языке C он выглядит так: while (i != j) { if (i > j) i -= j; else j -= i; } А на ассемблере ARM — так: loop CMP Ri, Rj; set condition «NE» if (i != j), ; "GT" if (i > j), ; or "LT" if (i < j) SUBGT Ri, Ri, Rj ; if "GT" (greater than), i = i-j; SUBLT Rj, Rj, Ri ; if "LT" (less than), j = j-i; BNE loop ; if "NE" (not equal), then loop Из кода видно, что использование предикации позволило полностью избежать ветвления в операторах else и then.