Sí, tal y como suponia es distinto de en rubí, en rubí lo hace tal cual sin BL ni nada..
Va directo al grano, claro que fueron programados de "distinta manera" .. Por algo le dicen al ruby "codigo basurilla" (es muy mejorable comparado con FR/Esmeralda)
Y respecto a esos lsl, no te preocupes.. hay MUUUUCHO codigo basura dentro del rom (Y luego nos preguntamos como nosotros bugeamos juegos de la nada xD)
He llegado a ver cosas como cargar un puntero en un registro, y luego machacarlo con un mov rx,#value.. sin haberlo pusheao ni guardado nada en dicho offset..
O lo que tu dices:
lsl r3, r3, #16
lsr r3, r3, #16
Está guay, hacer operaciones contradictorias xD Es como si hiciese add r1,#1 y luego sub r1,#1.
Carecen de sentido desde mi punto de vista..