23、汇编编程中的浮点运算与栈初始状态

汇编编程中的浮点运算与栈初始状态

常见x86 - 64指令

在汇编编程里,有不少常见的x86 - 64指令,下面为大家介绍一些指令及其含义:
| 指令 | 含义 |
| — | — |
| pdivX SRC, DST | 对DST与SRC进行并行除法运算,并将结果存储在DST中(仅适用于整数值) |
| cvtXX2YY SRC, DST | 将SRC的低阶字节从XX指定的类型转换为YY指定类型的DST低阶字节,并非所有类型和组合都适用 |
| lock | 这是一个前缀,可与面向内存的指令结合使用,确保对该地址的缓存具有独占访问权 |
| nop | 执行“无操作”操作 |

浮点运算

计算机在处理数字时,此前我们接触的大多是整数,也就是没有小数点的数。而对于有小数点的十进制数,计算机处理起来存在普遍问题,因为计算机只能存储固定大小、有限的值,可十进制数的长度是任意的,甚至可能是无限长,像1/3的结果就是无限循环小数。

计算机处理小数的方式是按固定精度(有效位数)存储。计算机将十进制数分为三部分存储:符号位、指数和尾数。尾数包含实际要使用的数字,指数表示数字的大小。例如,12345.2可表示为1.23452 * 10^4,这里尾数是1.23452,指数是4,底数为10。但计算机采用的底数是2,所有数字都以X.XXXXX * 2^XXXX的形式存储,比如数字1存储为1.00000 * 2^0。这种存储数字的方式被称为浮点表示法,因为有效数字相对于小数点的位置会随指数变化。

不过,尾数和指数的长度是有限的,这就引发了一些有趣的问题。例如,计算机存储整数时,给它加1,结果就大1;但

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值