汇编 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指令的缺陷,所以我们都改为下面的汇编代码使用了,自己去写,其中 ...
随机推荐
- android中checkbox自定义样式
1.首先res/drawable中定义checkbox_style.xml样式: <?xml version="1.0" encoding="utf-8" ...
- nodejs设置NODE_ENV环境变量(1)
看下app.js文件中的一部分代码,如下: //开发环境错误处理 // will print stacktrace if (app.get('env') === 'development') { ap ...
- Python字符串和编码
在最早的时候只有127个字符被编码到计算机里,也就是大小写英文字母.数字和一些符号,这个编码被成为ASCII编码. 但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突 ...
- ejb-jar.xml
所有bean类(无论是会话bean还是实体bean)必须实现的最基本的接口是javax.ejb.EnterpriseBean接口. 所有的会话bean必须实现javax.ejb.SessionBean ...
- ngrep命令用法
ngrep 是grep(在文本中搜索字符串的工具)的网络版,他力求更多的grep特征,用于搜寻指定的数据包.正由于安装ngrep需用到libpcap库, 所以支持大量的操作系统和网络协议.能识别TCP ...
- Zabbix 添加主机,获取模板templateID
添加一个Host Name=Mail CAS_1.1,IP=10.16.3.4的主机,并加入组groupID=30,连接模板templateID=10132. # -*- coding: UTF-8 ...
- tail 尾巴
tail用法:尾巴,取文件的最后N行,默认前10行, -n 2 取前2行-n 2,简写就是-2 -f 文件 跟踪一个文件尾部的时时变化. 克隆出一个窗口执行:循环脚本:for n in `seq 1 ...
- MySQL基础值 存储过程和函数
一.创建存储过程和函数 什么是创建存储过程和函数? 就是将经常使用的一组SQL语句组合在一起,并将这些SQL语句当做一个整体存储在MYSQL服务器中. 创建存储过程的语句是:CREATE PROCE ...
- 动态显示checkbox选中条数
<script> $('input[type=checkbox]').click( function () { $('span#cheak_len').empty(); var len = ...
- 启动报错:Access denied for user 'root'@'localhost' (using password:YES)
项目启动报错:Access denied for user 'root'@'localhost' (using password:YES) 原因:root帐户默认不开放远程访问权限,所以需要修改一下相 ...