汇编 fsub ,fmul,fdiv,fild,CVTTPS2PI 指令
知识点:
浮点指令 fsub 一、浮点指令fsub
格式
fsub memvar // st0=st0-memvar
知识点:
浮点指令 fmul 一、浮点指令fmul
格式
fmul memvar // st0=st0*memvar int _tmain(int argc, _TCHAR* argv[])
{
double f1,f2;//float;
f1=3.333f;
f2=6.366f;
f1=f1*f2; //00401003 |. 83EC 10 SUB ESP,10 ; double f1,f2;
//00401006 |. DD05 F0204000 FLD QWORD PTR DS:[4020F0]
//0040100C |. DD5D F0 FSTP QWORD PTR SS:[EBP-10] ; f1=[4020f0]=3.333;
//0040100F |. DD05 E8204000 FLD QWORD PTR DS:[4020E8]
//00401015 |. DD5D F8 FSTP QWORD PTR SS:[EBP-8] ; f2=[4020e8]=6.366
//00401018 DD45 F0 FLD QWORD PTR SS:[EBP-10]
//0040101B DC4D F8 FMUL QWORD PTR SS:[EBP-8] ; st0=st0*f2=6.366*3.33
//0040101E DD5D F0 FSTP QWORD PTR SS:[EBP-10] ; f1=21.21788
return 0;
}
知识点:
038-浮点指令FDIV(除)
一、浮点指令FDIV 格式
FDIVmemvar // st0=st0 / memvar int _tmain(int argc, _TCHAR* argv[])
{
float f1,f2;
f1=3.33;
f2=2.00;
f1=f1/f2; //00401003 |. 83EC 08 SUB ESP,8 ; float f1,f2;
//00401006 |. D905 E8204000 FLD DWORD PTR DS:[4020E8]
//0040100C |. D95D F8 FSTP DWORD PTR SS:[EBP-8] ; f1=3.33
//0040100F |. D905 E4204000 FLD DWORD PTR DS:[4020E4]
//00401015 |. D95D FC FSTP DWORD PTR SS:[EBP-4] ; f2=2.00
//00401018 |. D945 F8 FLD DWORD PTR SS:[EBP-8]
//0040101B |. D875 FC FDIV DWORD PTR SS:[EBP-4] ; st0=st0/f2
//0040101E |. D95D F8 FSTP DWORD PTR SS:[EBP-8] ; f1=1.665 return 0;
}
知识点:
038-浮点指令FILD
一、浮点指令FILD格式
整数入栈指令 //fld
FILD memvar // st0=(double)memvar 与之相似的指令有FIST 把st0的数转换成整数放置到变量中
浮点指令CVTTPS2PI 一、浮点指令CVTTPS2PI
把mem这个浮点数截断取整 后放到通用寄存器里边
CVTTPS2PI mm0,mem// mm0 CVTTPS2PI MM0,DQWORD PTR SS:[ebp] //[eax]
CVTTPS2PI MM0,DQWORD PTR SS:[ESP]
汇编 fsub ,fmul,fdiv,fild,CVTTPS2PI 指令的更多相关文章
- 王爽汇编第十章,call和ret指令
目录 王爽汇编第十章,call和ret指令 call和ret指令概述: ret和retf ret指令 retf指令 call 和 ret 的配合使用 call指令详解 call原理 call指令所有写 ...
- 汇编 STOSB, STOSW, STOSD指令
知识点: 汇编指令 STOSB STOSW STOSD 一.汇编指令STOSB 004113AC 8DBD B4FEFFFF LEA EDI,DWORD PTR SS:[EBP-14C] 004113 ...
- ARM汇编中ldr伪指令和ldr指令(转载)
转自:http://blog.csdn.net/ce123_zhouwei/article/details/7182756 ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成, ...
- 《Intel汇编第5版》 Mov指令
一.Mov用于数据传送,用法如下: 二.当传送的数据和目标数据位宽不一致的时候,需要使用MOVZX.MOVSX扩展.MOVZX使用0填充高位,MOVSX使用源操作数最高位填充 下面是汇编代码演示: I ...
- 汇编 OD 标志位 置位相关指令
知识点: l 标志位 置位相关指令 l 标志寄存器PSW 标志寄存器PSW(程序状态字寄存器PSW) 标志寄存器PSW是一个16为的寄存器.它反映了CPU运算的状态特征并且存放某些控制标志. ...
- 汇编 SETG,SETL ,SETGE, SETLE指令
一.SETG SETZ(SETE) //取ZF标志位值 放到寄存器里 SETNZ(SETNE) == > SETG //setg cl//ZF==0 并 SF==0 并 OF==0 时 cl=1 ...
- 汇编:jmp系列跳转指令总结
助记方法: J:跳转C: 进位位置位N: 否S: 符号位置位o: 溢出位置位Z: 零标志位置位E: 等于P:奇偶位置位A: AboveB: BelowL: Less (Little的比较级)G: Gr ...
- 汇编,浮点运算符,fldpi,fmul等指令说明.
协处理器指令系统 协处理器共有68条不同的指令,汇编程序在遇到协处理器指令助记符时,都会将其转换成机器语言的ESC指令,ESC指令代表了协处理器的操作码. 协处理器指令在执行过程中,需要访问内存单元时 ...
- 16汇编第十讲完结Call变为函数以及指令的最后讲解
16汇编完结Call变为函数以及指令的最后讲解 学了10天的16位汇编,这一讲就结束了,这里总结一下昨天的LOOP指令的缺陷,因为lOOP指令的缺陷,所以我们都改为下面的汇编代码使用了,自己去写,其中 ...
随机推荐
- idea 2017破解方法
http://blog.csdn.net/zx110503/article/details/78734428
- unknown host www.baidu.com 解决方法
今晚一开机发现无法更新yum了,本机是连着wife的,咋无法更新呢,作为小白,一脸懵逼.于是ping了一下百度,网络不可达.... 于是我查看了一下DNS,发现设置了,于是看了一下物理机的DNS,发现 ...
- <button>与<input type="button">
在做form表单,点击按钮随机生成两串密钥的时候 1.用第一种按钮的时候,会出现刷新form表单的现象.会把创建密钥前面的输入框中的字消失.虽然能生成密钥1和密钥2,但是会闪一下,随即消失.几个输入框 ...
- python基础之单例设计模式
class Player(): instance = None init_flag = False def __init__(self): if self.init_flag is False: pr ...
- [python]通过uiautomator实现返回当前程序包名
# -*- coding: utf-8 -*- from uiautomator import device as d def getCurrentPackageName(): info = d.in ...
- 01-Angularjs开发环境搭建
一.概述## 时下web前端非常热门,新的框架层出不穷,web前端的三驾马车VueJS.AngularJS.ReactJS发展非常迅猛.其中VueJS是国人开发的项目,百度热点趋势以1000%的速度在 ...
- 异步IO的概念
同步IO是阻塞IO: 异步IO分为两种:1.主动查询是否有数据:2.被动监听是否有数据状态. https://www.cnblogs.com/euphie/p/6376508.html
- [JLOI2013]删除物品
嘟嘟嘟 只要每一次将优先级最高的上面的物品移走,就一定能保证是最优解. 所以我们只要想办法简化这个模拟移物品的过程,看完了题解后,发现可以这么想,我们可以把两个栈头碰头的挨在一起,然后设一个指针代表两 ...
- 【转】1.2 CDN的基本工作过程
1.2 CDN的基本工作过程 使用CDN会极大地简化网站的系统维护工作量,网站维护人员只需将网站内容注入CDN的系统,通过CDN部署在各个物理位置的服务器进行全网分发,就可以实现跨运营商.跨地域的用 ...
- Spring Boot Actuator RCE
来看一下IDEA如何调试Spring Boot 先在https://github.com/artsploit/actuator-testbed下载源码 如下命令就能通过maven环境启动 mvn in ...