Может быть сложно интерпретировать коды условий в отсутствие инструкции CMP
, потому что мнемоника была написана для упрощения интерпретации при наличии CMP
.Но в этом примере все не так плохо: помните, что CMP
- это просто SUBS
, а результат отбрасывается, поэтому
SUBS r1, r1, #0xC9
BLO stop
представляет то же условие, что и
CMP r1, #0xC9
BLO stop
, нооставляет другой результат в r1
.Следовательно, условие состоит в том, что он будет разветвляться, когда r1
(старое значение) равно lo меньше 0xC9, в смысле без знака, другими словами, когда SUBS
приводит к переносу значения без знакаr1
.