麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 邏輯算法 > 正文

(看雪教程) 第2章 第4節 8088 浮點指令

2019-09-10 09:02:07
字體:
來源:轉載
供稿:網友

對下面的指令先做一些說明:
st(i):代表浮點寄存器,所說的出棧、入棧操作都是對st(i)的影響
srcdstdestop等都是指指令的操作數,src表示源操作數,dst/dest表示目的操作數
mem8mem16mem32mem64mem80等表示是內存操作數,后面的數值表示該操作數的內存位數(8位為一字節)
x <- y 表示將y的值放入x,例st(0) <- st(0) - st(1)表示將st(0)-st(1)的值放入浮點寄存器st(0)
1. 數據傳遞和對常量的操作指令

指令格式
指令含義
執行的操作

FLD src
裝入實數到st(0)
st(0) <- src (mem32/mem64/mem80)

FILD src
裝入整數到st(0)
st(0) <- src (mem16/mem32/mem64)

FBLD src
裝入BCD數到st(0)
st(0) <- src (mem80)


FLDZ
將0.0裝入st(0)
st(0) <- 0.0

FLD1
將1.0裝入st(0)
st(0) <- 1.0

FLDPI
將pi裝入st(0)
st(0) <- ?(ie pi)

FLDL2T
將log2(10)裝入st(0)
st(0) <- log2(10)

FLDL2E
將log2(e)裝入st(0)
st(0) <- log2(e)

FLDLG2
將log10(2)裝入st(0)
st(0) <- log10(2)

FLDLN2
將loge(2)裝入st(0)
st(0) <- loge(2)


FST dest
保存實數st(0)到dest
dest <- st(0) (mem32/mem64)

FSTP dest

dest <- st(0) (mem32/mem64/mem80);然后再執行一次出棧操作

FIST dest
將st(0)以整數保存到dest
dest <- st(0) (mem32/mem64)

FISTP dest

dest <- st(0) (mem16/mem32/mem64);然后再執行一次出棧操作

FBST dest
將st(0)以BCD保存到dest
dest <- st(0) (mem80)

FBSTP dest

dest<- st(0) (mem80);然后再執行一次出棧操作


2.比較指令

指令格式
指令含義
執行的操作

FCOM
實數比較
將標志位設置為 st(0) - st(1) 的結果標志位

FCOM op
實數比較
將標志位設置為 st(0) - op (mem32/mem64)的結果標志位


FICOM op
和整數比較
將Flags值設置為st(0)-op 的結果op (mem16/mem32)

FICOMP op
和整數比較
將st(0)和op比較 op(mem16/mem32)后;再執行一次出棧操作


FTST
零檢測
將st(0)和0.0比較

FUCOM st(i)

比較st(0) 和st(i) [486]

FUCOMP st(i)

比較st(0) 和st(i),并且執行一次出棧操作

FUCOMPP st(i)

比較st(0) 和st(i),并且執行兩次出棧操作

FXAM

Examine: Eyeball st(0) (set condition codes)


3.運算指令

指令格式
指令含義
執行的操作

加法

FADD
加實數
st(0) <-st(0) + st(1)

FADD src

st(0) <-st(0) + src (mem32/mem64)

FADD st(i)st

st(i) <- st(i) + st(0)

FADDP st(i)st

st(i) <- st(i) + st(0);然后執行一次出棧操作

FIADD src
加上一個整數
st(0) <-st(0) + src (mem16/mem32)

減法

FSUB
減去一個實數
st(0) <- st(0) - st(1)

FSUB src

st(0) <-st(0) - src (reg/mem)

FSUB st(i)st

st(i) <-st(i) - st(0)

FSUBP st(i)st

st(i) <-st(i) - st(0),然后執行一次出棧操作

FSUBR st(i)st
用一個實數來減
st(0) <- st(i) - st(0)

FSUBRP st(i)st

st(0) <- st(i) - st(0),然后執行一次出棧操作

FISUB src
減去一個整數
st(0) <- st(0) - src (mem16/mem32)

FISUBR src
用一個整數來減
st(0) <- src - st(0) (mem16/mem32)

乘法

FMUL
乘上一個實數
st(0) <- st(0) * st(1)

FMUL st(i)

st(0) <- st(0) * st(i)

FMUL st(i)st

st(i) <- st(0) * st(i)

FMULP st(i)st

st(i) <- st(0) * st(i),然后執行一次出棧操作

FIMUL src
乘上一個整數
st(0) <- st(0) * src (mem16/mem32)

除法

FDIV
除以一個實數
st(0) <-st(0) /st(1)

FDIV st(i)

st(0) <- st(0) /t(i)

FDIV st(i)st

st(i) <-st(0) /st(i)

FDIVP st(i)st

st(i) <-st(0) /st(i),然后執行一次出棧操作

FIDIV src
除以一個整數
st(0) <- st(0) /src (mem16/mem32)

FDIVR st(i)st
用實數除
st(0) <- st(i) /st(0)

FDIVRP st(i)st

FDIVRP st(i)st

FIDIVR src
用整數除
st(0) <- src /st(0) (mem16/mem32)


FSQRT
平方根
st(0) <- sqrt st(0)


FSCALE
2的st(0)次方
st(0) <- 2 ^ st(0)

FXTRACT
Extract exponent:
st(0) <-exponent of st(0); and gets pushed

st(0) <-significand of st(0)


FPREM
取余數
st(0) <-st(0) MOD st(1)

FPREM1
取余數(IEEE),同FPREM,但是使用IEEE標準[486]

FRNDINT
取整(四舍五入)
st(0) <- INT( st(0) ); depends on RC flag


FABS
求絕對值
st(0) <- ABS( st(0) ); removes sign

FCHS
改變符號位(求負數)
st(0) <-st(0)


F2XM1
計算(2 ^ x)-1
st(0) <- (2 ^ st(0)) - 1

FYL2X
計算Y * log2(X)
st(0)為Y;st(1)為X;將st(0)和st(1)變為st(0) * log2( st(1) )的值


FCOS
余弦函數Cos
st(0) <- COS( st(0) )

FPTAN
正切函數tan
st(0) <- TAN( st(0) )

FPATAN
反正切函數arctan
st(0) <- ATAN( st(0) )

FSIN
正弦函數sin
st(0) <- SIN( st(0) )

FSINCOS
sincos函數
st(0) <-SIN( st(0) ),并且壓入st(1)

st(0) <- COS( st(0) )

FYL2XP1
計算Y * log2(X+1)
st(0)為Y; st(1)為X; 將st(0)和st(1)變為st(0) * log2( st(1)+1 )的值

處理器控制指令

FINIT
初始化FPU


FSTSW AX
保存狀態字的值到AX
AX<- MSW

FSTSW dest
保存狀態字的值到dest
dest<-MSW (mem16)

FLDCW src
從src裝入FPU的控制字
FPU CW <-src (mem16)

FSTCW dest
將FPU的控制字保存到dest
dest<- FPU CW

FCLEX
清除異常


FSTENV dest
保存環境到內存地址dest處 保存狀態字、控制字、標志字和異常指針的值

FLDENV src
從內存地址src處裝入保存的環境


FSAVE dest
保存FPU的狀態到dest處 94字節


FRSTOR src
從src處裝入由FSAVE保存的FPU狀態


FINCSTP
增加FPU的棧指針值
st(6) <-st(5); st(5) <-st(4)...st(0) <-?

FDECSTP
減少FPU的棧指針值
st(0) <-st(1); st(1) <-st(2)...st(7) <-?

FFREE st(i)
標志寄存器st(i)未被使用


FNOP
空操作,等同CPU的nop
st(0) <-st(0)

WAIT/FWAIT
同步FPU與CPU:停止CPU的運行,直到FPU完成當前操作碼


FXCH
交換指令,交換st(0)和st(1)的值
st(0) <-st(1)

st(1) <- st(0)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 国产精品久久久久久久久久三级 | 成年人免费视频大全 | 91精品国产99久久久久久 | 欧美日韩国产成人在线 | 黄色片视频在线观看 | 国产亚洲精品久久久久久久久 | 在线观看福利网站 | 国产午夜精品视频免费不卡69堂 | 久久狂草| 国产91丝袜在线播放0 | 国产91成人 | 国产99久久精品一区二区300 | 黄污在线看 | 97porn| 一本色道久久综合狠狠躁篇适合什么人看 | 国产1区2区在线 | 国产无遮挡一区二区三区毛片日本 | 久热久操 | 免费观看黄视频 | 国内精品久久久久久久星辰影视 | 国产乱子视频 | 亚洲精品成人久久 | 亚洲国产超高清a毛毛片 | 最新影院 | 国产成人高清在线 | 国产中出在线观看 | 深夜毛片免费看 | 91久久国产综合久久91猫猫 | 午夜天堂在线视频 | lutube成人福利在线观看污 | 免费毛片儿 | 亚洲第一综合色 | av在线播放免费 | 国产精品视频免费在线观看 | 国产亚洲精品久久久久久久久久 | 国产成年人视频 | 中文字幕在线观看日韩 | 国产成年人视频 | 免费a级网站 | 在线观看中文字幕av | 欧美日韩一区二区综合 |