Спойлер
Код: Выделить всё
. .word 0x10017000
.word stta+1
stta: add r5, 5
b opu
opu: ldr r2, ddd
add r7, 7
.word 0x88668899
add r8, 3
ddd: .word 0xf10a0a23
add r9, 1
b sttaПрограмма работает успешно без ошибок.
Но замечаю, что Литералы ( .word ) успешно пропускаются виртуальным процессором, как будто машина знает, что их нельзя исполнять.
Вроде в программном коде для реального железа Литералы ( .word ) находятся после окончания кода, чтобы процессор не вздумал их выполнять как команды. Поэтому их не располагают посреди кода, а я, ради эксперимента, расположил и получил неожиданный результат — пропуск любого .word вместо попытки выпольнить .
Это особенность виртуального дебагера?
Или я не правильно понимаю архитектуру cortex m3?
Внизу вложение из моей проги.


