arm の逆アセンブルで s0 に任意の float を直接設定する方法についてですが、
r0 に対する MOV 即値命令(例:E3A0000X = MOV r0,#X)のように、
任意の float 値を「即値として」VFP レジスタに直接埋め込む命令は ARM には存在しません。
float の設定は、一般的に以下のいずれかの方法を使用します。
【方法1:リテラル定数からロードする】
VLDR s0, =1.23
逆アセンブルでは
VLDR s0, [pc, #imm]
となり、実際の float ビット列は定数プール(literal pool)に配置されます。
【方法2:汎用レジスタ経由でビット列を転送する】
MOV r0, #0x3F800000 ; 1.0f の IEEE754 ビットパターン
VMOV s0, r0 ; r0 → s0 へビット列コピー
必要に応じて 32bit 値は MOV + MOVT で構成します。
なお ARMv7 以降には
VMOV.F32 s0, #imm
という浮動小数即値命令もありますが、表現できる値は極めて限定的で、
任意の float 値を代入する用途には適しません。
以上の理由から、任意 float の設定には
・VLDR によるリテラルロード
・VMOV による汎用レジスタ経由
のいずれかを使用するのが一般的です。