汇编 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指令的缺陷,所以我们都改为下面的汇编代码使用了,自己去写,其中 ...
随机推荐
- 2018-10-27 22:44:33 c language
2018-10-27 22:44:33 c language 标准的C语言并不支持上面的二进制写法,只是有些编译器自己进行了扩展,才支持二进制数字.并不是所有的编译器都支持二进制数字,只有一部分编译 ...
- 数组、ArrayList、链表、LinkedList
数组 数组 数组类型 不可重复 无序(线性查找) 可重复(找到第一个即可) 无序(线性查找) 不可重复 有序(二分查找) 可重复(找到第一个即可) 有序(二分查找) 插入 O(N) O(1) O( ...
- 闲聊jQuery(一)
Write less, do more. 这便是jQuery的宗旨!jQuery,一个高效.精简并且功能丰富的 JavaScript 工具库. 想必,对于每一个前端开发者,一定用过jQuery吧!俗话 ...
- 【SPL标准库专题(3)】 Classes
我把SPL分为四个部分:Iterator,Classes,Datastructures,Function:而其中classes是就是做一些类的介绍(Iterator与Datastructures相关的 ...
- commons-pool 解析
首先抛出个常见的长连接问题: 1 都知道连接MySQL的应用中大多会使用框架例如 c3p0 ,dbcp proxool 等来管理数据库连接池. 数据库连接池毫无疑问都是采用长连接方式. 那么MySQ ...
- 自动代码质量分析(GitLab+JenKins+SonarQube)
自动代码质量分析(GitLab+JenKins+SonarQube) 1.需求场景 开发提交代码自动执行代码质量分析. 2.所需应用 GitLab,JenKins,SonarQube 3.架构图 4. ...
- springmvc 笔记一
Springmvc 处理流程 所需的包 前端配置器 在web.xml中配置 <!-- 配置前端控制器 --> <servlet> <servlet-name>spr ...
- [PC]可用于Windows Server 2008 R2的Xbox One手柄、接收器驱动
让客厅里的Gen8可以玩FC和PS1游戏,折腾了半天,终于将Xbox One手柄驱动弄好: http://www.drvsky.com/Microsoft/Xbox_One.htm http://ww ...
- 高斯消去、追赶法 matlab
1. 分别用Gauss消去法.列主元Gauss消去法.三角分解方法求解方程组 程序: (1)Guess消去法: function x=GaussXQByOrder(A,b) %Gauss消去法 N = ...
- codeforces 671D Roads in Yusland & hdu 5293 Tree chain problem
dp dp优化 dfs序 线段树 算是一个套路.可以处理在树上取链的问题.