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

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

AL-DR

  • 芯片掃盲

    一.晶片的作用: 晶片為LED的主要原材料,LED主要依靠晶片來發光. 二.晶片的組成. 主要有砷(AS) 鋁(AL) 鎵(Ga) 銦(IN) 磷(P) 氮(N)鍶(Si)這幾種元素中的若干種組成.

    標簽: 芯片

    上傳時間: 2013-12-10

    上傳用戶:離殤

  • 變壓器中性點接地電阻柜

    AL-BNR系列變壓器中性點接地電阻柜 中性點經電阻接地可有效限制間歇弧光接地過電壓、降低系統操作過電壓、消除系統諧振過電壓、方便配置單相接地故障保護、可在短時間內有效切除故障線路。從而降低系統設備的絕緣水平,延遲系統設備的使用壽命,提高系統運行的安全可靠性。 保定市奧蘭電氣設備有限公司擁有一流的研發隊伍和精良的專用設備,專注于配電系統中性點接地保護系列產品、繼電保護裝置、過電壓保護裝置的研發、生產、銷售。公司所開發的系列AL-BNR變壓器中性點接地電阻柜是6-35KV配電網中變壓器中性點接地保護專用成套設備,目前已廣泛應用于以電纜線路為主的城市配電網、大型工業企業、工廠、機場、港口、地鐵等重要電力用戶配電網以及發電廠廠用電系統。 產品采用優質進口不銹鋼或國產不銹鋼電熱金屬材料,具有電導率高、溫度系數高、耐腐蝕、耐高溫、抗氧化能力強、抗拉強度高及阻值穩定等優良特點,產品運行安全可靠。 中壓配電系統中,如果變壓器為三角形接法,則需加裝Z型接地變壓器,以便為系統人為引出中性點,以加裝中性點接地電阻。 1、針對性強,保護到位 AL-BNR變壓器中性點接地電阻柜適用于系統中性點采用小電阻或中電阻接地的場合。此時,電網出現單相接地故障時需立即跳閘切除故障線路。當電網出現單相接地時,接地電阻向接地點提供附加阻性電流,使接地電流呈阻容性質,從而保證產生的過電壓不超過2.6倍的相電壓。 2、結構緊湊,便于安裝 AL-BNR變壓器中性點接地電阻柜將零散的Z型接地變壓器(如系統無中性點引出則需加裝)、電阻器、電流互感器、測量儀表、接地保護輸出端子等電器設備整體組合在一個封閉金屬柜內,而且可以選配隔離開關、避雷器,成套供貨,安全可靠性高,布置清晰整齊,便于安裝調試及操作維護。 3、選材考究,充分保證產品質量 AL-BNR變壓器中性點接地電阻柜內的接地變壓器為優質干式變壓器,其一次繞組為“Z”形接線;電阻器采用不銹鋼鎳鉻合金(Cr20Ni80)材料制成,導電率高、通流能力強、耐高溫、最高使用溫度可達1600℃;溫度系數≤ -0.045% /℃、阻值穩定、耐腐蝕、防燃防爆、可靠性高。用合金材料組成的電阻全部采用電阻單元,以 多個單元采用亞弧焊接而成框架式結構,電阻單元采用耐高溫絕緣子(高分子)支撐連接。根據不同的客戶要求我公司可提供進口電阻器。 4、監測功能齊全,并提供模擬量輸出 AL-BNR變壓器中性點接地電阻柜可加裝智能監控裝置,可監測電阻柜正常運行狀態下中性點不平衡電流、電阻片、電阻柜內的溫度,也可以監測發生單相接地故障瞬間的電流以及記錄接地動作次數,并預留通訊接口,可將檢測、記錄的信息傳遞至主控室,使運行人員在第一時間內得到信息。 5、技術力量雄厚,服務周到 我公司為專業生產廠家,技術力量雄厚,售前的技術交流咨詢可隨時到位。售后的安裝技術指導可按用戶要求及時進行

    標簽: 變壓器 中性點接地 電阻柜

    上傳時間: 2014-12-24

    上傳用戶:shinesyh

  • 發電機中性點接地電阻柜

    AL-FNR系列發電機中性點接地電阻柜 我公司擁有技術優秀的研發隊伍和精良的設備,引進并消化國外先進技術,長期致力于對中性點接地技術產品的研發、生產,對降低電網過電壓、提高電網的安全性、可靠性,具有良好的效果。我公司以進口特殊不銹鋼合金材料,開發生產的系列不銹鋼中性點接地電阻柜。產品具有精度高,線性度好,運行可靠,安裝方便,外形美觀等特點,已廣泛用于許多國家重點工程。所生產的0.4KV~35KV發電機中性點接地電阻柜是發電機組中采用高阻接地的專用成套裝置。 AL-FNR型發電機中性點電阻柜連接在發電機中性點上,當電網或發電機定子繞組發生單相接地故障時,向接地點提供附加阻性電流,使接地點電流由容性變成阻容性電流,從而保證產生的過電壓不超過2.6倍的相電壓。 1、精心設計、保護到位 AL-FNR型發電機中性點電阻柜連接在發電機中性點與地之間,當電網或發電機定子繞組發生單相接地故障時,向接地點提供附加阻性電流,使接地點電流由容性變成阻容性電流,從而保證產生的過電壓不超過2.6倍的相電壓。 2、專業保護,避免燒損發電機鐵芯 AL-FNR型發電機中性點電阻柜在設計參數時,力求將總的接地電流控制在15A以內,不僅可以滿足繼電保護靈敏度的要求,同時也可減輕發電機定子繞組接地時鐵芯的損傷。 3、結構緊湊,元器件性能優異 AL-FNR型發電機中性點電阻柜將零散的單相變壓器、電阻器、電流互感器、接地保護輸出端子等電器設備整體組合在一個封閉金屬柜內,并可選配隔離開關、避雷器,智能保護儀表等成套供貨;安全可靠性高,布置清晰整齊,便于安裝調試及操作維護。裝置采用的單相變壓器為干式絕緣變壓器,工作性能穩定,抗沖擊能力強。變壓器二次側采用不銹鋼材料電阻。 4、監控功能齊全,并提供模擬量輸出 AL-FNR型發電機中性點電阻柜是0.4KV~35KV發電機中性點接地電阻柜是發電機組中采用高阻接地的專用成套裝置,可選配電流和動作記錄儀等智能控制儀表,正常時可監測中性點不平衡電流,出現單相接地故障時,可記錄動作次數;且可為保護和監控系統提供模擬量輸出。 5、性能可靠,維護簡便 AL-FNR型發電機中性點電阻柜中裝設干式單相接地變壓器及相應的大容量電阻器,柜中還可裝設單相隔離開關,以便在進行檢修或實驗時隔離電源。 6、技術力量雄厚,服務周到 我公司為中性點設備專業生產廠家,技術力量雄厚,售前的技術交流咨詢可隨時到位;售后的安裝技術指導可按用戶要求及時進行。

    標簽: 發電機 中性點接地 電阻柜

    上傳時間: 2013-10-17

    上傳用戶:王楚楚

  • 微機小電流系統

    AL-WDZ196型系列微機小電流系統接地選線裝置 本裝置適用于0.4KV~66KV中性點不接地或經電阻、消弧線圈接地的小電流接地系統。可廣泛用于電力系統的發電廠、變電站、水電站及化工、冶金、煤炭、鐵路等大型廠礦企業的供電系統。 在電力系統中,把中性點不接地或經消弧線圈、電阻接地的系統叫小電流接地系統,在小電流接地系統中最常見的故障是單相接地。小電流接地系統發生單項接地故障時,凡是對地有電容的線路都將有零序電流通過,但由于零序電流較小,又有很大的分散性,選擇接地線路有一定困難;若系統中有消弧線圈,困難更大。 單相接地時接地電流較小,按電力系統安全運行規程的規定,發生單相接地故障后可繼續運行1至2小時,但此時系統非故障相對地電壓升高為線電壓,若不及時處理,極易發展成兩相短路使故障擴大。弧光接地還會引起全系統過電壓。

    標簽: 微機 小電流

    上傳時間: 2013-10-10

    上傳用戶:希醬大魔王

  • 零序電流互感器

    AL-LJ(K)系列零序電流互感器 保定奧蘭電氣科技有限責任公司生產的AL-LJ(K)系列零序電流互感器經電力工業部電氣設備質量檢測中心檢測,質量優于國標GB1208-1997《電流互感器》,具有精度高,線性度好,運行可靠,安裝方便,外型美觀等特點。 零序電流互感器(電纜型)的孔徑范圍為Ф40~Ф360,有各種容量、變比、準確限值系數,可與小電流接地選線裝置、繼電器、儀表等配套使用,實現對系統的檢測和保護。裝置具有靈敏度高,線性度好等優點。產品分整體式和組合式兩類。互感器采用工程塑料外殼、樹脂澆注全密封;外型美觀、安裝方便、節省安裝空間、規格品種多,可適用各種保護裝置和電力系統各種運行方式(中性點接地,中性點不接地,大電阻接地,小電阻接地和消弧線圈接地)的需要。 空格:用于小電流接地選線裝置 A:與DD11/60型繼電器配合使用 J:用于微機型繼電保護 B:與DL11/0.2型繼電器配合使用 保定市奧蘭電氣科技有限責任公司開發生產的零序電流互感器是一種套在電纜上的CT,它的一次繞組為穿過CT內孔的三相一次導體電纜,它的一次電流是一次三相電流的向量和(在正常、三相平衡時為0),當發生一次系統單相接地時三相平衡關系被打破,這時零序電流互感器的二次就有電流輸出,供給保護裝置,實現保護和監控。 零序電流互感器的一次絕緣就是電纜自身絕緣,所以這種零序電流互感器可以套在任一電壓等級的電纜上。

    標簽: 零序電流互感器

    上傳時間: 2013-10-30

    上傳用戶:fengzimili

  • 復合式過電壓保護器

    AL-FGB系列復合式過電壓保護器 AL-FGB型三相復合式過電壓保護器(簡稱AL-FGB)是我公司針對現行各類過電壓保護器保護弱點而研制的新一代專利產品,將組容吸收器和避雷器的功能有機結合在一起,專用于35KV及以下中壓電網中,主要用來吸收真空斷路器、真空接觸器在開斷感性負載時產生的高頻操作過電壓,同時具有吸收大氣過電壓及其他形式的暫態沖擊過電壓的功能; 因此具備一系列其它類型過電壓保護器無法比擬的優點。可廣泛地應用于真空斷路器操作的電動機、電抗器、變壓器等配電線路中。 該產品使過電壓保護器的整體功能實現了重大突破,是目前功能最全面、保護最完善的產品。符合國家產業政策及國家電氣產品無油化、小型化、節能環保等發展趨勢,具有顯著的技術經濟效益和廣泛的社會效益,是我國電力建設尤其是城鄉電網改造急需的產品。 該產品廣泛應用于發電廠、變(配)電站、各種水利設施、礦山、石油、化工、冶金以及其他各類工業企業等。

    標簽: 過電壓保護器

    上傳時間: 2013-10-11

    上傳用戶:竺羽翎2222

  • NIP型非晶硅薄膜太陽能電池的研究

    采用射頻等離子體增強化學氣相沉積(RF2PECVD)技術制備非晶硅(a2Si)NIP 太陽能電池,其中電池的窗口層采用P 型晶化硅薄膜,電池結構為Al/ glass/ SnO2 / N(a2Si :H) / I(a2Si :H) / P(cryst2Si : H) / ITO/ Al。為了使P 型晶化硅薄膜能夠在a2Si 表面成功生長,電池制備過程中采用了H 等離子體處理a2Si 表面的方法。通過調節電池P 層和N 層厚度和H 等離子體處理a2Si 表面的時間,優化了太陽能電池的制備工藝。結果表明,使用H 等離子體處理a2Si 表面5 min ,可以在a2Si 表面獲得高電導率的P 型晶化硅薄膜,并且這種結構可以應用到電池上;當P 型晶化硅層沉積時間12. 5 min ,N 層沉積12 min ,此種結構電池特性最好,效率達6. 40 %。通過調整P 型晶化硅薄膜的結構特征,將能進一步改善電池的性能。

    標簽: NIP 非晶硅 薄膜太陽能電池

    上傳時間: 2013-11-21

    上傳用戶:wanqunsheng

  • TLC2543 中文資料

    TLC2543是TI公司的12位串行模數轉換器,使用開關電容逐次逼近技術完成A/D轉換過程。由于是串行輸入結構,能夠節省51系列單片機I/O資源;且價格適中,分辨率較高,因此在儀器儀表中有較為廣泛的應用。 TLC2543的特點 (1)12位分辯率A/D轉換器; (2)在工作溫度范圍內10μs轉換時間; (3)11個模擬輸入通道; (4)3路內置自測試方式; (5)采樣率為66kbps; (6)線性誤差±1LSBmax; (7)有轉換結束輸出EOC; (8)具有單、雙極性輸出; (9)可編程的MSB或LSB前導; (10)可編程輸出數據長度。 TLC2543的引腳排列及說明    TLC2543有兩種封裝形式:DB、DW或N封裝以及FN封裝,這兩種封裝的引腳排列如圖1,引腳說明見表1 TLC2543電路圖和程序欣賞 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double  sum_final1; double  sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe};  void delay(unsigned char b)   //50us {           unsigned char a;           for(;b>0;b--)                     for(a=22;a>0;a--); }  void display(uchar a,uchar b,uchar c,uchar d) {    P0=duan[a]|0x80;    P2=wei[0];    delay(5);    P2=0xff;    P0=duan[b];    P2=wei[1];    delay(5);   P2=0xff;   P0=duan[c];   P2=wei[2];   delay(5);   P2=0xff;   P0=duan[d];   P2=wei[3];   delay(5);   P2=0xff;   } uint read(uchar port) {   uchar  i,al=0,ah=0;   unsigned long ad;   clock=0;   _cs=0;   port<<=4;   for(i=0;i<4;i++)  {    d_in=port&0x80;    clock=1;    clock=0;    port<<=1;  }   d_in=0;   for(i=0;i<8;i++)  {    clock=1;    clock=0;  }   _cs=1;   delay(5);   _cs=0;   for(i=0;i<4;i++)  {    clock=1;    ah<<=1;    if(d_out)ah|=0x01;    clock=0; }   for(i=0;i<8;i++)  {    clock=1;    al<<=1;    if(d_out) al|=0x01;    clock=0;  }   _cs=1;   ad=(uint)ah;   ad<<=8;   ad|=al;   return(ad); }  void main()  {   uchar j;   sum=0;sum1=0;   sum_final=0;   sum_final1=0;    while(1)  {              for(j=0;j<128;j++)          {             sum1+=read(1);             display(a1,b1,c1,d1);           }            sum=sum1/128;            sum1=0;            sum_final1=(sum/4095)*5;            sum_final=sum_final1*1000;            a1=(int)sum_final/1000;            b1=(int)sum_final%1000/100;            c1=(int)sum_final%1000%100/10;            d1=(int)sum_final%10;            display(a1,b1,c1,d1);           }         } 

    標簽: 2543 TLC

    上傳時間: 2013-11-19

    上傳用戶:shen1230

  • 微型計算機課程設計論文—通用微機發聲程序的匯編設計

    微型計算機課程設計論文—通用微機發聲程序的匯編設計 本文講述了在微型計算機中利用可編程時間間隔定時器的通用發聲程序設計,重點講述了程序的發聲原理,節拍的產生,按節拍改變的動畫程序原理,并以設計一個簡單的樂曲評分程序為引子,分析程序設計的細節。關鍵字:微機 8253 通用發聲程序 動畫技術 直接寫屏 1. 可編程時間間隔定時器8253在通用個人計算機中,有一個可編程時間間隔定時器8253,它能夠根據程序提供的計數值和工作方式,產生各種形狀和各種頻率的計數/定時脈沖,提供給系統各個部件使用。本設計是利用計算機控制發聲的原理,編寫演奏樂曲的程序。    在8253/54定時器內部有3個獨立工作的計數器:計數器0,計數器1和計數器2,每個計數器都分配有一個斷口地址,分別為40H,41H和42H.8253/54內部還有一個公用的控制寄存器,端地址為43H.端口地址輸入到8253/54的CS,AL,A0端,分別對3個計數器和控制器尋址.     對8353/54編程時,先要設定控制字,以選擇計數器,確定工作方式和計數值的格式.每計數器由三個引腳與外部聯系,見教材第320頁圖9-1.CLK為時鐘輸入端,GATE為門控信號輸入端,OUT為計數/定時信號輸入端.每個計數器中包含一個16位計數寄存器,這個計數器時以倒計數的方式計數的,也就是說,從計數初值逐次減1,直到減為0為止.     8253/54的三個計數器是分別編程的,在對任一個計數器編程時,必須首先講控制字節寫入控制寄存器.控制字的作用是告訴8253/54選擇哪個計數器工作,要求輸出什么樣的脈沖波形.另外,對8253/54的初始化工作還包括,向選定的計數器輸入一個計數初值,因為這個計數值可以是8為的,也可以是16為的,而8253/5的數據總線是8位的,所以要用兩條輸出指令來寫入初值.下面給出8253/54初始化程序段的一個例子,將計數器2設定為方式3,(關于計數器的工作方式參閱教材第325—330頁)計數初值為65536.    MOV   AL,10110110B ;選擇計數器2,按方式3工作,計數值是二進制格式    OUT   43H,AL      ; j將控制字送入控制寄存器    MOV   AL,0        ;計數初值為0    OUT   42H,AL      ;將計數初值的低字節送入計數器2    OUT   42H,AL      ;將計數初值的高字節送入計數器2    在IBM PC中8253/54的三個時鐘端CLK0,CLK1和CLK2的輸入頻率都是1.1931817MHZ. PC機上的大多數I/O都是由主板上的8255(或8255A)可編程序外圍接口芯片(PPI)管理的.關于8255A的結構和工作原理及應用舉例參閱教材第340—373頁.教材第364頁的”PC/XT機中的揚聲器接口電路”一節介紹了揚聲器的驅動原理,并給出了通用發聲程序.本設計正是基于這個原理,通過編程,控制加到揚聲器上的信號的頻率,奏出樂曲的.2.發聲程序的設計下面是能產生頻率為f的通用發聲程序:MOV      AL, 10110110B   ;8253控制字:通道2,先寫低字節,后寫高字節        ;方式3,二進制計數OUT      43H, AL                  ;寫入控制字MOV      DX, 0012H               ;被除數高位MOV      AX, 35DEH              ;被除數低位 DIV      ID      ;求計數初值n,結果在AX中OUT      42H, AL     ;送出低8位MOV      AL, AHOUT      42H,AL     ;送出高8位IN      AL, 61H     ;讀入8255A端口B的內容MOV      AH, AL                  ;保護B口的原狀態OR  AL, 03H     ;使B口后兩位置1,其余位保留OUT 61H,AL     ;接通揚聲器,使它發聲

    標簽: 微型計算機 發聲程序 論文 微機

    上傳時間: 2013-10-17

    上傳用戶:sunjet

  • 匯編+保護模式+教程

    九.輸入/輸出保護為了支持多任務,80386不僅要有效地實現任務隔離,而且還要有效地控制各任務的輸入/輸出,避免輸入/輸出沖突。本文將介紹輸入輸出保護。 這里下載本文源代碼。 <一>輸入/輸出保護80386采用I/O特權級IPOL和I/O許可位圖的方法來控制輸入/輸出,實現輸入/輸出保護。 1.I/O敏感指令輸入輸出特權級(I/O Privilege Level)規定了可以執行所有與I/O相關的指令和訪問I/O空間中所有地址的最外層特權級。IOPL的值在如下圖所示的標志寄存器中。 標  志寄存器 BIT31—BIT18 BIT17 BIT16 BIT15 BIT14 BIT13—BIT12 BIT11 BIT10 BIT9 BIT8 BIT7 BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0 00000000000000 VM RF 0 NT IOPL OF DF IF TF SF ZF 0 AF 0 PF 1 CF I/O許可位圖規定了I/O空間中的哪些地址可以由在任何特權級執行的程序所訪問。I/O許可位圖在任務狀態段TSS中。 I/O敏感指令 指令 功能 保護方式下的執行條件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 設置EFLAGS中的IF位 CPL<=IOPL IN 從I/O地址讀出數據 CPL<=IOPL或I/O位圖許可 INS 從I/O地址讀出字符串 CPL<=IOPL或I/O位圖許可 OUT 向I/O地址寫數據 CPL<=IOPL或I/O位圖許可 OUTS 向I/O地址寫字符串 CPL<=IOPL或I/O位圖許可 上表所列指令稱為I/O敏感指令,由于這些指令與I/O有關,并且只有在滿足所列條件時才可以執行,所以把它們稱為I/O敏感指令。從表中可見,當前特權級不在I/O特權級外層時,可以正常執行所列的全部I/O敏感指令;當特權級在I/O特權級外層時,執行CLI和STI指令將引起通用保護異常,而其它四條指令是否能夠被執行要根據訪問的I/O地址及I/O許可位圖情況而定(在下面論述),如果條件不滿足而執行,那么將引起出錯碼為0的通用保護異常。 由于每個任務使用各自的EFLAGS值和擁有自己的TSS,所以每個任務可以有不同的IOPL,并且可以定義不同的I/O許可位圖。注意,這些I/O敏感指令在實模式下總是可執行的。 2.I/O許可位圖如果只用IOPL限制I/O指令的執行是很不方便的,不能滿足實際要求需要。因為這樣做會使得在特權級3執行的應用程序要么可訪問所有I/O地址,要么不可訪問所有I/O地址。實際需要與此剛好相反,只允許任務甲的應用程序訪問部分I/O地址,只允許任務乙的應用程序訪問另一部分I/O地址,以避免任務甲和任務乙在訪問I/O地址時發生沖突,從而避免任務甲和任務乙使用使用獨享設備時發生沖突。 因此,在IOPL的基礎上又采用了I/O許可位圖。I/O許可位圖由二進制位串組成。位串中的每一位依次對應一個I/O地址,位串的第0位對應I/O地址0,位串的第n位對應I/O地址n。如果位串中的第位為0,那么對應的I/O地址m可以由在任何特權級執行的程序訪問;否則對應的I/O地址m只能由在IOPL特權級或更內層特權級執行的程序訪問。如果在I/O外層特權級執行的程序訪問位串中位值為1的位所對應的I/O地址,那么將引起通用保護異常。 I/O地址空間按字節進行編址。一條I/O指令最多可涉及四個I/O地址。在需要根據I/O位圖決定是否可訪問I/O地址的情況下,當一條I/O指令涉及多個I/O地址時,只有這多個I/O地址所對應的I/O許可位圖中的位都為0時,該I/O指令才能被正常執行,如果對應位中任一位為1,就會引起通用保護異常。 80386支持的I/O地址空間大小是64K,所以構成I/O許可位圖的二進制位串最大長度是64K個位,即位圖的有效部分最大為8K字節。一個任務實際需要使用的I/O許可位圖大小通常要遠小于這個數目。 當前任務使用的I/O許可位圖存儲在當前任務TSS中低端的64K字節內。I/O許可位圖總以字節為單位存儲,所以位串所含的位數總被認為是8的倍數。從前文中所述的TSS格式可見,TSS內偏移66H的字確定I/O許可位圖的開始偏移。由于I/O許可位圖最長可達8K字節,所以開始偏移應小于56K,但必須大于等于104,因為TSS中前104字節為TSS的固定格式,用于保存任務的狀態。 1.I/O訪問許可檢查細節保護模式下處理器在執行I/O指令時進行許可檢查的細節如下所示。 (1)若CPL<=IOPL,則直接轉步驟(8);(2)取得I/O位圖開始偏移;(3)計算I/O地址對應位所在字節在I/O許可位圖內的偏移;(4)計算位偏移以形成屏蔽碼值,即計算I/O地址對應位在字節中的第幾位;(5)把字節偏移加上位圖開始偏移,再加1,所得值與TSS界限比較,若越界,則產生出錯碼為0的通用保護故障;(6)若不越界,則從位圖中讀對應字節及下一個字節;(7)把讀出的兩個字節與屏蔽碼進行與運算,若結果不為0表示檢查未通過,則產生出錯碼為0的通用保護故障;(8)進行I/O訪問。設某一任務的TSS段如下: TSSSEG                  SEGMENT PARA USE16                        TSS     <>             ;TSS低端固定格式部分                        DB      8 DUP(0)       ;對應I/O端口00H—3FH                        DB      10000000B      ;對應I/O端口40H—47H                        DB      01100000B      ;對用I/O端口48H—4FH                        DB      8182 DUP(0ffH) ;對應I/O端口50H—0FFFFH                        DB      0FFH           ;位圖結束字節TSSLen                  =       $TSSSEG                  ENDS 再假設IOPL=1,CPL=3。那么如下I/O指令有些能正常執行,有些會引起通用保護異常:                         in      al,21h  ;(1)正常執行                        in      al,47h  ;(2)引起異常                        out     20h,al  ;(3)正常實行                        out     4eh,al  ;(4)引起異常                        in      al,20h  ;(5)正常執行                        out     20h,eax ;(6)正常執行                        out     4ch,ax  ;(7)引起異常                        in      ax,46h  ;(8)引起異常                        in      eax,42h ;(9)正常執行 由上述I/O許可檢查的細節可見,不論是否必要,當進行許可位檢查時,80386總是從I/O許可位圖中讀取兩個字節。目的是為了盡快地執行I/O許可檢查。一方面,常常要讀取I/O許可位圖的兩個字節。例如,上面的第(8)條指令要對I/O位圖中的兩個位進行檢查,其低位是某個字節的最高位,高位是下一個字節的最低位。可見即使只要檢查兩個位,也可能需要讀取兩個字節。另一方面,最多檢查四個連續的位,即最多也只需讀取兩個字節。所以每次要讀取兩個字節。這也是在判別是否越界時再加1的原因。為此,為了避免在讀取I/O許可位圖的最高字節時產生越界,必須在I/O許可位圖的最后填加一個全1的字節,即0FFH。此全1的字節應填加在最后一個位圖字節之后,TSS界限范圍之前,即讓填加的全1字節在TSS界限之內。 I/O許可位圖開始偏移加8K所得的值與TSS界限值二者中較小的值決定I/O許可位圖的末端。當TSS的界限大于I/O許可位圖開始偏移加8K時,I/O許可位圖的有效部分就有8K字節,I/O許可檢查全部根據全部根據該位圖進行。當TSS的界限不大于I/O許可位圖開始偏移加8K時,I/O許可位圖有效部分就不到8K字節,于是對較小I/O地址訪問的許可檢查根據位圖進行,而對較大I/O地址訪問的許可檢查總被認為不可訪問而引起通用保護故障。因為這時會發生字節越界而引起通用保護異常,所以在這種情況下,可認為不足的I/O許可位圖的高端部分全為1。利用這個特點,可大大節約TSS中I/O許可位圖占用的存儲單元,也就大大減小了TSS段的長度。 <二>重要標志保護輸入輸出的保護與存儲在標志寄存器EFLAGS中的IOPL密切相關,顯然不能允許隨便地改變IOPL,否則就不能有效地實現輸入輸出保護。類似地,對EFLAGS中的IF位也必須加以保護,否則CLI和STI作為敏感指令對待是無意義的。此外,EFLAGS中的VM位決定著處理器是否按虛擬8086方式工作。 80386對EFLAGS中的這三個字段的處理比較特殊,只有在較高特權級執行的程序才能執行IRET、POPF、CLI和STI等指令改變它們。下表列出了不同特權級下對這三個字段的處理情況。 不同特權級對標志寄存器特殊字段的處理 特權級 VM標志字段 IOPL標志字段 IF標志字段 CPL=0 可變(初POPF指令外) 可變 可變 0  不變 不變 可變 CPL>IOPL 不變 不變 不變 從表中可見,只有在特權級0執行的程序才可以修改IOPL位及VM位;只能由相對于IOPL同級或更內層特權級執行的程序才可以修改IF位。與CLI和STI指令不同,在特權級不滿足上述條件的情況下,當執行POPF指令和IRET指令時,如果試圖修改這些字段中的任何一個字段,并不引起異常,但試圖要修改的字段也未被修改,也不給出任何特別的信息。此外,指令POPF總不能改變VM位,而PUSHF指令所壓入的標志中的VM位總為0。 <三>演示輸入輸出保護的實例(實例九)下面給出一個用于演示輸入輸出保護的實例。演示內容包括:I/O許可位圖的作用、I/O敏感指令引起的異常和特權指令引起的異常;使用段間調用指令CALL通過任務門調用任務,實現任務嵌套。 1.演示步驟實例演示的內容比較豐富,具體演示步驟如下:(1)在實模式下做必要準備后,切換到保護模式;(2)進入保護模式的臨時代碼段后,把演示任務的TSS段描述符裝入TR,并設置演示任務的堆棧;(3)進入演示代碼段,演示代碼段的特權級是0;(4)通過任務門調用測試任務1。測試任務1能夠順利進行;(5)通過任務門調用測試任務2。測試任務2演示由于違反I/O許可位圖規定而導致通用保護異常;(6)通過任務門調用測試任務3。測試任務3演示I/O敏感指令如何引起通用保護異常;(7)通過任務門調用測試任務4。測試任務4演示特權指令如何引起通用保護異常;(8)從演示代碼轉臨時代碼,準備返回實模式;(9)返回實模式,并作結束處理。

    標簽: 匯編 保護模式 教程

    上傳時間: 2013-12-11

    上傳用戶:nunnzhy

主站蜘蛛池模板: 大关县| 兰州市| 炉霍县| 涟水县| 容城县| 嫩江县| 抚顺市| 保德县| 深水埗区| 集安市| 花莲县| 开阳县| 武夷山市| 隆尧县| 当阳市| 长沙县| 阿勒泰市| 旬邑县| 玉门市| 扶绥县| 长兴县| 永年县| 洪江市| 清原| 浦城县| 廉江市| 曲周县| 通河县| 海南省| 崇阳县| 罗江县| 沂南县| 常宁市| 石林| 顺义区| 洛浦县| 米泉市| 南投市| 通城县| 富顺县| 儋州市|