.text
.set DEC_OPB, 0xC944
ldrne r2,r2num
ldr r6,r6num
ldr r5,r5num
...
r2num: .word 258014
r6num: .word 0x00800080
r5num: .word DEC_OPB
когда вы выполняете ldr r2, = 0x1234, ассемблер ищет место поблизости, чтобы разместить это число, а затем использует относительный адрес компьютера для его загрузки. Если ассемблер не может найти место, где вы получаете ошибку, я не знаю, была ли это причина жалобы. не похоже на правильную ошибку. Выше приведены два решения, в которых вы явно размещаете значения и не полагаетесь на ассемблер, либо помещаете .pool или другую подобную директиву в тень ветви или в другое место, через которое вы не будете выполнять, чтобы заставить ассемблер использовать его поместите эти виды констант.
b somewhere
.pool
Я подозреваю из сообщения об ошибке что-то еще может происходить. оставьте ответ, отредактируйте или задайте вопрос, если это так.