Я не понимаю смещения, рассчитанного для инструкций перехода (b и bl по адресам 0x00011004 и 0x00011010), связанных с разобранным кодом, перечисленным ниже.Мне интересно, что в списке шестнадцатеричных кодов смещения кажутся 0x000001 и 0x000002.Коды операций для условий b (EA) и bl (EB) были такими, как я ожидал.
Спасибо за каждую подсказку заранее
MyAssemblerFunc:
00011000 stmdb sp!, {r0 - r3, lr}
00011004 b 00011010
00011008 mov r0, r0
0001100C mov r0, r0
00011010 bl |PrintHelloWorld ( 11020h )|
00011014 ldmia sp!, {r0 - r3, lr}
Связанный шестнадцатеричный код
0x00011000 0f 40 2d e9 .@-é
0x00011004 01 00 00 ea ...ê
0x00011008 00 00 a0 e1 .. á
0x0001100C 00 00 a0 e1 .. á
0x00011010 02 00 00 eb ...ë
0x00011014 0f 40 bd e8 .@.è
0x00011018 00 00 a0 e1 .. á
0x0001101C 00 00 a0 e1 .. á