intel高级乘除法汇编指令
intel高级除法汇编指令:fimul
fistp是一条FPU浮点指令,作用是将st(0)中的浮点数以整数的形式存放到操作数指向的内存中,并在寄存器栈中弹bai出一个数据.st(0)是FPU中的寄存器
在逆向分析二进制程序时,经常看到ST0~ST7寄存器
在包含浮点运算(FPU)的处理器有8个寄存器,分别为ST0~ST7,它们有80bit宽。这些寄存器用来存储32位或
假设有以下除法:
(a*1000000)➗b=c
finit ;初始化操作
fild b ; fild是将整数转化为长双精压栈,b的值被压入st0
fild a ;压入st0 b被转到压入st1
fimul 1000000 ;st0*1000000
fdivr ;st1/st0 保存在st0,st1清零
fistp c ;取64位值,出栈到c
invoke printf,offset Fmt,c
参考资料:
百度百科FINIT 指令:https://baike.baidu.com/item/FINIT/6085560?fr=aladdin
VC++获取当前系统时间日期 GetSystemTime()函数的用法:https://blog.csdn.net/woshinia/article/details/7841860
ST0~ST7寄存器的含义:http://blog.sina.com.cn/s/blog_53fdf1590102x781.html