汇编语言浮点数指令集

汇编语言浮点数指令集

;///
/
; 浮点数载入指令
;///
; 助记符 操作数 功能
fld memory(real) ; 将存储器中的实型压人堆栈
fild memory(integer) ; 将存储器的整型数值转化为浮点数并压人堆栈
fbld memory(BCD) ; 将存储器的 BCD码转化为浮点数并压人堆栈
fld st(num) ; 将浮点型寄存器中的数值压入堆栈
fld1 (none) ;1.0 压人堆栈
fldz (none) ;0.0 压人堆栈
fldpi (none) ; Π(pi) 压人堆栈
fldl2e (none) ;log2(e) 压人堆栈
fldl2t (none) ;log2(10) 压人堆栈
fldlg2 (none) ;log10(2) 压人堆栈
fldln2 (none) ;loge(2) 压人堆栈
finit (none) ; 初始化浮点型单元,并清空 8 个寄存器的内容
;///
/
; 浮点数数据存储指令
;///
; 助记符 操作数 功能
fst st(num) ; 复制 st 的值来替换 st(num) 的内容;只有 st(num) 是受到影响
fstp st(num) ; 复制 st 的值来替换 st(num) 的内容 ;st 出栈
fst memory(real) ; 复制 st 的值为实型数,存入存储器;堆栈不受影响
fstp memory(real) ; 复制 st 的值为实型数,存入存储器; st 出栈
fist memory(integer) ; 复制 st 的值,并转换为整型数存入存储器
fistp memory(integer) ; 复制 st 的值,并转换为整型数存入存储器 ;st 出栈
fbstp memory(BCD) ; 复制 st 的值,并转换为 BCD码存入存储器; st 出栈
fxch (none) ; 互换 st 和 st(1)
fxch st(num) ; 互换 st 和 st(num)
;///
;/// 浮点型加法指令
;//
; 助记符 操作数 功能
fadd (none) ; 将 st 和 st(1) 出栈;将两个值相加;并将它们的和入栈
fadd st(num),st ; 将 st(num) 和 st 相加;用和替换 st(num)
fadd st,st(num) ; 将 st 和 st(num) 相加;用和替换 st
fadd memory(real) ; 将 st 和存储器中的实型数相加;用和替换 st
fiadd memory(integer) ; 将 st 和存储器中的整型数相加,用和替换 st
faddp st(num),st ; 将 st(num) 和 st 相加,用和来替换 st(num), 将 st 出栈
;//
;/// 浮点型 乘法指令
;//
; 助记符 操作数 功能
fmul (none) ; 将 st 和 st(1) 出栈;并将它们的值相乘;乘积人栈
fmul st(num),st ; 将 st(num) 和 st 相乘;用乘积来替换 st(num)
fmul st,st(num) ; 将 st 和 st(num) 相乘;用乘积来替换 st
fmul memory(real) ; 将 st 和存储器中的实型数相乘;用乘积来替换 st
fimul memory(integer) ; 将 st 和存储器中的整型数相乘,用乘积来替换 st
fmulp st(num),st ; 将 st(num) 和 st 相乘;乘积来替换 st(num); 并将 st 出栈
; 助记符 操作数 功能
fsub (none) ; 将 st 和 st(1) 出栈,计算 st(1) 减 st 的值;将差入栈
fsub st(num),st ; 计算 st(num) 减 st 的值;用差值替换 st(num)
fsub st,st(num) ; 计算 st 减 st(num) 的值;用差值来替换 st
fsub memory(real) ; 计算 st 减存储器中的实型数的值;用差值来替换 st
fisub memory(integer) ; 计算 st 减存储器中的整型数的值;用差值替换 st
fsubp st(num),st ; 计算 st(num) 减 st 的值;用差值替换 st(num); 将 st 出栈
fsubr (none) ; 将 st 和 st(1) 出栈;计算 st 减 st(1) 的 值;将差值入栈
fsubr st(num),st ; 计算 st 减 st(num) 的值,用差值替换 st(num)
fsubr st,st(num) ; 计算 st(num) 减 st 的值,用差值来替换 st
fsubr memory(real) ; 计算存储器中的实型数值减 st 的值,用差值替换 st
fisubr memory(integer) ; 计算存储器中的整型数值减 st 的值 ; 用差值替换 st
fsubrp st(num),st ; 计算 st 减 st(num) 的值,用差值替换 st(num); 将 st 出栈
;//
;/// 浮点型除法指令
;//
; 助记符 操作数 功能
fdiv (none) ; 将 st 和 st(1) 出栈;计算 st(1)/st 的值;并将商入栈
fdiv st(num),st ; 计算 st(num)/st 的值;用商来替换 st(num)
fdiv st,st(num) ; 计算 st/st(num) 的值;用商来替换 st
fdiv memory(real) ; 计算 st/ 存储器中的实型数;用商来替换 st
fidiv memory(integer); 计算 st/ 存储器中的整型数;用商来替换 st
fdivp st(num),st ; 计算 st(num)/st 的值;用商来替换 st(num) ;并将 st 出栈
fdivr (none) ; 将 st 和 st(1) 出栈;计算 st/st(1) 的值;并将商入栈
fdivr st(num),st ; 计算 st/st(num) 的值;用商来替换 st(num)
fdivr st,st(num) ; 计算 st(num)/st 的值;用商来替换 st
fdivr memory(real) ; 计算存储器中的实型数 /st ;商来替换 st
fidivr memory(integer); 计算存储器中的整型数 /st ;用商来替换 st
fdivrp st(num),st ; 计算 st/st(num) 的值,用商来替换 st(num) ;并将 st 出栈
;//
;/// 附 加的浮点型指令
;/
; 助记符 操作数 功能
fabs (none) ;st := |st| (绝对值)
fchs (none) ;st := -st( 相反数 )
frndint (none) ; 对 st 取整
fsqrt (none) ; 用 st 的平方根来替换 st
;/
;/// 浮点型比较指令
;
; 助记符 操作数 功能
fcom (none) ; 比较 st 和 st(1)
fcom st(num) ; 比较 st 和 st(num)
fcom memory(real) ; 比较 st 和存储器中的实型数
ficom memory(integer) ; 比较 st 和存储器中的整型数
ftst (none) ; 比较 st 和 0.0
fcomp (none) ; 比较 st 和 st(1) ;然后出栈
fcomp st(num) ; 比较 st 和 st(num) ;然后出栈
fcomp memory(real) ; 比较 st 和存储器中的实型数;然后出栈
fcomp memory(integer) ; 比较 st 和存储器中的整型数;然后出栈
fcompp (none) ; 比较 st 和 st(1); 然后两次出栈
;
;/// 混 合浮点型指令
;
; 助记符 操作数 功能
fstsw memory WORD ; 复制状态寄存器到存储器字
fstsw ax ; 复制状态寄存器到 ax 寄存器
fstcw memory WORD ; 复制控制字寄存器到存储器
fldcw memory WORD ; 复制存储器字到控制字寄存器

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值