汇编 浮点指令FLD,FSTP,FADD与FPU寄存器

Posted whzym111

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编 浮点指令FLD,FSTP,FADD与FPU寄存器相关的知识,希望对你有一定的参考价值。

知识点:
? 浮点数的存放方式
? st0至st7
? FLD,FST,FADD指令


一、浮点数的存放方式
00401000  /$  55            PUSH EBP
00401001  |.  8BEC          MOV EBP,ESP
00401003  |.  51            PUSH ECX                                 ;  float f;
00401004  |.  D905 F0204000 FLD DWORD PTR DS:[4020F0]                ;  8.765
0040100A  |.  D95D FC       FSTP DWORD PTR SS:[EBP-4]
0040100D  |.  D945 FC       FLD DWORD PTR SS:[EBP-4]
00401010  |.  DC05 E8204000  FADD QWORD PTR DS:[4020E8]               ;  1.0
00401016  |.  D95D FC       FSTP DWORD PTR SS:[EBP-4]                ;  f=9.765
00401019  |.  33C0          XOR EAX,EAX
0040101B  |.  8BE5          MOV ESP,EBP
0040101D  |.  5D            POP EBP
0040101E  \.  C3            RETN


 二、st0至st7 浮点寄存器

 三 FLD,FSTP,FADD指令
FLD类似于   PUSH指令
FSTP类似于  POP指令
FADD类似于  ADD指令

 

以上是关于汇编 浮点指令FLD,FSTP,FADD与FPU寄存器的主要内容,如果未能解决你的问题,请参考以下文章

浮点 汇编指令基础知识

什么是 SSE 相当于 fstp?

FPU 浮点运算单元和DSP指令

FLD 指令 x64 位

为啥在 MASM 汇编中使用 FPU x87 指令集执行操作时得到无意义的数字?

如何在Micropython汇编语言中测试浮点寄存器的符号