導(dǎo)讀:本文介紹AVR官方唯一推薦的下載方法:STK500。也介紹了 AVR Studio 同時支持的JTAG下載。 并口下載由于速度很慢,AVR Studio 也不支持并口下載,(僅能使用第三方的軟件下載) 故我們不推薦使用。 我們的感覺:用過STK500下載后,就不會再使用并口下載了。感覺是兩種完全不同檔次的方式。 預(yù)備知識1: AVR開發(fā)軟件的選擇與安裝。 預(yù)備知識2: AVR Studio 快速入門 。 一:STK500 下載 支持的芯片:支持全系列的AVR芯片。并且,支持未來的AVR新芯片。 操作方法:打開 AVR Studio 軟件,按下圖操作。
上傳時間: 2013-10-23
上傳用戶:非衣2016
2002年1112月份之間的一個多月時間里,我走訪了全國各地的十幾所大學(xué),接觸了300多個應(yīng)屆本科生與碩士生,面試的結(jié)果實在有點出人意外,至今令人仍然感慨萬千,我的內(nèi)心久久不能平靜。 作為過來人思前想后,我感到完全有責(zé)任將發(fā)自心底的感受傳遞給年輕一代,“一個企業(yè)家心靈深處渴望優(yōu)秀人才的卓越追求和深層次的嘆息、痛苦和感受”。您們千萬不要等到畢業(yè)求職時才覺得自己能力太差,世界上從來就沒有后悔藥。當(dāng)然,如果您現(xiàn)在看了我寫的這篇文章可能還不算晚,因為您還有機會在以后的歲月里奮起直追--“亡羊補牢,尤未為晚”。對于現(xiàn)在剛進入大學(xué)的學(xué)生,您應(yīng)該更加珍惜這美好的求學(xué)機會,因為眨眼之間幾年就過去了,您很快就會感到來自全社會生存競爭的壓力,您面臨的對手再也不僅僅是您身邊的同學(xué)。今天您在班上的成績的確是前幾名,但一走到社會上去才感到是多么地脆弱而又多么地不堪一擊。
標(biāo)簽: CPLD 單片機 應(yīng)用技術(shù)
上傳時間: 2013-10-11
上傳用戶:sssl
在冶金、化工,機械等各類工業(yè)控制中,電加熱爐都得到了廣泛的應(yīng)用。目前國內(nèi)的電加熱爐溫度控制器大多還停留在國際60年代水平,仍在使用繼電一接觸器控制或常規(guī)PID控制,自動化程度低,動態(tài)控制精度差,滿足不了日益發(fā)展的工藝技術(shù)要求。電加熱爐的溫度是生產(chǎn)工藝的一項重要指標(biāo),溫度控制的好壞將直接影響產(chǎn)品的質(zhì)量。電加熱爐由電阻絲加熱,溫度控制具有非線性、大滯后、大慣性、時變性、升溫尊向性等特點。而且,在實際應(yīng)用和研究中,電加熱爐溫度控制遇到了很多困難:第一,很難建立精確的數(shù)學(xué)模型:第二,不能很好地解決非線性、大滯后等問題。以精確數(shù)學(xué)模型為基礎(chǔ)地經(jīng)典控制理論和現(xiàn)代控制論在解決這些問題時遇到了極大地困難,而以語言規(guī)則模型(IF—THEN)為基礎(chǔ)的模糊控制理論卻是解決上述問題的有效途徑和方法。國內(nèi)現(xiàn)有的一些模糊設(shè)計方法大多存在不同缺點,而且真正把理論研究應(yīng)用到實際系統(tǒng)的也較少。所以,深入研究在電加熱爐系統(tǒng)控制中具體模糊控制設(shè)計理論是十分必要的。本文針對電加熱爐這一控制對象,以Ts.94—1型號的箱形電加熱爐為參考對象,分別采用工業(yè)控制中普遍使用的PID控制、經(jīng)常見到的模糊控制策略,如基本模糊控制,對其進行仿真實驗,比較,并進行了理論分析。針對上述電加熱爐控制中存在的問題,本文設(shè)計了雙模糊控制器。雙模糊控制器在參數(shù)自整定模糊控制理論的基礎(chǔ)上,對比例因子進行調(diào)整,克服原算法復(fù)雜麗不實用的特點,根據(jù)電加熱爐不同的工作狀態(tài)采用不同的模糊控制器,提高了控制精度,改善了控制效果。本文把模糊控制與神經(jīng)網(wǎng)絡(luò)技術(shù)相結(jié)合,利用神經(jīng)網(wǎng)絡(luò)很強的學(xué)習(xí)能力和自適應(yīng)能力,建立了自適應(yīng)神經(jīng)模糊推理系統(tǒng)。把不依賴精確數(shù)學(xué)模型的模糊控制系統(tǒng)與有價值的經(jīng)驗數(shù)據(jù)或參考模型相結(jié)合,彌補了模糊控制的不足,使模糊控制系統(tǒng)更能發(fā)揮其強大優(yōu)勢,控制效果理想。在實踐應(yīng)用方面,以電加熱爐為控制對象,開發(fā)了89C51單片機模糊控制器,主要進行了硬件和軟件的設(shè)計。
標(biāo)簽: 單片機 中的應(yīng)用 模糊控制 電加熱爐
上傳時間: 2013-10-28
上傳用戶:yuanwenjiao
隨著單片機應(yīng)用的越來越廣泛,MCS-51單片機(如51/52/55)以其優(yōu)越的性能/價格比再次成為應(yīng)用的熱點。但由于目前單片機外圍設(shè)計電路較多,許多設(shè)計者苦于在開發(fā)初期難于選準(zhǔn)相應(yīng)的外圍電路,且由于從設(shè)計、制板、調(diào)試全過程往往需化肥最少3~4周的時間,尤其在調(diào)試上花費的時間更多,并且一次設(shè)計往往不能成功,既費時又費錢。為了滿足廣大科技人員在單片機開發(fā)初期應(yīng)用系統(tǒng)的基本要求,我公司特設(shè)計了LJD-51單片機控制板,既可以使用戶在初期設(shè)計時省去許多硬件麻煩,使之專注于軟件開發(fā),同時在調(diào)試時省時、省錢。該系統(tǒng)適用于科研、開發(fā)教學(xué)實驗初期的設(shè)計之用。同時也適用于工控,智能儀表等符合要求的應(yīng)用場合,具有極高的性能/價格比。本系統(tǒng)的所有接口原理一般接口資料均能找到,并隨機提供測試軟件一套。
上傳時間: 2013-10-27
上傳用戶:haiya2000
一年前,哈爾濱市的學(xué)府書城,開門大吉!我只身在電子技術(shù)類圖書區(qū)找著我中意的電子制作技術(shù)的書。這個地方我經(jīng)常來雖然書很多,可是沒有幾本中意的,它們不是只講一些純理論的東西讓人看的一頭“污水”,就是只電路一堆沒幾個對的。哎!只怪中國的技術(shù)書籍市場的淪落呀!出書,不是作者想出名就是商賈想賺錢,就這樣?xùn)|拉一點西扯一塊,不管是不是一個技術(shù)的,不管對不對只要書出了,其余就隨便隨便了,長此這樣,最終“受益”的還是我們的愛好技術(shù)的初學(xué)者。“什么都不知道的人,只好什么都相信”。技術(shù)還沒入門就讓“我們最好的老師”給騙了。先不提這個,還是說說我的邂逅吧!(別想多了,本人現(xiàn)在還是光棍一條呢!如有意者請于我聯(lián)系)
標(biāo)簽: 單片機
上傳時間: 2014-12-27
上傳用戶:二驅(qū)蚊器
MSP430是德州公司新開發(fā)的一類具有16位總線的帶FLASH的單片機,由于其性價比和集成度高,受到廣大技術(shù)開發(fā)人員的青睞.它采用16位的總線,外設(shè)和內(nèi)存統(tǒng)一編址,尋址范圍可達64K,還可以外擴展存儲器.具有統(tǒng)一的中斷管理,具有豐富的片上外圍模塊,片內(nèi)有精密硬件乘法器、兩個16位定時器、一個14路的12位的模數(shù)轉(zhuǎn)換器、一個看門狗、6路P口、兩路USART通信端口、一個比較器、一個DCO內(nèi)部振蕩器和兩個外部時鐘,支持8M的時鐘.由于為FLASH型,則可以在線對單片機進行調(diào)試和下載,且JTAG口直接和FET(FLASHEMULATION TOOL)的相連,不須另外的仿真工具,方便實用,而且,可以在超低功耗模式下工作,對環(huán)境和人體的輻射小,測量結(jié)果為100mw左右的功耗(電流為14mA左右),可靠性能好,加強電干擾運行不受影響,適應(yīng)工業(yè)級的運行環(huán)境,適合與做手柄之類的自動控制的設(shè)備.我們相信MSP430單片機將會在工程技術(shù)應(yīng)用中得以廣泛應(yīng)用,而且,它是通向DSP系列的橋梁,隨著自動控制的高速化和低功耗化,MSP430系列將會得到越來越多人的喜愛.通過兩過多月的畢業(yè)設(shè)計,我對MSP430有了初步了解,對內(nèi)部的硬件資源和自身的匯編語法進行了實驗,并開發(fā)了一個應(yīng)用板,并進行了調(diào)試.鑒于時間和能力有限,沒能對所有的應(yīng)用一一實驗.
上傳時間: 2013-11-21
上傳用戶:asdkin
我公司生產(chǎn)的 USBkey 產(chǎn)品所使用的MCU 電路,自2007 年9 月初USBkey 產(chǎn)品開始量產(chǎn)化后,我們對其部分產(chǎn)品做了電老化試驗,發(fā)現(xiàn)該款電路早期失效問題達不到我們要求,上電以后一段時間內(nèi)失效率為千分之一點五左右。為此,我們從去年10 月到今年2 月對所生產(chǎn)的產(chǎn)品(已發(fā)出的除外)全部進行了電老化篩選,通過這項工作發(fā)現(xiàn)了一些規(guī)律性的東西,對提高電子產(chǎn)品的安全可靠性有一定指導(dǎo)意義。2 試驗條件的設(shè)定造成電路早期失效的原因很多,從 IC 設(shè)計到半導(dǎo)體生產(chǎn)工藝、電路封裝、焊接裝配等生產(chǎn)工序和生產(chǎn)設(shè)備、生產(chǎn)材料、生產(chǎn)環(huán)境及人為的因素都有可能是成因,作為電路的使用方不可能都顧及到,也不可控。通過分析,我們認為還是著眼于該款電路在完成半導(dǎo)體生產(chǎn)工藝后,在后部加工中所產(chǎn)生的早期失效問題更有針對性。,因此決定從電路的后部加工工序即封裝、COS 軟件以及產(chǎn)品SMT 加工工藝等方面入手,安排幾種比對試驗并取得試驗數(shù)據(jù),以期找出失效原因。
上傳時間: 2014-12-28
上傳用戶:894898248
自制一臺ATMEL 89系列FLASH單片機編程器學(xué)習(xí)單片機最有用的恐怕是編程器和仿真機,一臺商品化的編程器至少要幾百元,仿真機價格更高,往往讓初學(xué)者難以選擇。這里介紹的一款國外電子網(wǎng)站推出的廉價51編程器,能夠讀寫最常用的12種51單片機,自己動手裝配一臺,既能鍛煉自己的動手能力,又能廉價地裝備一臺多用編程器,無論是學(xué)習(xí)單片機或業(yè)余時間搞開發(fā),都是一個非常好的選擇。筆者按照資料自制了一臺,十分好用,不敢獨享。特編譯了全部制作資料介紹給大家。這個編程器硬件使用標(biāo)準(zhǔn)的TTL系列器件而沒有使用特殊元件。它連接在計算機的并行端口,對PC的并口沒有特殊要求,所以配置很低的計算機也能用這個編程器。Atmel Flash 系列單片機是當(dāng)前最流行的單片機,易于擦寫,不象OTP芯片容易造成浪費。特別是89系列單片機與大家熟悉的INTEL51系列單片機完全兼容,這個編程器支持的單片機主要是Atmel flash系列。支持的器件: 這個編程器支持以下ATMEL單片機AT89C51,AT89C52,AT89C55,AT89S51,AT89S52,AT89S53,AT89C51RC,AT89C55WD,AT89S8252,AT89C1051U,AT89C2051,AT89C4051注意:20腳的單片機需要一個簡單的適配器。(圖 2 ) 硬件: 圖1顯示了這個FLASH 編程器的電路圖,編程器和標(biāo)準(zhǔn)的計算機并口連接。電路圖中的U2是用于控制計算機和控制器之間的數(shù)據(jù)流,U4 鎖存低位地址字節(jié) ,U5 鎖存高位地址字節(jié) ,U3用于產(chǎn)生控制信號給被編程的單片機。IC U1用于產(chǎn)生編程脈沖給單片機.當(dāng)U7提供編程電壓給控制器時,電源部分用U8產(chǎn)生邏輯5v供給。IC U6用于產(chǎn)生5V或6.5V VDD 電源電壓給單片機。
上傳時間: 2013-10-18
上傳用戶:bakdesec
學(xué)習(xí)單片機最有用的恐怕是編程器和仿真機,一臺商品化的編程器至少要幾百元,仿真機價格更高,往往讓初學(xué)者難以選擇。這里介紹的一款國外電子網(wǎng)站推出的廉價51編程器,能夠讀寫最常用的12種51單片機,自己動手裝配一臺,既能鍛煉自己的動手能力,又能廉價地裝備一臺多用編程器,無論是學(xué)習(xí)單片機或業(yè)余時間搞開發(fā),都是一個非常好的選擇。筆者按照資料自制了一臺,十分好用,不敢獨享。特編譯了全部制作資料介紹給大家。這個編程器硬件使用標(biāo)準(zhǔn)的TTL系列器件而沒有使用特殊元件。它連接在計算機的并行端口,對PC的并口沒有特殊要求,所以配置很低的計算機也能用這個編程器。Atmel Flash 系列單片機是當(dāng)前最流行的單片機,易于擦寫,不象OTP芯片容易造成浪費。特別是89系列單片機與大家熟悉的INTEL51系列單片機完全兼容,這個編程器支持的單片機主要是Atmel flash系列。
上傳時間: 2013-12-18
上傳用戶:xyipie
九.輸入/輸出保護為了支持多任務(wù),80386不僅要有效地實現(xiàn)任務(wù)隔離,而且還要有效地控制各任務(wù)的輸入/輸出,避免輸入/輸出沖突。本文將介紹輸入輸出保護。 這里下載本文源代碼。 <一>輸入/輸出保護80386采用I/O特權(quán)級IPOL和I/O許可位圖的方法來控制輸入/輸出,實現(xiàn)輸入/輸出保護。 1.I/O敏感指令輸入輸出特權(quán)級(I/O Privilege Level)規(guī)定了可以執(zhí)行所有與I/O相關(guān)的指令和訪問I/O空間中所有地址的最外層特權(quán)級。IOPL的值在如下圖所示的標(biāo)志寄存器中。 標(biāo) 志寄存器 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許可位圖規(guī)定了I/O空間中的哪些地址可以由在任何特權(quán)級執(zhí)行的程序所訪問。I/O許可位圖在任務(wù)狀態(tài)段TSS中。 I/O敏感指令 指令 功能 保護方式下的執(zhí)行條件 CLI 清除EFLAGS中的IF位 CPL<=IOPL STI 設(shè)置EFLAGS中的IF位 CPL<=IOPL IN 從I/O地址讀出數(shù)據(jù) CPL<=IOPL或I/O位圖許可 INS 從I/O地址讀出字符串 CPL<=IOPL或I/O位圖許可 OUT 向I/O地址寫數(shù)據(jù) CPL<=IOPL或I/O位圖許可 OUTS 向I/O地址寫字符串 CPL<=IOPL或I/O位圖許可 上表所列指令稱為I/O敏感指令,由于這些指令與I/O有關(guān),并且只有在滿足所列條件時才可以執(zhí)行,所以把它們稱為I/O敏感指令。從表中可見,當(dāng)前特權(quán)級不在I/O特權(quán)級外層時,可以正常執(zhí)行所列的全部I/O敏感指令;當(dāng)特權(quán)級在I/O特權(quán)級外層時,執(zhí)行CLI和STI指令將引起通用保護異常,而其它四條指令是否能夠被執(zhí)行要根據(jù)訪問的I/O地址及I/O許可位圖情況而定(在下面論述),如果條件不滿足而執(zhí)行,那么將引起出錯碼為0的通用保護異常。 由于每個任務(wù)使用各自的EFLAGS值和擁有自己的TSS,所以每個任務(wù)可以有不同的IOPL,并且可以定義不同的I/O許可位圖。注意,這些I/O敏感指令在實模式下總是可執(zhí)行的。 2.I/O許可位圖如果只用IOPL限制I/O指令的執(zhí)行是很不方便的,不能滿足實際要求需要。因為這樣做會使得在特權(quán)級3執(zhí)行的應(yīng)用程序要么可訪問所有I/O地址,要么不可訪問所有I/O地址。實際需要與此剛好相反,只允許任務(wù)甲的應(yīng)用程序訪問部分I/O地址,只允許任務(wù)乙的應(yīng)用程序訪問另一部分I/O地址,以避免任務(wù)甲和任務(wù)乙在訪問I/O地址時發(fā)生沖突,從而避免任務(wù)甲和任務(wù)乙使用使用獨享設(shè)備時發(fā)生沖突。 因此,在IOPL的基礎(chǔ)上又采用了I/O許可位圖。I/O許可位圖由二進制位串組成。位串中的每一位依次對應(yīng)一個I/O地址,位串的第0位對應(yīng)I/O地址0,位串的第n位對應(yīng)I/O地址n。如果位串中的第位為0,那么對應(yīng)的I/O地址m可以由在任何特權(quán)級執(zhí)行的程序訪問;否則對應(yīng)的I/O地址m只能由在IOPL特權(quán)級或更內(nèi)層特權(quán)級執(zhí)行的程序訪問。如果在I/O外層特權(quán)級執(zhí)行的程序訪問位串中位值為1的位所對應(yīng)的I/O地址,那么將引起通用保護異常。 I/O地址空間按字節(jié)進行編址。一條I/O指令最多可涉及四個I/O地址。在需要根據(jù)I/O位圖決定是否可訪問I/O地址的情況下,當(dāng)一條I/O指令涉及多個I/O地址時,只有這多個I/O地址所對應(yīng)的I/O許可位圖中的位都為0時,該I/O指令才能被正常執(zhí)行,如果對應(yīng)位中任一位為1,就會引起通用保護異常。 80386支持的I/O地址空間大小是64K,所以構(gòu)成I/O許可位圖的二進制位串最大長度是64K個位,即位圖的有效部分最大為8K字節(jié)。一個任務(wù)實際需要使用的I/O許可位圖大小通常要遠小于這個數(shù)目。 當(dāng)前任務(wù)使用的I/O許可位圖存儲在當(dāng)前任務(wù)TSS中低端的64K字節(jié)內(nèi)。I/O許可位圖總以字節(jié)為單位存儲,所以位串所含的位數(shù)總被認為是8的倍數(shù)。從前文中所述的TSS格式可見,TSS內(nèi)偏移66H的字確定I/O許可位圖的開始偏移。由于I/O許可位圖最長可達8K字節(jié),所以開始偏移應(yīng)小于56K,但必須大于等于104,因為TSS中前104字節(jié)為TSS的固定格式,用于保存任務(wù)的狀態(tài)。 1.I/O訪問許可檢查細節(jié)保護模式下處理器在執(zhí)行I/O指令時進行許可檢查的細節(jié)如下所示。 (1)若CPL<=IOPL,則直接轉(zhuǎn)步驟(8);(2)取得I/O位圖開始偏移;(3)計算I/O地址對應(yīng)位所在字節(jié)在I/O許可位圖內(nèi)的偏移;(4)計算位偏移以形成屏蔽碼值,即計算I/O地址對應(yīng)位在字節(jié)中的第幾位;(5)把字節(jié)偏移加上位圖開始偏移,再加1,所得值與TSS界限比較,若越界,則產(chǎn)生出錯碼為0的通用保護故障;(6)若不越界,則從位圖中讀對應(yīng)字節(jié)及下一個字節(jié);(7)把讀出的兩個字節(jié)與屏蔽碼進行與運算,若結(jié)果不為0表示檢查未通過,則產(chǎn)生出錯碼為0的通用保護故障;(8)進行I/O訪問。設(shè)某一任務(wù)的TSS段如下: TSSSEG SEGMENT PARA USE16 TSS <> ;TSS低端固定格式部分 DB 8 DUP(0) ;對應(yīng)I/O端口00H—3FH DB 10000000B ;對應(yīng)I/O端口40H—47H DB 01100000B ;對用I/O端口48H—4FH DB 8182 DUP(0ffH) ;對應(yīng)I/O端口50H—0FFFFH DB 0FFH ;位圖結(jié)束字節(jié)TSSLen = $TSSSEG ENDS 再假設(shè)IOPL=1,CPL=3。那么如下I/O指令有些能正常執(zhí)行,有些會引起通用保護異常: in al,21h ;(1)正常執(zhí)行 in al,47h ;(2)引起異常 out 20h,al ;(3)正常實行 out 4eh,al ;(4)引起異常 in al,20h ;(5)正常執(zhí)行 out 20h,eax ;(6)正常執(zhí)行 out 4ch,ax ;(7)引起異常 in ax,46h ;(8)引起異常 in eax,42h ;(9)正常執(zhí)行 由上述I/O許可檢查的細節(jié)可見,不論是否必要,當(dāng)進行許可位檢查時,80386總是從I/O許可位圖中讀取兩個字節(jié)。目的是為了盡快地執(zhí)行I/O許可檢查。一方面,常常要讀取I/O許可位圖的兩個字節(jié)。例如,上面的第(8)條指令要對I/O位圖中的兩個位進行檢查,其低位是某個字節(jié)的最高位,高位是下一個字節(jié)的最低位。可見即使只要檢查兩個位,也可能需要讀取兩個字節(jié)。另一方面,最多檢查四個連續(xù)的位,即最多也只需讀取兩個字節(jié)。所以每次要讀取兩個字節(jié)。這也是在判別是否越界時再加1的原因。為此,為了避免在讀取I/O許可位圖的最高字節(jié)時產(chǎn)生越界,必須在I/O許可位圖的最后填加一個全1的字節(jié),即0FFH。此全1的字節(jié)應(yīng)填加在最后一個位圖字節(jié)之后,TSS界限范圍之前,即讓填加的全1字節(jié)在TSS界限之內(nèi)。 I/O許可位圖開始偏移加8K所得的值與TSS界限值二者中較小的值決定I/O許可位圖的末端。當(dāng)TSS的界限大于I/O許可位圖開始偏移加8K時,I/O許可位圖的有效部分就有8K字節(jié),I/O許可檢查全部根據(jù)全部根據(jù)該位圖進行。當(dāng)TSS的界限不大于I/O許可位圖開始偏移加8K時,I/O許可位圖有效部分就不到8K字節(jié),于是對較小I/O地址訪問的許可檢查根據(jù)位圖進行,而對較大I/O地址訪問的許可檢查總被認為不可訪問而引起通用保護故障。因為這時會發(fā)生字節(jié)越界而引起通用保護異常,所以在這種情況下,可認為不足的I/O許可位圖的高端部分全為1。利用這個特點,可大大節(jié)約TSS中I/O許可位圖占用的存儲單元,也就大大減小了TSS段的長度。 <二>重要標(biāo)志保護輸入輸出的保護與存儲在標(biāo)志寄存器EFLAGS中的IOPL密切相關(guān),顯然不能允許隨便地改變IOPL,否則就不能有效地實現(xiàn)輸入輸出保護。類似地,對EFLAGS中的IF位也必須加以保護,否則CLI和STI作為敏感指令對待是無意義的。此外,EFLAGS中的VM位決定著處理器是否按虛擬8086方式工作。 80386對EFLAGS中的這三個字段的處理比較特殊,只有在較高特權(quán)級執(zhí)行的程序才能執(zhí)行IRET、POPF、CLI和STI等指令改變它們。下表列出了不同特權(quán)級下對這三個字段的處理情況。 不同特權(quán)級對標(biāo)志寄存器特殊字段的處理 特權(quán)級 VM標(biāo)志字段 IOPL標(biāo)志字段 IF標(biāo)志字段 CPL=0 可變(初POPF指令外) 可變 可變 0 不變 不變 可變 CPL>IOPL 不變 不變 不變 從表中可見,只有在特權(quán)級0執(zhí)行的程序才可以修改IOPL位及VM位;只能由相對于IOPL同級或更內(nèi)層特權(quán)級執(zhí)行的程序才可以修改IF位。與CLI和STI指令不同,在特權(quán)級不滿足上述條件的情況下,當(dāng)執(zhí)行POPF指令和IRET指令時,如果試圖修改這些字段中的任何一個字段,并不引起異常,但試圖要修改的字段也未被修改,也不給出任何特別的信息。此外,指令POPF總不能改變VM位,而PUSHF指令所壓入的標(biāo)志中的VM位總為0。 <三>演示輸入輸出保護的實例(實例九)下面給出一個用于演示輸入輸出保護的實例。演示內(nèi)容包括:I/O許可位圖的作用、I/O敏感指令引起的異常和特權(quán)指令引起的異常;使用段間調(diào)用指令CALL通過任務(wù)門調(diào)用任務(wù),實現(xiàn)任務(wù)嵌套。 1.演示步驟實例演示的內(nèi)容比較豐富,具體演示步驟如下:(1)在實模式下做必要準(zhǔn)備后,切換到保護模式;(2)進入保護模式的臨時代碼段后,把演示任務(wù)的TSS段描述符裝入TR,并設(shè)置演示任務(wù)的堆棧;(3)進入演示代碼段,演示代碼段的特權(quán)級是0;(4)通過任務(wù)門調(diào)用測試任務(wù)1。測試任務(wù)1能夠順利進行;(5)通過任務(wù)門調(diào)用測試任務(wù)2。測試任務(wù)2演示由于違反I/O許可位圖規(guī)定而導(dǎo)致通用保護異常;(6)通過任務(wù)門調(diào)用測試任務(wù)3。測試任務(wù)3演示I/O敏感指令如何引起通用保護異常;(7)通過任務(wù)門調(diào)用測試任務(wù)4。測試任務(wù)4演示特權(quán)指令如何引起通用保護異常;(8)從演示代碼轉(zhuǎn)臨時代碼,準(zhǔn)備返回實模式;(9)返回實模式,并作結(jié)束處理。
上傳時間: 2013-12-11
上傳用戶:nunnzhy
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1