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

posted @ 2020-12-27 00:16  范哥范小飞  阅读(273)  评论(0编辑  收藏  举报