Il simulatore LEGv8 al momento sbaglia le istruzioni BL. Il LR viene erroneamente caricato con l'indirizzo di destinazione invece che con quello di partenza+4.
Di seguito viene riportata un codice che simula il comportamento corretto del BL con tre istruzioni:
BL lb1
lb1: ADDI lr, lr, #8
B myfun
MOV x0, xzr
ADDI x0, x0, #1
myfun:
MOV x1, xzr
BR lr
Le prime tre istruzioni implementano il funzionamento corretto del BL.