ARM汇编代码

时间:2013-10-27 13:03:58

标签: assembly arm

我是ARM架构的初学者。我有一个汇编程序(ARM arch)的程序,我必须在程序中的每个字符串是什么意思。这是什么意思?我找不到有关它的信息。请帮帮我。感谢你。

@ args = 0, pretend = 0, frame = 40
@ frame_needed = 0, uses_anonymous_args = 0
fstmfdd>sp!, {d8, d9}
bl<>__aeabi_l2d
it eq
fmdrr<->d6, r0, r1
fdivd<->d7, d8, d6
faddd<->d9, d9, d7
flds<-->s11, [sp, #4]<->@ int
.word<->0

1 个答案:

答案 0 :(得分:0)

FMDRR将数据从两个ARM1136寄存器传输到VFP11(顶点浮点)双精度寄存器。在这种情况下,它从寄存器r0和r1传输位,以在VFP11寄存器d6中形成双精度(double变量)值。

FDIV是浮点除法,最后的“D”是“双精度”标志,因为你要划分两个double类型的值。在这种情况下d7 = d8 / d6

FADD是浮点加法,类似于上一个命令。在这种情况下d9 = d9 + d7

FLD是浮点加载,最后的“S”是“单个”精度标志,因为您传递的值是单个CPU字的长度。 [sp,#4]表示您正在加载sp后4个字存储的数据(例如,如果寄存器sp是第100个字,则得到第104个字)。 @int是转换标志。在这种情况下s11 = [sp+4]

检查ARM Information Center以获取更多参考。

相关问题