Условная ветвь bhs then
переходит к then:
, если ветвь занята, а также, если она не взята.
Нет очевидной ветви к else:
. Конечно, первая ветвь должна быть bhs else:
, а сообщения поменялись местами.
После первой ветки и ссылки есть другая пара похожих инструкций, на else:
. Таким образом, должна быть безусловная ветвь для предотвращения пропуска блока кода then:
в блок кода else:
, пропуская его.
Так что код должен быть
ldr r3, =intInput
ldr r3, [r3]
cmp r3, #100
bhs else ; changed destination
then:
ldr r0, =strOutputNumSmaller ; swapped messages
bl printf
b cont ; skip next code block
else:
ldr r0, =strOutputNumLarger
bl printf
cont: