Öncelikle arm bilgim yok ama x86 ya benzediği için anladığım kadarıyla yazdığımı belirteyim.
CMP R0,#2 // bu kısımda karşılaştırma yapıyor.
BMI endFactorial // bu kısım ise koşullu dallanma, yani "R0" #2 a eşit ise(emin değilim) endFactorial a dallan ve fonksiyonu sonlandır .
BEQ endFactorial // bu kısım da koşullu dallanma, büyük ihtimal "R0" 0 olunca endFactorial kısmına dallanıyor, eğer "R0" 0 değilse B loopFactorial çalışır buda koşulsuz dallanma yani direk dallanır buda "R0" 0 olana kadar döngü oluşturuyor.
BX LR // bunun ne olduğunu bende bilmiyordum ama okuduğum kadarıyla bildiğimiz "ret" komutu yani fonksiyonu sonlandır ve geri dön.
Okuduğum kaynaklar:
https://sourceware.org/cgen/gen-doc/arm-thumb-insn.html
https://community.nxp.com/t5/S32K/bx-lr-vs-ret/m-p/1002594
Merhabalar, konuyu açtıktan sonra iyice araştırıp öğrenmiştim. Dediğiniz bir çok şey doğru. Teşekkür ederim zaman harcadığınız için.