常用浮点数汇编指令
2023-04-19 22:47:22 0 举报
AI智能生成
汇编语言中,常用浮点数汇编指令
作者其他创作
大纲/内容
常用浮点数指令表
FLD
FLD IN
将浮点数 IN 压入 ST(0) 中,IN (mem 32/64/80)
FILD
FILD IN
将整数 IN 压入 ST(0) 中,IN (mem 32/64/80)
FLDZ
FLZD
将 0.0 压入 ST(0) 中
FLD1
FLD1
将 1.0 压入 ST(0) 中
FST
FST OUT
ST(0) 中的数据以浮点形式存入 OUT 地址中。OUT (mem 32/64)
FSTP
FSTP OUT
和 FST 指令一样,但会执行一次出栈操作
FIST
FIST OUT
ST(0) 数据以整数形式存入 OUT 地址中,OUT(mem 32/64)
FISTP
FISTP OUT
和 FISTP 指令一样,但会执行一次出栈操作
FCOM
FCOM IN
将 IN 地址数据与 ST(0)进行实数比较,影响对应标记位
FTST
FTST
比较 ST(0) 是否为 0.0,影响对应标记位
FADD
FADD IN
将 IN 地址内的数据与 ST(0) 做加法运算,结果放入 ST(0) 中
FADDP
FADDP ST(0), ST
将 ST(N) 中的数据与 ST(0) 中的数据做加法运算, N 为 0 ~ 7 中的任意一个数,先执行一次出栈操作,然后将相加结果放入 ST(0) 中保存
常用 SSE 浮点数指令表
MOVSS
xmm1, xmm2
xmm1, xmm32
xmm2/mem32, xmm1
xmm1, xmm32
xmm2/mem32, xmm1
传送单精度数
MOVSD
xmm1, xmm2
xmm1, mem32
xmm2/mem64, xmm1
xmm1, mem32
xmm2/mem64, xmm1
传送双精度数
MOVAPS
xmm1, xmm2/mem128
xmm1/mem128, xmm2
xmm1/mem128, xmm2
传送对齐的封装好的单精度数
MOVAPD
xmm1, xmm2/mem128
xmm1/mem128, xmm2
xmm1/mem128, xmm2
传送对齐的封装好的双精度数
ADDSS
xmm1, xmm2/mem32
单精度数加法
ADDSD
xmm1, xmm2/mem64
双精度数加法
ADDPS
xmm1, xmm2/mem128
并行 4 个单精度数加法
ADDPD
xmm1, xmm2/mem128
并行 2 个双精度数加法
SUBSS
xmm1, xmm2/mem32
单精度数减法
SUBSD
xmm1, xmm2/mem64
双精度数减法
SUBPS
xmm1, xmm2/mem128
并行 4 个单精度数减法
SUBPD
xmm1, xmm2/mem128
并行 2 个双精度数减法
MULSS
xmm1, xmm2/mem32
单精度数乘法
MULSD
xmm1, xmm2/mem64
双精度数乘法
MULPS
xmm1, xmm2/mem128
并行 4 个单精度数乘法
MULPD
xmm1, xmm2/mem128
并行 2 个双精度数乘法
DIVSS
xmm1, xmm2/mem32
单精度数除法
DIVSD
xmm1, xmm2/mem64
双精度数除法
DIVPS
xmm1, xmm2/mem128
并行 4 个单精度数除法
DIVPD
xmm1, xmm2/mem128
并行 2 个双精度数除法
CVTTSS2SI
reg32, xmm1/mem32
reg64, xmm1/mem64
reg64, xmm1/mem64
用截断的方法将单精度数转换为整数
CVTTSD2SI
reg32, xmm1/mem64
reg64, xmm1/mem64
reg64, xmm1/mem64
用截断的方法将双精度数转换为整数
CVTSI2SS
xmm1, reg32/mem32
xmm1, reg64/mem64
xmm1, reg64/mem64
将整数转换为单精度数
CTVSI2SD
xmm1, reg32/mem32
xmm1, reg64/mem64
xmm1, reg64/mem64
将整数转换为双精度数
0 条评论
下一页