У меня проблема с пониманием инструкции ветвления B arm926ejs_reset_handler
, которая переходит на метку arm926ejs_reset_handler:
и, таким образом, игнорирует промежуточный код.Интересно зачем кому-то это делать?
И еще несколько объяснений.Метка __start:
является точкой входа в программу.Строки, которые игнорирует инструкция перехода, - это параметры, которые загрузочный ISROM должен был получить при запуске. Но как загрузочный ISROM может получить эти параметры, если мы перепрыгнем через них?Это не логично для меня.
__start:
arm926ejs_reset:
B arm926ejs_reset_handler
.word 0x41676d69
.word 0,0,0,0,0
image_type:
.word 0x0000000A
sizeOfPermanentCode:
.word (__image_size)
.word 0,0
bootparameter:
.word 0
.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
arm926ejs_reset_handler: