汇编语⾔浮点数指令集;
;                    浮点数载⼊指令
;///
;助记符 操作数          功能
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和s
t(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  memoryWORD    ;复制状态寄存器到存储器字
fstsw  ax              ;复制状态寄存器到ax寄存器
fstcw  memoryWORD    ;复制控制字寄存器到存储器
fldcw  memoryWORD    ;复制存储器字到控制字寄存器

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。