ostatnio bawię się troche w edycję softów w motoroloach, jednak nie moge rozszyfrować w jaki sposób kompiler liczy skoki bezwarunkowe.
W nocie katalogowej jest:
Cond+101L+Offset jednak jakoś to sie nie sprawdza w moim kodzie

Chodzi mi o skoki z ardresem powrotu (linkiem) BL
Dla bliskich skoków jest to odległość skoku, jednak dla długich to sie nie sprawdza.
Dla skoku dalekiego instrukcja ma 4 bajty:
np.:
F1 EC F9 0F dla skoku z adresu 1023733A do 1042355C
F6 50 FD 4A dla skoku z adresu 1023739C do 10087E34
F1 54 FF 66 dla skoku z adresu 102373CC do 1038C29C
F0 03 FD 99 dla skoku z adresu 102373E6 do 1023AF1C
F7 FF FF 1B dla skoku z adresu 102373EE do 10237228
Próbowałem liczyć tym sposobem: (adr1-adr2)/2 ale sprawdza sie tylko w niektorych przypadkach.
Myśle że ktoś kto sie zajmuje ARM na codzien powienien wiedzieć jak to liczy kompiler

P.S. Posiadam internet przez GPRS wiec nie moge ściągać żadnych kompilerów ASM dlatego zadaje te pytanie
