AT&T语法汇编浮点运算的参考

在过去的一周中,我一直在尝试使用AT&T语法在x86汇编的浮点运算上找到一个体面的资源。 理想情况下,一个操作码列表,它们做什么以及存储哪些浮点数。 我熟悉IEEE 754的表示。 我不熟悉浮点堆栈和任何涉及浮点算术的程序集。

奇怪的是这很难找到。

编辑:我一直在看gcc -S输出在过去的一个月学习大会。 我就是这样想出除了浮点运算之外的所有东西。 即使经过几十个没有优化编译的小程序,我仍然无法弄清浮点操作码和堆栈。 我只在网上找到简单的例子。


好的。 首先从Intel语法开始,因为大多数x86汇编编码器都使用它。 英特尔的手册是学习x86如何处理浮点数据的好资源。

一般来说学习x86汇编后,AT&T语法并不难学。 主要要注意的是:

  • 寄存器的前缀为% ; 数字常量的前缀为$
  • 大多数双操作数指令的寄存器顺序都是交换的(即源首先,最后一个目标)
  • 指令名称指定大小; 所以,而不是mov dword ptr [ebx], 1337 ,你会说movl $1337, (%ebx)
  • 链接地址: http://www.djcxy.com/p/48395.html

    上一篇: A reference for AT&T syntax assembly floating point arithmetic

    下一篇: How do I invoke a Delegate faster than by using DynamicInvoke?