亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 匯011.txt

?? 會變語言實現的一些程序
?? TXT
?? 第 1 頁 / 共 3 頁
字號:
例11.3 檢測是否有“0作除數”的錯誤。 

 FDIV    DATA1  ;用協處理器中堆頂數據去除DATA1 
FSTSW  AX    ;把狀態寄存器的值傳送給AX 
TEST  AX, 4   ;測試第2位,即:檢測ZE是否為1 
JNZ DIV_ERR 

例11.4 檢測是否有“非法操作數”的錯誤。 

 FSQRT ;求協處理器中堆頂數據的平方根 
FSTSW AX 
TEST AX, 1 ;測試第0位,即:檢測IE是否為1 
JNZ SQRT_ERR 

方法2:用SAHF指令把AX的低字節傳送給CPU的標志位寄存器,然后再用條件轉移指令來完成相應的檢測。 

例11.5 檢測內存單元的數據與協處理器堆頂數據之間的大小關系。 

 FCOM DATA1 ;內存單元DATA1的值與協處理器堆頂數據進行比較 
FSTSW AX 
SAHF ;把AX的低字節存入CPU的狀態寄存器 
JE ST_EQUAL  ;具體大小關系的決定可見表11.2中的“FCOM” 
JB ST_BELOW 
JA ST_ABOVE 
11.2.3 控制寄存器
控制寄存器主要用于浮點數精度選擇的控制、四舍五入的控制和無窮大的控制等,其低6位還可用來決定是否屏蔽協處理器的異常。指令FLDCW可用來設置控制寄存器的值??刂萍拇嫫髦锌刂莆坏姆植既鐖D11.6所示,其控制位的含義如表11.3所列。

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 

      IC
 RC
 PC     PM UM OM ZM DM IM 

圖11.6 控制寄存器的控制位分布示意圖

表11.3 控制寄存器中控制位的含義

控制位 控制功能說明
 
IC(無窮大控制) 0—投影,假定是無符號無窮;
1—仿射,允許正、負無窮
 
RC(舍入控制) 00—最接近或偶數,01—舍入成負無窮,
11—舍入成負無窮,10—截成0
 
PC(精度控制) 00—單精度,01—保留,11—雙精度,10—擴展精度
 
PM 精度錯誤屏蔽位
 若屏蔽位的值為1,則狀態寄存器的相應位被屏蔽。
 
UM 下溢出屏蔽位
 
OM 上溢出屏蔽位
 
ZM 除數為0屏蔽位
 
DM 非規格化操作數屏蔽位
 
IM 非法操作屏蔽位
 

11.2.4 標記寄存器
標記寄存器用來表明協處理器堆棧中各存儲單元內容的狀態,也就是說,該寄存器可表明堆棧中的數據是合法的,還是非法的,是無窮,還是0或空等。該標記寄存器的結構如圖11.7所示。

15 13 11 9 7 5 3 1 0
 

TAG(7) TAG(6) TAG(5) TAG(4) TAG(3) TAG(2) TAG(1) TAG(0) 

圖11.7 標記寄存器結構示意圖

其中:TAG(i)的取值含義:00—合法,01—0,10—非法或無窮,11—空

在協處理器中,查看標記寄存器的方法是使用指令FSTENV、FSAVE或FRSTOR,它們都能使標記寄存器與其它協處理器數據一起轉存。
11.3 協處理器的指令系統
協處理器共有68條不同的指令,匯編程序在遇到協處理器指令助憶時,都會將其轉換成機器語言的ESC指令,ESC指令代表了協處理器的操作碼。

在協處理器指令在執行過程中,需要訪問內存單元時,CPU會為其形成內存地址。協處理器在協處理器指令期間內利用數據總線來傳遞數據。80287協處理器利用I/O地址00FAH~00FFH來實現其與CPU之間的數據交換,而80387~Pentium系列芯片,則是利用I/O地址800000FAH~800000FFH來實現這兩者之間的數據交換。

11.3.1 指令操作符的命名規則
協處理器指令的操作符(或助憶符)在命名設計時,遵循了下列規則:

1、在操作符后面加上字母P:表示該指令執行完后,還進行一次堆棧彈出操作。如:FADD和FADDP等;

2、在操作符后面加上字母R:表示該操作是反模式,它僅限于減法、除法指令。如:FSUB和FSUBR等;

正模式 —— 棧頂數據=棧頂數據 op 指令操作數,或OPN1=OPN1 – OPN2
反模式 —— 棧頂數據=指令操作數 op 棧頂數據,或OPN1=OPN2 – OPN1

假設:棧頂數據為10,內存變量data的值為1,分別執行下列指令將有不同的結果。

 FSUB data ;指令執行后,棧頂數據為9 
FSUBR data ;指令執行后,棧頂數據為-9 
FSUB ST, ST(1) ;指令執行后,ST=ST-ST(1) 
FSUBR ST, ST(1) ;指令執行后,ST=ST(1)-ST 

3、操作符的第2個字母是I:表示內存中數據是整數。它對加、減、乘除指令都有效。

例如:FADD data——浮點數加法;

FIADD data——整數加法,它表示內存單元data是一個整數,把該整數加到棧頂的浮點數上。

4、操作符的第2個字母是N:表示在指令執行之前檢查非屏蔽數值性錯誤。如:FSAVE和FNSAVE等,前者稱為等待形式(wait version),后者稱為非等待形式(no-wait version)。

在使用.8087偽指令情況下,匯編程序會在等待形式的指令前面加上指令WAIT,而在非等待形式的指令前面加上空操作指令NOP。

理解了上述操作符命名規則,就能很容易地區分同類指令之間的差異。
11.3.2 數據傳送指令
為了滿足協處理器和CPU之間進行數據交流的需求,就需要實現內存單元和協處理器之間進行數據傳送的指令。協處理器的指令系統中有三大類數據傳送指令:BCD傳送指令、浮點數傳送和整數傳送指令。

一、BCD傳送指令

1、FBLD

指令格式:FBLD MemBCD(*)
指令功能:將內存中的BCD數據壓入協處理器的堆棧中;

(*) MemType是指定數據類型Type的內存單元,如:MemBCD是BCD類型的存儲單元。此后不再說明。

2、FBSTP

指令格式:FBSTP MemBCD
指令功能:將協處理器中的BCD數據存入內存,并進行堆棧的彈出操作。

例如:

 .387 
data1 DT 123, -543 
data2 DT 2.5 
…… 
FBLD data1 ;把BCD數據123壓進棧 
FBSTP data2 ;把當前堆頂數據彈出,并傳送給BCD型的內參單元 

二、浮點數傳送指令

1、FLD
 
 指令格式: FLD STReg(*)/MemReal 
指令功能: 將浮點數據壓入協處理器的堆棧中。當進行內存單元內容壓棧時,系統會自動決定傳送數據的精度。比如:用DD或REAL4定義的內存單元數值是單精度數等。 

(*) STReg是協處理器堆棧寄存器ST(0)~ST(7)。

例如:

 .387 
data1 DD 123, -543 
data2 REAL8 -321.5 
data3 REAL10 2.5 
…… 
FLD data1 ;壓一個單精度數據進棧 
FLD data2 ;壓一個雙精度數據進棧 
FLD ST(0) ;把堆棧寄存器ST(0)的值再壓進棧 
FLD data3 ;壓一個擴展精度數據進棧 

2、FST  指令格式: FST  STReg/MemReal 
指令功能: 將協處理器堆棧棧頂的數據傳送到目標操作數中。在進行數據傳送時,系統自動根據控制寄存器中舍入控制位的設置把棧頂浮點數舍入成相應精度的數據。 


3、FSTP

 指令格式: FSTP  STReg/MemReal 
指令功能: 與FST相類似,所不同的是:指令FST執行完后,不進行堆棧的彈出操作,即:堆棧不發生變化,而指令FSTP執行完后,則需要進行堆棧的彈出操作,堆棧將發生變化。請見11.3.1節中的指令操作符命名規則的說明。 

4、FXCH

 指令格式: FXCH [STReg] 
指令功能: 將指定的寄存器中的浮點數與堆頂浮點數進行交換。如果不指定操作數,那么,默認ST和ST(1)二者之間交換數據。 

例如:FXCH  ST(2)——棧頂數據與堆棧寄存器ST(2)進行數據交換。

三、整數傳送指令

1、FILD

指令格式:FILD MemInt

其中:MemInt是定義為整型數據類型的內存單元,但不能是用DB定義的存儲單元。下同,不再敘述。

2、FIST/FISTP

 指令格式: FIST MemInt
FISTP MemInt 
其中: Mem是定義整型數據類型的內存單元,但不能是用DB定義的存儲單元。 
指令功能: 將協處理器堆棧棧頂的數據傳送到目標存儲單元中。在進行數據傳送時,系統自動根據控制寄存器中舍入控制位的設置把棧頂浮點數舍入成整型數據。 

指令FIST和FISTP的區別在于堆棧操作,詳細請見11.3.1中的命名規則說明。
11.3.3 數學運算指令
在協處理器的指令系統中,有關數學運算指令有:加法指令、減法指令、乘法指令、除法指令和求平方根指令等。涉及數學運算的指令有比例運算、舍入運算、求絕對值運算和改變數值符號運算等指令。

1、加法指令

 指令格式: FADD [STReg1, STReg2](*) 
FADD MemReal 
FADDP STReg, ST 
FIADD MemInt 

(*) 在此指令格式下,如果同時指定了二個堆棧寄存器,那么,其中一個寄存器必須是ST。其它指令的同類格式與此同理。

指令FADD含有二個隱含操作數ST(1)和ST,其運算功能是:從堆棧中彈出這二個操作數,然后把計算的“和”壓入堆棧,即:ST=ST(1)+ST。

指令“FADD MemReal”的功能:ST=ST+MemReal
指令“FADDP STReg, ST”的功能:STReg=STReg+ST,并彈出堆棧的棧頂
指令“FIADD MemInt”的功能:ST=ST+MemInt

2、減法指令

 指令格式: FSUB [STReg1, STReg2] 
FSUB MemReal 
FSUBP STReg, ST 
FISUB MemInt 
FSUBR [STReg1, STReg2] ;后四條指令是前四條指令的反模式形式 
FSUBR MemReal 
FSUBRP STReg,ST 
FISUBR MemInt 

指令FSUB含有二個隱含操作數ST(1)和ST,其運算功能是:從堆棧中彈出這二個操作數,然后把計算的“差”壓入堆棧,即:ST=ST(1)-ST。

指令“FSUB MemReal”的功能:ST=ST-MemReal
指令“FSUBP STReg, ST”的功能:STReg=STReg-ST,并彈出堆棧的棧頂
指令“FISUB MemInt”的功能:ST=ST-MemInt

反模式的四條指令的功能在此從略,請參閱11.3.1中的有關說明。

3、乘法指令

 指令格式: FMUL [STReg1, STReg2] 
FMUL MemReal 
FMULP STReg, ST 
FIMUL MemInt 

4、除法指令

 指令格式: FDIV [STReg1, STReg2] 
FDIV MemReal 
FDIVP STReg, ST 
FIDIV MemInt 
FDIVR [STReg1, STReg2] ;后四條指令是前四條指令的反模式形式 
FDIVR MemReal 
FDIVRP STReg, ST 
FIDIVR MemInt 

例如:

 .387 
word1 DW 20 
data1 REAL8 8 
data2 REAL8 -2 
data3 REAL8 -12 
…… 
FLD data1 ;本例只是顯示指令的使用方法,無具體的實際功能 
FLD data2 
FLD data3 
FDIV ST(2), ST 
FDIV data1 
FDIVP ST(2), ST 
FIDIV word1 

5、其它數學運算指令

在協處理器中,除了完成具體的數學運算指令外,還設置了若干個與數學運算有關的運算指令。具體的運算指令及其功能描述如表11.4所列。

表11.4 與數學運算有關的其它指令

指令格式
 指令的功能
 
FSQRT
 求棧頂數據的平方根。如果對負數求其平方根,則會發生錯誤,并可通過檢測狀態寄存器的標志位IE來確定。
 
FSCALE
 將ST(1)中的數(轉換成整數)加上ST的階碼,該指令能快速完成乘/除2n的運算。ST(1)中的數必須在2-15到215之間。
 
FPREM/FPREM1
 ST=ST%ST(1),80387及其以后的協處理器支持FPREM1。
 
FRNDINT
 對棧頂數據進行舍入運算,使之轉換成整數。
 
FXTRACT
 將棧頂數據分成二部分:無偏階碼和尾數。尾數存入棧頂,無偏階碼存入ST(1)。它常用將浮點數轉換成小數形式打印輸出。
 
FABS
 ST=|ST|,即:求棧頂數據的絕對值。
 
FCHS
 ST=-ST,即:改變棧頂數據的符號。
 11.3.4 比較運算指令
使用比較指令是將棧頂中的數與其它操作數進行比較,比較結果存于狀態寄存器的條件編碼位C3~C0處(參閱表11.2)。具體的比較運算指令及其功能描述如表11.5所列。

表11.5 比較運算指令及其功能

指令格式
 指令的功能
 
FCOM
 將棧頂數據與另一個操作數進行比較,該操作數可以存儲在堆棧寄存器中,也可存儲在內存中。
當在指令中不指定操作數時,其默認的操作數是ST和ST(1)。
 
FCOMP/FCOMPP
 此指令的比較功能與FCOM相一致,所不同的是指出從堆棧中彈出一個,還是二個數據。
 
FICOM MemInt
FICOMP MemInt

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲二区在线观看| 欧美精品一级二级| 中文字幕免费观看一区| 国产美女av一区二区三区| 欧美一级淫片007| 激情av综合网| 国产亚洲午夜高清国产拍精品| 国产精品69毛片高清亚洲| 国产午夜亚洲精品羞羞网站| 丁香婷婷综合色啪| 国产精品理论在线观看| 色一情一乱一乱一91av| 视频一区二区中文字幕| 精品国产免费视频| 成人黄色小视频| 一区二区视频免费在线观看| 欧美精品777| 国产精品99久久久久久久女警 | 久久综合一区二区| 成人免费不卡视频| 亚洲五月六月丁香激情| 欧美一级爆毛片| 成人久久视频在线观看| 亚洲国产成人91porn| 精品国产凹凸成av人网站| 99久久精品免费精品国产| 五月天国产精品| 国产精品色婷婷久久58| 欧美电影影音先锋| 成人理论电影网| 美女视频网站黄色亚洲| 国产精品萝li| 日韩精品影音先锋| 色综合天天狠狠| 国产真实乱对白精彩久久| 一区二区三区影院| 久久久久久**毛片大全| 欧美人体做爰大胆视频| 成人a区在线观看| 九九国产精品视频| 亚洲一二三四区| 国产精品日日摸夜夜摸av| 日韩一级大片在线观看| 色噜噜狠狠色综合中国| 精品无人码麻豆乱码1区2区 | av激情成人网| 毛片av一区二区| 亚洲网友自拍偷拍| 国产精品乱码人人做人人爱| 日韩欧美亚洲国产精品字幕久久久| 91麻豆精品视频| 国产精品一级在线| 蜜臀久久99精品久久久久久9| 亚洲欧美另类图片小说| 国产女人18水真多18精品一级做| 91麻豆精品国产自产在线观看一区| 91色porny蝌蚪| 国产精品一二三四| 久久国产精品99精品国产| 亚洲一级片在线观看| 亚洲欧美日韩人成在线播放| 中文字幕巨乱亚洲| 久久中文字幕电影| 日韩精品一区二区三区swag| 欧美老女人在线| 欧美体内she精视频| 色综合久久中文字幕| 99久久夜色精品国产网站| 高清在线成人网| 国产成人午夜精品5599| 国产在线精品一区二区三区不卡| 亚洲国产美女搞黄色| 亚洲精品视频观看| 中文字幕一区二区三区在线播放| 亚洲国产精品激情在线观看| 欧美国产精品久久| 中文字幕的久久| 国产精品国产三级国产普通话99| 欧美激情综合网| 亚洲国产精品精华液2区45| 中文在线一区二区| 最新中文字幕一区二区三区| 18成人在线视频| 伊人色综合久久天天人手人婷| 亚洲精品久久久蜜桃| 亚洲最新视频在线播放| 香蕉久久一区二区不卡无毒影院| 亚洲bt欧美bt精品| 秋霞电影网一区二区| 久热成人在线视频| 国产美女精品一区二区三区| 成人免费视频视频| 色婷婷综合久久久中文字幕| 欧美日韩一本到| 精品久久久久久久久久久久包黑料 | 成人综合在线视频| av资源站一区| 欧美日韩一区久久| 日韩免费观看高清完整版| 久久久久久久综合| 欧美国产禁国产网站cc| 一区二区三区成人| 青青草97国产精品免费观看无弹窗版| 精品一区二区三区日韩| 成人免费视频视频| 欧美日韩免费不卡视频一区二区三区| 91精品国产综合久久精品app | 日韩一区在线免费观看| 亚洲综合精品自拍| 麻豆成人久久精品二区三区红| 国产精品一区二区男女羞羞无遮挡| 成人午夜激情视频| 欧美日韩色综合| 久久免费国产精品| 亚洲乱码中文字幕| 久久成人18免费观看| caoporm超碰国产精品| 88在线观看91蜜桃国自产| 久久精品亚洲一区二区三区浴池| 一区二区三区四区精品在线视频| 美女高潮久久久| 色综合久久久久| 精品嫩草影院久久| 亚洲激情五月婷婷| 激情图片小说一区| 欧洲一区二区三区在线| 精品成人私密视频| 亚洲激情欧美激情| 国产成人午夜99999| 欧美日本韩国一区| 国产精品短视频| 韩国精品主播一区二区在线观看| 色综合天天做天天爱| 亚洲精品在线电影| 亚洲va欧美va国产va天堂影院| 国产福利一区二区三区视频在线| 欧美日韩国产天堂| 综合在线观看色| 国产一区二区在线电影| 欧美美女bb生活片| 亚洲日本欧美天堂| 国产成人免费在线观看| 欧美一区二区三区四区在线观看| 亚洲视频一区在线观看| 国产一区久久久| 这里只有精品电影| 亚洲在线视频免费观看| 99精品一区二区三区| 久久日一线二线三线suv| 青草国产精品久久久久久| 欧美亚洲丝袜传媒另类| 亚洲欧洲另类国产综合| 国产福利一区二区三区视频 | 欧美大胆一级视频| 视频在线观看一区| 欧美三级日韩在线| 一区二区三区蜜桃网| 成人黄动漫网站免费app| 久久精品这里都是精品| 精品一区二区在线播放| 欧美一区二区大片| 三级久久三级久久久| 欧美午夜精品电影| 洋洋av久久久久久久一区| 色激情天天射综合网| 亚洲精品美腿丝袜| 99国产精品久久久久| ●精品国产综合乱码久久久久| av成人免费在线| 亚洲视频一二区| 91麻豆swag| 艳妇臀荡乳欲伦亚洲一区| 欧美天天综合网| 日日夜夜一区二区| 欧美一区2区视频在线观看| 另类小说视频一区二区| 精品免费国产二区三区| 国产精选一区二区三区| 国产午夜精品久久| 成人免费的视频| 亚洲青青青在线视频| 欧美亚洲一区三区| 日韩中文字幕亚洲一区二区va在线| 欧美日韩激情在线| 免费不卡在线观看| 欧美电视剧免费全集观看| 国产久卡久卡久卡久卡视频精品| 国产女人18毛片水真多成人如厕 | a美女胸又www黄视频久久| 亚洲欧美日韩久久| 欧美日韩一区不卡| 老司机午夜精品| 亚洲国产精品二十页| 色综合久久天天综合网| 亚洲成国产人片在线观看| 日韩一区二区在线观看视频| 国产一区二区三区四区五区入口 | 久久精品视频网| 99久久国产综合精品女不卡| 丝袜亚洲另类欧美|