




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
北京交通大學遠程與繼續教育學院——遠程學習自學指導書PAGEPAGE82現代遠程教育學習指導書微機原理及應用北京交通大學遠程與繼續教育學院目錄TOC\o"1-2"\h\z\u第一部分說明 -3-I.如何使用學習指導書 -3-Ⅱ.如何利用各種學習資源 -4-一、課程介紹與性質 -6-二、本課程的地位和作用 -6-三、學習目的與要求 -7-四、本課程的學習方法 -7-第二部分課程學習指導 -8-第1章微型計算機基礎知識 -9-第2章8086/8088微型計算機系統結構 -13-第3章指令系統 -17-第4章匯編語言程序設計 -22-第5章8086微處理器結構 -31-第6章半導體存儲器 -36-第7章中斷 -40-第8章微型計算機的I/O接口技術 -45-第9章串行信接口及應用 -52-第10章總線 -58-第11章系統擴展接口設計 -62-第12章數/模、模/數轉換器的接口設計 -67-第三部分建議自學進度表 -72-
第一部分說明I.如何使用學習指導書親愛的同學,很高興你選擇學習指導書作為你的學習伙伴。對于“學習指導書”這個名稱你或許感到很陌生,沒關系,讓我們一起來了解她可以給你帶來哪些幫助。在網絡學習的過程中,你一定有很多疑惑:沒有了傳統的課堂、沒有了黑板、沒有了教師的督促,學習有了很大的自由度,一時不知如何自學,不知如何復習;雖然知道“學習”很重要,但忙碌的工作、繁重的家務占據了大部分時間;有時惰性也干擾了學習……所有這些,相信是每個遠程學習者都會遇到的困難。工作、家人、學習一樣都不能少,但是學習沒有捷徑,如何高效地學習呢?別著急,學習指導書會給你提供幫助。我們的任課老師,根據自己多年的教學經驗,編寫了這本“學習指導書”,他們用通俗易懂的語言,提煉課程知識,告訴你哪些是重點、哪些是難點,并通過多樣的學習活動,幫助你輕松掌握課程內容。這本書就像是輔導教師的化身,她能夠指導你高效地學習,讓你發現學習其實是一件很容易的事。學院提供的學習資料已經非常豐富了,很多資料還沒有看過,現又多了一本書,是不是又增加了負擔?有了學習指導書是不是就可以不用看其他的學習資料了?不是的,學習指導書不但沒有增加你的負擔,還會教你如何將其他學習資料有機地利用起來,幫助你提高學習效率,有效地利用時間。切記:僅有一本學習指導書并不能解決所有的學習問題,你需要跟隨書中所講的去做,利用周圍的學習資源,這樣才能事半功倍。為了更好地使用學習指導書,請你仔細閱讀這本書的主要內容。1.1如何利用各種學習資源這里,老師向你介紹了各類學習資料及其使用方法:如何學習教材和課程;如何查找學科專業資源;如何安排自己的學習時間等等。1.2歡迎學習本課程這部分主要介紹課程性質與地位、課程的主要要求、學習計劃與時間的安排等。明確提出“學習目標和要求”,讓你對自己的學習有一個清楚的、層次性的把握。有利于你在學習前樹立目標,學習后自行檢查學習效果。1.3課程內容學習指導這部分內容是學習指導書的精髓。輔導教師在認真鉆研課程內容的基礎上,結合自己的教學經驗,對課程內容進行了提煉,通過【知識框架】、【學習目標】、【學習要求】、【案例分析】、【自測題】以及一些簡單可行的學習活動,幫助你快速領會和掌握重要知識點。對照【知識框架】你可以快速領會本章的知識結構與各結構間的相互關系。【學習目標】明確告訴你每章需要掌握的重要知識及掌握的程度。【學習要求】是對一章重要知識點的要求與具體分析,有助于你對內容的理解。教師還布置一些簡單學習任務,你一定不能忽視這些任務,按照書中的要求去做,在完成任務的同時,你已經掌握了這些知識——學習其實就這么簡單。【案例分析】緊扣教材,對教材中的案例給予案例的講解,幫助你理解和檢驗自己的分析是否正確。【自測題】是根據課程內容精心設計的練習題,幫助你鞏固所學的知識。如果你不看書就能輕松完成,就獎勵一下自己。如果有的題目答不出來,也不要緊,查查書,寫出正確答案。1.4如何準備考試學習效果是通過考試來檢驗的,如何把自己所學的知識在考場上發揮得淋漓盡致,順利通過考試,是每個學生都關心的。這部分內容將重點指導你如何進行考試復習。其他參考資源在“其他參考資源”中,老師還為你提供相關的參考書目、網絡資源信息、相關學科的權威學者介紹等,以拓展大家的課程知識。趕快開始閱讀吧,讓你的學習更加輕松,更加高效!Ⅱ.如何利用各種學習資源為了給你的遠程學習帶來更大的方便,幫助你了解更多學科知識,學院提供了各種形式的學習材料和學習服務。在有限的學習時問里,你可能不會用到所有的資源,但是絕不能忽視它們的存在,并且認真了解每一類學習資料能夠給你帶來的幫助,以及如何獲得這些幫助。所以你必須仔細閱讀下面的內容,牢記在心,在需要的時候迅速找到它們。2.1可以隨身攜帶的——紙介教材在遠程學習中,紙介教材仍然起著很重要的作用。它可以隨身攜帶,可以在地鐵里、公交車上拿出來閱讀,還可以在需要的地方做筆記。可以說紙介教材是最方便的學習材料,這也是我們編寫紙介學習指導書的一個主要目的。學院提供的紙介教材和學習指導書與下面講到的網絡課程是緊密結合、相輔相成的。對于提供學習指導書的課程,你可以在學習指導書的指引下學習教材和網絡課程,這樣可以為你節省很多時間;沒有提供學習指導書的課程,你可以以網絡課程為主,以教材為輔來進行自學。通過以下途徑可以獲得紙介教材:在每次網上選課時訂購教材;如果錯過選課時間,可以和學院的學習支持聯系咨詢購買事宜;有些已畢業的學生會以低價轉讓教材,這是一個省錢的渠道,你可以多留意學院論壇上的帖子。2.2虛擬的課堂——網絡課程遠程學習雖然沒有師生共處的教室,但集學習欄目和交互功能為一體的網絡課程是屬于你一個人的虛擬課堂。和傳統學習一樣,網絡課程學習也是課程學習的重要環節。網絡課程的學習時間在整門課程的學習時間里要占到60%~70%。在網絡課程中,你可以聆聽著名高校優秀教師的講授,可以通過自測欄目檢驗自己的學習效果,可以在【課程論壇】里進行師生交流。基于對成本的考慮,網絡課程的主要學習欄目被刻錄成了光盤。你可以在選課之后,到當地教學服務中心領取學院為你提供的免費課程光盤,這樣,在不上網的條件下,也可以進行課程學習。關于網絡課程及光盤的使用方法,可以查看《學生手冊》。在本書中提到的“課件”、“課程光盤”含義同“網絡課程”。2.3在線學習服務——輔導教師在傳統教學中,每門課程會有一位教師為你進行講授。而你現在所進行的網絡課程學習過程中,除了你在網絡課程中看到的主講教師進行課程講授外,還有一位教師在幕后為你提供在線學習服務,這位幕后教師就是輔導教師。輔導教師主要通過網絡進行學習指導,答疑解惑。他們憑借扎實的專業知識、豐富的教學經驗,以及對遠程教學的深刻理解,耐心地引導你如何更好地進行課程學習,如何順利完成學業。通過以下的說明,你可以基本理解學習平臺的基本狀況:本課程學習主要形式:以學生自學教材、課件為主,輔以導學輔導講授,配合網上課程討論、疑難答疑進行。1、導學:【課程開始會發布〈課程總導學〉,每階段均會發布1個〈階段導學〉和4個〈周導學〉,希望大家仔細閱讀】課程開始時,閱讀〈課程總導學〉大致瀏覽教學課件【光盤或“課程學習”(平臺)】和教材,整體了解課程學習內容和安排;每一階段開始時,按照〈階段導學〉整體了解本階段學習安排、學習重點難點等;每一周開始時,按照〈周導學〉詳細要求,觀看課件和教材進行本周的學習,并完成指定作業和實驗;2、學習材料:課件【光盤課件或者“課程學習”(平臺)】、教材;3、問題解答:學習過程中遇到的問題,請發布到“課程答疑”(平臺),教師將盡快解答;4、問題討論:學習過程中遇到的問題需要和同學進行討論,請發布到“課程論壇”(平臺);5、作業提交:作業請在“離線作業”和“在線作業”(平臺)中查看和提交;6、課程通知:課程的有關通知請及時進入“課程通知”(平臺)中查看;2.4身邊的服務一服務中心面授輔導既然選擇了網絡學習,這種學習方式就要求你必須具有較強的自學能力,因此學院原則上不舉辦面授,一般會在學期末,組織一次網上課程的實時串講,你可以在線對老師進行提問。如果你錯過了串講的時間,還可以進行點播重新觀看。你可以根據自己的實際情況決定是否參加。如果你有此要求,要關注平臺的串講通知,或者咨詢學院的學習支持,以免錯過機會。2.5隨時隨地的支持服務除了上面提到的這些學習資源和服務,你還可以通過以下方式獲得幫助:校園——學院網站學院的網站就是你的校園,你每周至少要登錄學院主頁/,采用統一分配的用戶名與密碼登陸網站學習。伙伴——熱心同學你的同學遍布全國各地,有上萬人與你共同進行網絡的學習。課程學習平臺、網院課程論壇是學院人氣最旺的BBS,既有學習資料的共享,也有學習經驗的交流。參加到同學們當中去,既可以幫助你解決學習上的問題,也能克服你在學習上的孤獨感。短信服務短信是學院為同學們提供的工具,借助它,你可以知道學院各方面的最新信息,及時參加學院的各項活動。如果你的手機號碼有變更,一定要記得上網更新你的聯絡方式,以免錯過重要通知。熱線電話51686776當你在學習過程中遇到困難或不知所措時,別忘了撥51686776,和藹可親的學習支持老師們會為你提供幫助。一、課程介紹與性質《微機原理及應用》是鐵道通信信號專業的一門專業基礎課程。本課程的教學任務是主要講述微型計算機原理、匯編語言和接口技術,包括微型計算機基礎知識、8086/8088微型計算機系統結構、指令系統、匯編語言程序設計、8086微處理器結構、半導體存儲器、中斷、微型計算機的I/O接口技術、串行通信接口及應用、總線、系統擴展接口設計、數/模與模/數轉換的接口設計及微型計算機應用系統設計等內容,把微型計算機的硬件和軟件結合在一起,使學生能夠通過學習原理、匯編語言和接口,特別是精選實例,掌握軟件控制硬件的過程,提高學生微機開發應用的能力,讓學生在二十一世紀高速發展的信息時代面前,有較強的適應和開拓能力,為工作過程中應用微型計算機打下堅實的基礎。二、本課程的地位和作用計算機技術在鐵路信號的各個領域的廣泛應用,促進了鐵路信號技術的大發展,信號技術和產品正經歷由傳統的繼電邏輯、模擬電路、分散孤立的控制模式向數字化、網絡化、智能化和綜合化發展的升級換代的歷史轉變。可以毫不夸張地說,計算機技術正在重塑信息時代的鐵路信號。沒有計算機技術和信號控制技術的融合,就沒有中國鐵路信號的現代化。調度監督與調度集中方面、運輸調度指揮管理系統、駝峰自動化與編組站綜合自動化方面、車站聯鎖方面、自動閉塞與超速防護系統方面、信號微機監測方面以及計軸、25周軌道電路、道口信號設備等方面無一例外地都應用了計算機技術。計算機在鐵路信號中的應用將會伴隨著科學技術的進步更加普及,這必將帶動我國鐵路信號整體技術水平的提高,促進鐵路信號在提速、重載、安全、擴能、提效中發揮更大的作用。《微機原理及應用》作為鐵道通信信號專業的一門專業基礎課程,具有舉足輕重的作用。它是學生學習部分專業課程、完成畢業設計的重要技術基礎課程。本課程的前修課程有《電工基礎》、《模擬電子技術》、《數字電子技術》、《計算機應用基礎》等,后續課程有《鐵路信號基礎》、《區間信號自動控制》、《車站信號自動控制》、《鐵道信號運營基礎》等專業課程。三、學習目的與要求微機原理與接口技術是一門應用性、實踐性很強的的專業基礎課。開設本課程的目的在于使學生掌握計算機硬、軟件技術的基本知識和基本方法,培養學生的計算機理論與實踐相結合的能力,培養學生利用計算機硬、軟件技術解決實際問題的基本思路和技巧。通過本課程的學習,使學生能以微處理器、總線、接口、通道和管理程序為主線索,正確建立微型計算機系統的整體概念,理解硬軟件間的辯證關系,并了解微機系統及接口技術的最新發展。具體需要掌握:CPU和基本接口的結構和工作原理;存貯器和接口芯片的正確、合理選用,基本的接口電路設計,基本指令和匯編語言程序設計,并根據不同要求確定和分析系統尤其是實時系統的硬軟件結構、初步了解如何設計監控(管理)程序來統一管理系統硬軟件資源。四、本課程的學習方法《微機原理及應用》是一門與硬件設備關系密切的課程。學習本課程,既要學習計算機硬件的工作原理,又要掌握匯編語言的軟件編程技術,而匯編語言程序設計與高級語言程序設計在思維上有一定的差別,學習起來具有一定的難度,對于一個初學者來說是一個倍感棘手的問題。為了學好本課程,要具有正確的學習目的和積極認真的學習態度,按照本指導書的要求,循序漸進、由淺入深地按計劃學習每個章節,培養自學能力;在自學時要運用已有的知識來自學新的內容,從中發現教材中的疑點、難點;要抓住基本概念、基本理論,要熟悉和掌握微型計算機系統的功能、特點和應用,以及構成系統的硬件設備的相關知識。教材中的典型案例程序,應反復演練、對比,吃透、搞懂,逐步提高應用能力。最后要做好布置的作業。通過相應的思考題可以鞏固和加深對所學內容的理解,并培養分析能力和綜合應用能力,所以應按要求完成布置的作業題。解題前,要對所學內容基本掌握;解題時,要看懂題意,結合實際情況進行分析。除學習規定教材外,應參閱相關的參考書,努力培養自己刻苦專研、嚴謹求實的學習態度。
第二部分課程學習指導初學《微機原理及應用》時,你可能感覺摸不著頭緒。面對著眾多的術語、概念及原理性的問題不知道該如何下手。在了解課程的特點后,你會發現,應該以微機的整機概念為突破口,在如何建立整體概念上下功夫。可以通過學習一個模型機的組成和指令執行的過程,了解和熟悉計算機的結構、特點和工作過程。本課程有許多新名詞、新專業術語。透徹理解這些名詞、術語的意思,為今后深入學習打下基礎。一個新的名詞從首次接觸到理解和應用,需要一個反復的過程。而在眾多概念中,真正關鍵的并不是很多。比如“中斷”概念,既是重點又是難點,如果不懂中斷技術,就不能算是搞懂了微機原理。在學習中凡是遇到這種情況,絕對不輕易放過,要力求真正弄懂,搞懂一個重點,將使一大串概念迎刃而解。學習過程中,你會發現許多概念很相近,為了更好地掌握,將一些容易混淆的概念集中在一起進行分析,比較它們之間的異同點。比如,引入了計算機由五大部分組成這一概念;從中央處理器引出微處理器的定義;在引出微型計算機定義時,強調輸入/輸出接口的重要性;在引出微型計算機系統的定義時,強調計算機軟件與計算機硬件的相輔相成的關系。微處理器是微型計算機的重要組成部分,它與微型計算機、微型計算機系統是完全不同的概念。在微機中,最基礎的語言是匯編語言。匯編語言是一個最基礎最古老的計算機語言。語言總是越基礎越重要,在重大的編程項目中應用最廣泛。就我個人理解,匯編語言可以直接操縱計算機底層的硬件,如CPU、存儲器、各類端口等,而在某些時候,這種方法是最有效,最可靠的。然而,事物總有兩面性。其中,最重要的一點就是,匯編語言很復雜,對某個數據進行修改時,本來很簡單的一個操作會用比較煩瑣的語言來解決,而這些語言本身在執行和操作的過程中,占有大量的時間和成本。在一些講求效率的場合,并不可取。匯編語言對學習其他計算機編程語言起到一個比較、對照、參考的促進作用。學習匯編語言實際上是培養了學習計算機語言的能力和素養。本課程內容繁多,除了以上內容,還要學習可編程的計數/定時器8253,可編程的外圍接口芯片8255A,可編程中斷控制器8259A等。學的這些都是芯片邏輯器件,“可編程”說明其核心作用不可低估。還有就是,在學習中要考慮到“學以致用”,不能過分強調課程的系統性和基本理論的完整性,而應該側重于基本方法和應用實例。從微機應用系統的應用環境和特點來看,微機系統如何與千變萬化的外部設備、外部世界相連,如何與它們交換信息,是微機系統應用中的關鍵所在,培養一定的微機應用系統的分析能力和初步設計能力才是最終目的。第1章微型計算機基礎知識(一)自學內容1.微型計算機的發展概況2.微型計算機數制及其轉換3.微型計算機中數的表示方法(二)學習時間安排1.自學(3小時):教材中第1章的內容(1.5小時),課件的第1章內容(1.5小時)2.作業(1.5小時):完成自測習題和復習思考題(詳見課件第1章學習指導)。(三)本章重點1.微型計算機數制及其轉換2.機器數及其真值3.微型計算機中數的表示方法(四)本章難點1.補碼的概念及求補方法2.補碼的運算規則及溢出判斷(五)本章考點1.微型計算機的發展2.數制及其轉換3.數的表示方法(六)學習指導本章從計算機的產生和發展開始,對微型計算機的基本知識、硬件結構、系統組成、數制及其轉換、數值數據的表示、常用編碼等各類知識做了相應概述。計算機經歷了四個發展歷程:第一代電子管計算機、第二代晶體管計算機、第三代中小型規模集成電路計算機、第四代超大規模集成電路計算機。微型計算機是指以大規模、超大規模集成電路的微處理器為核心,配以存儲器、輸入輸出接口電路及系統總線所構造出的計算機系統。計算機從應用的角度分為以下幾類:服務器、工作站、臺式機、筆記本、手持設備等。計算機主要應用領域:科學計算、事務處理、過程控制、輔助工程、人工智能、網絡應用。計算機系統由硬件和軟件組成。軟件可分為系統軟件和應用軟件兩部分。軟件編程語言有機器語言、匯編語言和高級語言三種。計算機中的數據可采用二、十、十六進制數等表示,各類數制間能相互轉換并有一定的規律,在機器內部分無符號數和帶符號數的表示、定點數和浮點數的表示,此外還有二進制編碼等。熟悉各類數制之間的轉換規律,理解無符號數和帶符號數的表示方法,掌握ASCII碼、DCD碼以及奇偶校驗碼等的應用。通過本章學習,可為后續內容的學習打下良好基礎。(七)案例解析詳見本章文字教材中的舉例。(八)自測習題與作業1.第1章各節知識點習題:詳見各講習題測試及本章思考題2.自測習題一、選擇題1.1946年2月,在美國誕生了世界上第一臺計算機,它的名字叫()。A.EDVACB.EDSACC.ENIACD.UNIVAC-I【答案】C2.微機的性能主要取決于()。 A.CPUB.主存儲器C.硬盤D.顯示器【答案】A3.計算機中帶符號數的表示通常采用()。 A.原碼B.反碼C.補碼D.BCD碼【答案】C4.采用補碼表示的8位二進制數真值范圍是()。 A.-127~+127B.-127~+128C.-128~+127D.-128~+128【答案】C5.大寫字母“B”的ASCII碼是()。 A.41HB.42HC.61HD.62H【答案】B6.某數在計算機中用壓縮BCD碼表示為10010011,其真值為()。 A.10010011BB.93HC.93D.147【答案】C7.通常所說的32位機,是指這種計算機的CPU()。A.由32個運算器組成的B.能夠同時處理32位二進制數C.包含32個寄存器D.一共有32個運算器和控制器【答案】B二、填空題1.計算機中的數據可分為()兩類,前者的作用是();后者的作用是()。【答案】數值型和非數值型;表示數值大小,進行算術運算等處理操作;表示字符編碼,在計算機中描述某種特定的信息2.機器數是指符號()了的()數。【答案】數值(碼)化;二進制三、判斷題(正確為“T”,錯誤為“F”)1.計算機中帶符號數采用補碼表示的目的是為了簡化機器數的運算。 ()【答案】T2.計算機中數據的表示范圍不受計算機字長的限制。 ()【答案】F3.第五代計算機的體積進一步縮小,性能進一步提高,發展了并行技術和多機系統,出現了精簡指令集計算機RISC。()【答案】F4.計算機鍵盤輸入的各類符號在計算機內部均表示為ASCII碼。 ()【答案】F5.在計算機內部可直接運行二進制數、十進制數、十六進制數。()【答案】F四、簡答題1.計算機的發展經歷了哪些階段?【答案】計算機的發展經歷了5個重要階段,即大型機階段、小型機階段、微型機階段、客戶機/服務器階段、互聯網階段。這5個階段不是串接式的取代關系,而是并行式的共存關系。2.簡述微處理器的發展概況,從集成度、性能等方面比較各代處理器的特點。【答案】微型計算機的發展從1971年Intel公司首先研制成功的4位Intel4004微處理器算起,已經走過了30多年的歷史,經歷了如下幾個階段的演變:第一代處理器為4位或低檔8位,采用PMOS工藝,集成度低,運算功能較差,速度較慢,語言主要以機器語言或簡單的匯編語言為主。第二代處理器為中高檔8位,采用NMOS工藝,集成度比第一代提高4倍左右,運算速度提高10~15倍,采用機器語言,匯編語言或高級語言,后期配有操作系統。第三代處理器為16位,采用HMOS工藝,集成度比第二代提高一個數量級,運算速度比第二代提高一個數量級,采用匯編語言、高級語言并配有軟件系統。第四代處理器為高性能的16位機和32位機,采用HMOS或CMOS工藝,集成度在100萬晶體管/片以上,運算速度再次提高,部分軟件硬化。3.計算機軟件分為幾個層次?【答案】計算機系統是由硬件和軟件組成。軟件由程序和相關文檔組成。軟件是用戶與計算機硬件系統之間的橋梁.它使用戶能使用井充分發揮計算機的性能。軟件可分為系統軟件和應用軟伴兩部分,系統軟件是為解決用戶使用計算機而編寫的程序,如操作系統、編譯程序、匯編程序、監控程序、診斷程序等。應用軟件是為解決特定問題而編制的程序,如程序包、數據庫、窗口軟件等。在所有的軟件中操作系統是緊梭著硬件的第一層軟件,是對硬件功能的首次擴充,其它軟件則是建立在操作系統之上的。硬件功能通過操作系統得到擴充,井在操作系統的統一曾理和支持下運行各種軟件。五、數制轉換題1.將下列十進制數分別轉換為二進制數、十六進制數和壓縮BCD碼。(1)25.82【答案】11001.1101B;19.DH;(00100101.10000010)BCD(2)412.15【答案】110011100.0010B;19C.2H;(040000010010.00010101)BCD(3)513.46【答案】1000000001.0111B;201.7H;(010100010011.01000110)BCD(4)69.136【答案】01000101.0010B;45.2H;(01011001.000100110110)BCD2.將下列二進制數分別轉換為十進制數和十六進制數。(1)111001.101【答案】57.625D;39.AH(2)110010.1101【答案】50.8125D;32.DH(3)1011.11011【答案】11.84375D;B.D8H(4)101101.0111【答案】45.4375D;2D.7H3.寫出下列十進制數的原碼、反碼、補碼表示(采用8位二進制數)。(1)96【答案】[96]原=01100000;[96]反=01100000;[96]補=01100000(2)31【答案】[31]原=00011111;[31]反=00011111;[31]補=00011111(3)-42【答案】[-42]原=10101010;[-42]反=11010101;[-42]補=11010110(4)-115【答案】[-115]原=11110011;[-115]反=10001100;[-115]補=100011014.已知下列補碼,求其原值的十進制表示。(1)92H【答案】-110D(2)8DH【答案】-115D(3)B2H【答案】-78D(4)4C26H【答案】+19494D5.已知x=-0.01111,y=+0.11001,求[x]補,[-x]補,[y]補,[-y]補,x+y=?,x–y=?【答案】[x]原=1.01111[x]補=1.10001所以:[-x]補=0.01111[y]原=0.11001[y]補=0.11001所以:[-y]補=1.00111[x]補11.10001[x]補11.10001+[y]補00.11001+[-y]補11.00111[x+y]補00.01010[x–y]補10.11000所以:x+y=+0.01010因為符號位相異,結果發生溢出6.已知:x=0.1011,y=-0.0101求:[x]補,[x]補,[-x]補,[y]補,[y]補,[-y]補。【答案】[x]補=0.1011,[y]補=1.1011[x]補=0.01011,[x]補=1.11011[x]補=0.001011,[x]補=1.111011[-x]補=1.0101,[-x]補=0.0101第2章8086/8088微型計算機系統結構(一)自學內容1.微型計算機系統組成原理2.8086的編程結構3.存儲器的使用及堆棧(二)學習時間安排1.自學(3小時):教材中第2章的內容(1.5小時),課件的第2章內容(1.5小時)2.作業(1.5小時):完成自測習題和復習思考題(詳見課件第2章學習指導)。(三)本章重點1.微型計算機的基本工作原理2.8086CPU內部機構3.存儲器的使用4.堆棧的用途及使用(四)本章難點1.8086寄存器結構、標志寄存器2.存儲器的分段、段寄存器的使用3.堆棧的使用(五)本章考點1.微型計算機的基本工作原理2.8086CPU內部機構3.存儲器的使用4.堆棧的用途及使用(六)學習指導本章主要內容包括:微型計算機系統組成原理、8086的編程結構、存儲器的使用以及堆棧等內容。馮?依曼型計算機的基本工作原理可分為程序存儲和程序控制。在物理結構上,計算機由運算器、控制器、存儲器以及輸入設備和輸出設備組成。運算器和控制器通常做在1塊電路芯片上,稱為中央處理器,簡稱CPU。微型計算機是在微處理器的控制下自動進行工作的,而微處理器發出控制的依據則是用戶的程序指令。程序執行實質上是CPU不斷地取指令和執行指令的過程。自動執行的關鍵是依賴程序計數器PC。CPU按功能可分為兩部分:總線接口單元BIU、執行單元EU。CPU內部寄存器分為通用寄存器、段寄存器和控制寄存器三類。通用寄存器用途比較廣泛,一般用在算術和邏輯運算指令中,用來存放算術運算的源/目的操作數,通用寄存器共8個,包括數據寄存器4個,指針寄存器2個和變址寄存器2個。段寄存器有4個,是專用寄存器,用在存儲器訪問時存放段的基址。控制寄存器有指令指針寄存器和標志寄存器。存儲器采用分段的方法管理,存儲單元的邏輯地址可用“段寄存器名:偏移量”來表示。堆棧是內存的一個邏輯段,當這個段被指定為堆棧后,可用堆棧操作指令對它進行特殊規則的訪問。通過本章學習,可為后續內容的學習打下良好基礎。(七)案例解析詳見本章文字教材中的舉例。(八)自測習題與作業1.第2章各節知識點習題:詳見各講習題測試及本章思考題2.自測習題一、選擇題1.計算機硬件中最核心的部件是()。 A.運算器B.主存儲器C.CPUD.輸入/輸出設備【答案】C2.在EU中起數據加工與處理作用的功能部件是()。 A.ALUB.數據暫存器C.數據寄存器D.EU控制電路【答案】A3.以下不屬于BIU中的功能部件是()。 A.地址加法器B.地址寄存器C.段寄存器D.指令隊列緩沖器【答案】B4.堆棧操作中用于指示棧頂地址的寄存器是()。 A.SSB.SPC.BPD.CS【答案】B5.指令指針寄存器(IP)中存放的內容是()。 A.指令B.指令地址C.操作數D.操作數地址【答案】B6.8086系統可訪問的內存空間范圍是()。 A.0000H~FFFFHB.00000H~FFFFFHC.0~216D.0~220【答案】B二、填空題1.8086的內部結構由()和()組成,前者功能是(),后者功能是()操作_。【答案】EU;BIU;執行指令;總線2.8086取指令時,會選取()作為段基值,再加上由()提供的偏移地址形成20位物理地址。【答案】CS;IP3.8086的標志寄存器共有()個標志位,分為()個()標志位和()個()標志位。【答案】9;6;狀態;3;控制4.8086為訪問1MB內存空間,將存儲器進行()管理;其()地址是唯一的;偏移地址是指();邏輯地址常用于()中。【答案】分段;物理;相對段基地址的偏移量;程序5.邏輯地址為1000H:0230H時,其物理地址是(),段地址是(),偏移量是()。【答案】10230H;1000H;0230H三、判斷題(正確為“T”,錯誤為“F”)1.IP中存放的是正在執行的指令偏移地址。 ()【答案】F2.從內存單元偶地址開始存放的數據稱為規則字。 ()【答案】T3.EU執行算術和邏輯運算后的結果特征可由控制標志位反映出來。 ()【答案】F四、簡答題1.8086微處理器中的指令隊列起什么作用?其長度是多少字節(6個字節)?【答案】BIU將指令機器碼取到指令隊列緩沖器中,而與此同時EU可以從指令隊列緩沖器中取出已有指令進行執行,這樣使得取指令和執行指令可以同時進行。這種并行處理技術極大提高了8086的程序執行速度。指令隊列長度是6個字節。2.8086微機系統中存儲器為什么要分段?各邏輯段之間的關系如何?【答案】8086系統內的地址寄存器均是16位,只能尋址64KB;將1MB存儲器分成邏輯段,每段不超過64KB空間,以便CPU操作,各邏輯段之間的關系可重疊、交叉、緊密連接和分離。五、分析題1.有一個由10個字組成的數據區,其起始地址為1200H:0120H。試寫出該數據區的首末存儲單元的實際地址【答案】首地址:12000H+0120H=12120H末地址:12120H+10*2-1=12133H2.若一個程序段開始執行之前,(CS)=33A0H,(IP)=0130H,試問該程序段啟動執行指令的實際地址是什么?【答案】33A00H+0130H=33B30H3.有兩個16位的字31DAH和5E7FH,它們在8086系統存儲器中的地址分別為00130H和00134H,試畫出它們的存儲示意圖。【答案】地址存儲空間00130H0DAH00131H31H00134H7FH00135H5EH第3章指令系統(一)自學內容1.尋址方式2.數據傳送指令3.算術運算指令4.邏輯運算和移位指令5.轉移指令6.字符串操作指令7.處理器控制、輸入輸出和中斷指令(二)學習時間安排1.自學(10小時):教材中第3章的內容(5小時),課件的第3章內容(5小時)2.作業(2小時):完成自測習題和復習思考題(詳見課件第3章學習指導)。(三)本章重點1.尋址方式2.指令系統(四)本章難點1.存儲器操作數的尋址方式2.條件轉移指令、字符串操作指令、輸入輸出指令(五)本章考點1.7種尋址方式2.數據傳送指令3.算術運算指令4.邏輯運算和移位指令5.轉移指令6.字符串操作指令7.處理器控制、輸入輸出和中斷指令(六)學習指導指令系統是表征一臺計算機性能的重要因素,它決定了計算機的基本功能。指令系統的格式和功能不僅直接影響到機器的硬件結構,而且也直接影響到系統軟件和機器的適用范圍。因此,學習指令系統不僅是學習匯編語言的重要內容而且也是理解機器基本功能以及進行接口程序設計的重要基礎。本章針對8086/8088尋址方式和指令系統分別介紹了基本概念和各類指令的使用。微處理器指令按照操作數的設置可分為隱含操作數指令、單操作數指令和雙操作數指令3種;按操作數的存放位置有立即數、寄存器操作數、存儲器操作數和輸入/輸出端口操作數4種類型。指令通常并不直接給出操作數,而是給出操作數的存放地址。尋找操作數地址的方式稱為尋址方式。8086有立即數尋址、寄存器尋址、直接尋址、寄存器間接尋址、寄存器相對尋址、基址變址尋址和相對基址變址7種基本尋址方式,要明確各種尋址方式的區別和特點,重點掌握存儲器尋址方式中的有效地址和物理地址的計算方法。指令系統是程序設計的基礎,按功能分為數據傳送指令、算術運算指令、邏輯運算指令、移位指令、轉移指令、字符串操作指令、處理器控制指令、輸入輸出指令以及中斷指令等。在學習這些指令時,應當從指令的功能、操作數的個數、源操作數與目的操作數可以采用的尋址方式及是否影響標志位等幾方面加以理解,為匯編語言的學習提供基礎。(七)案例解析詳見本章文字教材中的舉例。(八)自測習題與作業1.第3章各節知識點習題:詳見各講習題測試及本章思考題2.自測習題一、選擇題1.寄存器間接尋址方式中,要尋找的操作數位于()中。 A.通用寄存器B.內存單元C.段寄存器D.堆棧【答案】B2.下列指令中正確的是()。 A.MOVAL,BXB.MOVCS,AXC.MOVAL,CLD.MOV[BX],[SI]【答案】C3.下列指令中錯誤的是()。 A.MOVAX,1234HB.INCBXC.SRLAX,2D.PUSHDX【答案】C4.設(SP)=1010H,執行POPAX后,SP中的內容為()。 A.1011HB.1012HC.1OOEHD.100FH【答案】B5.給定(AL)=80H,(CL)=02H,指令SHRAL,CL執行后的結果是()。 A.(AL)=40HB.(AL)=20HC.(AL)=C0HD.(AL)=E0H【答案】B6.將AX清零并使CF位清零,下面指令錯誤的是()。 A.SUBAX,BXB.XORAX,AXC.MOVAX,0(不影響FR)D.ANDAX,0OOOH【答案】A二、填空題1.計算機指令通常由()和()兩部分組成;指令對數據操作時,按照數據的存放位置可分為()。【答案】操作碼字段;操作數字段;立即數、寄存器操作數、存儲器操作數2.尋址的含義是指();8086指令系統的尋址方式中尋址速度最快的是()。【答案】尋找操作數的過程;立即數尋址3.指令MOVAX,ES:[BX+O1OOH]中,源操作數位于();讀取的是()段的存儲單元內容。【答案】物理地址為ES*10H+BX+0100H的存儲單元;附加數據ES4.堆棧是一個特殊的(),其操作是以()為單位按照()原則來處理;采用()指向棧頂地址,入棧時地址變化為()。【答案】存儲器區域;2字節單元;先進后出;SP;SP<=(SP)-2三、問答題1.8086系統中,當對SS和SP寄存器的值進行修改時,有什么特殊規定?這樣做的原因是什么?【答案】凡是遇到給SS寄存器賦值的傳送指令時,系統會自動禁止外部中斷,等到本條指令和下條指令執行之后,又自動恢復對SS寄存器賦值前的中斷開放情況。這樣做是為了允許程序員連續用兩條指令分別對SS和SP寄存器賦值,同時又防止堆棧空間變動過程中出現中斷。2.用乘法指令時,特別要注意先判斷用有符號數乘法指令還是用無符號數乘法指令,這是為什么?【答案】用乘法指令時,特別要注意先判斷用有符號數乘法指令還是用無符號數乘法指令,是因為在執行乘法運算時,要想使無符號數相乘得到正確的結果,有符號數相乘時,就得不到正確的結果;要想使有符號數相乘得到正確的結果,無符號數相乘時,就得不到正確的結果。四、分析計算題1.指出如下指令中源操作數和目的操作數的尋址方式:(1)MOVAX,100H(2)MOVCX,AX(3)ADD[SI],1000(4)SUBBX,[SI+100](5)MOV[BX+300],AX(6)ANDBP,[DI]【答案】源操作數目的操作數(1)MOVAX,100H立即數寄存器(2)MOVCX,AX寄存器寄存器(3)ADD[SI],1000立即數寄存器間接(4)SUBBX,[SI+100]變址寄存器(5)MOV[BX+300],AX寄存器變址(6)ANDBP,[DI]寄存器間接寄存器2.分析如下指令的正誤,對錯誤指令說明出錯誤原因并加以收正:(1)MOV[1200],23H(2)MOV1020H,CX(3)MOV[1000H],[2000H](4)MOVIP,O00H(5)PUSHAL(6)OUTCX,AL(7)INAL,[80H](8)MOVCL,3300H【答案】(1)MOV[1200],23H;未指明數據類型MOVBYTEPTR[1200],23H(2)MOV1020H,CX;立即數不能作為目標操作數MOV[1020H],CX(3)MOV[1000H],[2000H];兩操作數不能均是內存單元MOVBYTEPTR[1000H],2000H(4)MOVIP,000H;IP不能在MOV指令中出現JMP000H(5)PUSHAL;操作數必須是16位PUSHAX(6)OUTCX,AL;CX不能作為端口地址的間接訪問寄存器OUTDX,AL(7)INAL,[80H];直接端口地址寫法錯誤INAL,80H(8)MOVCL,3300H;兩操作數的數據類型不一致MOVCX,3300H3.給定(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(2010lH)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H。試分析如下指令執行后,AX寄存器中的內容:(1)MOVAX,12O0H(2)MOVAX,BX(3)MOVAX,[1200H](4)MOVAX,[BX](5)MOVAX,1100H[BX](6)MOVAX,[BX+SI](7)MOVAX,[11OOH+BX+SI]【答案】(1)(AX)=1200H(2)(AX)=0100H(3)(AX)=4C2AH(4)(AX)=3412H(5)(AX)=4C2AH(6)(AX)=7856H(7)(AX)=65B7H4.已知(AX)=75A4H,CF=1,分別寫出如下指令執行后的結果:(1)ADDAX,08FFH(2)INCAX(3)SUBAX,4455H(4)ANDAX,OFFFH(5)ORAX,0101H(6)SARAX,1(7)RORAX,1(8)ADCAX,5【答案】(1)(AX)=7EA3HCF=0(2)(AX)=75A5HCF=1(3)(AX)=314FHCF=0(4)(AX)=05A4H(5)(AX)=75A5HCF=0(6)(AX)=3AD2HCF=0(7)(AX)=3AD2HCF=0(8)(AX)=75AAHCF=05.給定(SS)=8000H,(SP)=2000H,(AX)=7A6CH,(DX)=3158H。執行如下程序段,畫出每條指令執行后寄存器的內容和堆棧存儲內容的變化情況:PUSHAXPUSHDXPOPBXPOPCX【答案】PUSHAX;(AX)=7A6CH,(SP)=1FFEH,(81FFEH)=7A6CHPUSHDX;(DX)=3158H,(SP)=1FFCH,(81FFCH)=3158HPOPBX;(BX)=3158H,(SP)=1FFEHPOPCX;(CX)=7A6CH,(SP)=2000H6.試分析如下程序段執行完后,BX的內容。MOVBX,1030HMOVCL,3SHLBX,CLDECBX【答案】程序段執行完后,BX的內容:817FHMOVBX,1030H;(BX)=1030HMOVCL,3;(CL)=3SHLBX,CL;(BX)=8180HDECBX;(BX)=817FH第4章匯編語言程序設計(一)自學內容1.匯編語言程序設計概述2.匯編語言語句3.偽指令系統4.匯編語言程序結構及順序程序設計5.分支程序設計6.循環程序設計7.子程序設計及DOS/BIOS功能調用(二)學習時間安排1.自學(10小時):教材中第4章的內容(5小時),課件的第4章內容(5小時)2.作業(5小時):完成自測習題和復習思考題(詳見課件第4章學習指導)。(三)本章重點1.機器語言和匯編語言、匯編與連接的概念2.匯編語言的語句格式、指令語句中的運算符和操作符3.偽指令系統4.匯編語言程序的結構5.基本結構程序設計6.DOS/BIOS功能調用(四)本章難點1.匯編與連接的概念2.指令語句中的運算符和操作符3.數據定義偽指令、段定義偽指令、過程定義偽指令4.分支程序設計、循環程序設計、子程序設計(五)本章考點1.機器語言和匯編語言、匯編與連接的概念2.匯編語言的語句格式、指令語句中的運算符和操作符3.偽指令使用4.匯編語言程序的結構5.基本結構程序設計6.DOS/BIOS功能調用(六)學習指導在匯編語言的學習中,程序設計對于一個初學者來說是一個倍感棘手的問題。當學習了相關的原理知識及指令系統后,就希望能運用學到的知識解決實際的問題。這就需要通過程序設計來完成。學習程序設計應從基本知識和基本方法入手,逐步深入。本章主要講述:匯編語言基本概念、匯編語言語句、偽指令系統、匯編語言程序的結構、基本結構程序設計、DOS/BIOS功能調用等內容,使大家能掌握程序設計的方法,提高對匯編語言的運用能力,并掌握相關的一些重要算法,為將來靈活地運用匯編語言解決更實用、更復雜的問題做好必要的準備。匯編語言是面向機器的程序設計語言,它使用指令助記符、符號地址及標號編制程序,要熟悉匯編語言源程序的基本格式,正確運用語句格式來書寫程序段,掌握偽指令的功能和應用,并通過上機操作,熟悉編輯程序、匯編程序、連接程序和調試程序等軟件工具的使用,掌握源程序的建立、匯編、連接、運行、調試等技能。匯編語言程序設計有3種基本的程序結構。順序結構按照語句實現的先后次序執行一系列操作,是最簡單的一種結構;分支結構是程序設計中常用的結構之一,有雙分支和多分支兩種形式;循環結構用來實現需要重復執行的操作,通常由循環初始化、循環體部分、參數修改部分和循環控制部分共四部分組成。子程序設計是把多處用到的同一個程序段或者具有一定功能的程序段單獨存放在某一存儲區域中,需要執行的時候,使用調用指令轉到這段程序來執行,執行完再返回原來的程序。這樣做提高了程序段的利用率,也有利于模塊化的程序設計和開發。熟悉各種程序的結構和編程技巧對匯編語言程序設計有著積極的促進作用。(七)案例解析詳見本章文字教材中的舉例。(八)自測習題與作業1.第4章各節知識點習題:詳見各講習題測試及本章思考題2.自測習題一、選擇題1.匯編語言程序中可執行的指令位于()中。 A.數據段B.堆棧段C.代碼段D.附加數據段【答案】C2.以下內容不是標號和變量屬性的是()。 A.段屬性B.地址屬性C.偏移屬性D.類型屬性【答案】B3.DOS功能調用中采用屏幕顯示單個字符,其值保存在()寄存器。 A.ALB.AHC.DLD.DH【答案】C4.DOS功能調用中,從鍵盤讀取一個字符并回顯的是()。 A.01HB.02HC.09HD.0AH【答案】A5.循環程序設計中,要考慮的核心問題是()。 A.循環的控制B.選擇循環結構C.設置循環參數初始值D.修改循環控制參數【答案】D6.對于宏指令和子程序,下列說法不正確的是()。 A.宏指令不能簡化目標程序B.子程序可以簡化目標程序,但執行時間長C.子程序在執行過程中由CPU處理D.宏指令在執行時要保護和恢復現場【答案】D二、填空題1.匯編語言是一種面向()的程序設計語言,采用()表示操作碼和操作數,用()表示操作數地址。【答案】CPU指令系統;指令助記符;符號地址2.機器指令是指發送給()的命令,在運行時由()執行;偽指令是發送給()的命令,在匯編過程中由()進行處理;宏指令是代表()。【答案】CPU;CPU;匯編程序;匯編程序;一段源程序3.子程序的基本結構包括子程序說明、()、()和()等幾個部分;子程序的參數傳遞有()等方法。【答案】現場保護及恢復;子程序體;子程序返回;寄存器、堆棧、存儲器三、判斷題(正確為“T”,錯誤為“F”)1.偽指令是在匯編中用于管理和控制計算機相關功能的指令。 ()【答案】F2.程序中的“$”可指向下一個所能分配存儲單元的偏移地址。 ()【答案】T3.宏指令的引入是為了增加匯編程序的功能。 ()【答案】T4.多重循環的內循環要完整地包含在外循環中,可嵌套和并列。 ()【答案】T5.子程序結構縮短了程序的長度,節省了程序的存儲空間。 ()【答案】T四、簡答題1.完整的匯編源程序應該由哪些邏輯段組成?各邏輯段的主要作用是什么?【答案】完整的匯編源程序由數據段、堆棧段、代碼段等邏輯段組成。數據段用來存放數據變量及其預置初值;堆棧段用來保存中斷和子程序的斷點和參數傳遞;代碼段用來存放程序執行的代碼。2.簡述在機器上建立、編輯、匯編、連接、運行、調試匯編語言源程序的過程和步驟。【答案】為源程序起一個有意義的文件名字,并創建成文本文件;在文本編輯軟件EDIT.EXE環境下,輸入和編輯源程序;通過匯編程序ASM.EXE或MASN.EXE,將源程序會變成機器語言目標程序.OBJ;運用連接程序LINK.EXE,將目標程序.OBJ連接生成執行程序.EXE;在DOS狀態下,直接運行執行程序;運用調試程序DEBUG.EXE將執行程序跳入調試界面狀態,并進行斷點設置調試運行或單步調試運行操作。3.什么是偽指令?程序中經常使用的偽指令有哪些?簡述其主要功能?【答案】偽指令是發送給匯編程序的命令。程序中經常使用的偽指令有數據定義、符號定義、段定義、過程定義、結構定義、模塊定義與連接、程序計數器$和起點定義ORG。數據定義為變量及其類型分配存儲單元,并賦予初值;符合定義給一個符號重新命名;段定義指定邏輯段的名稱、范圍、斷的定位類型、組合類型和類別;過程定義為程序段定義成過程,并賦予過程名字,以便用CALL指令調用;結構定義用于相互關聯的數據定義;模塊定義與連接用NAME為源程序匯編后的目標程序指定模塊名,以便連接該目標模塊,并生成執行程序文件;$在匯編過程中,用于存儲單元分配計數器,該計數器可在指令操作數表達式中引用;ORG為數據變量和程序段指定起始位置。4.子程序與宏指令在程序的使用中有何共性及不同特點?【答案】宏和子程序都可用來簡化程序,并可使程序多次對它們調用。宏操作可直接傳遞和接收參數,不通過堆棧或其他媒介;子程序不能直接帶參數,需有傳遞參數時,必須通過堆棧寄存器和存儲器進行。宏調用只能簡化源程序的書寫,并沒有縮短目標代碼長度;子程序調用能縮短目標程序長度。應用好操作并不會在執行目標代碼時增加額外的時間開銷;子程序調用由于需要保護和恢復現場和斷點,因而延長目標程序的執行時間。五、設計題1.編程實現求S=(X2+Y2)/Z的值,并將結果放人RESULT單元。【答案】DATASEGMENT;定義數據段XDW15YDW-32ZDW280RESULTDW2DUP(?);定義結果保存單元DATAENDS;數據段結束CODESEGMENT;定義代碼段ASSUMECS:CODE,DS:DATASTART:MOVAX,DATA;初始化DSMOVDS,AXMOVAX,X;取出被乘數X存入AX中IMULX;執行X2操作MOVCX,AX;乘積的低位字轉存至CXMOVBX,DX;乘積的高位字轉存至BXMOVAX,Y;取出被乘數X存入AX中IMULY;執行Y2操作ADDAX,CX;X2+Y2的低位字與Z的低位字相加ADCDX,BX;X2+Y2的高位字相加IDIVZ;(X2+Y2)/ZMOVRESULT,AX;商存入RESULT單元MOVRESULT+2,DX;余數存入RESULT+2單元MOVAH,4CHINT21H;返回DOSCODEENDS;代碼段結束ENDSTART;匯編結束2.編程序完成計算S=(A+B)/2-2(AANDB)。【答案】DATASEGMENT;定義數據段ADW15BDW-32SDW?RESULTDW2DUP(?);定義結果保存單元DATAENDS;數據段結束CODESEGMENT;定義代碼段ASSUMECS:CODE,DS:DATASTART:MOVAX,DATA;初始化DSMOVDS,AXMOVAX,A;取出被乘數A存入AX中ADDAX,B;A+BSARAX,1;(A+B)/2MOVBX,AX;存入BX中MOVAX,A;取出被乘數A存入AX中ANDAX,B;AANDBSALAX,1;(AANDB)*2SUBBX,AX;(A+B)/2-2(AANDB)MOVS,BX ;存入S單元MOVAH,4CHINT21H;返回DOSCODEENDS;代碼段結束ENDSTART;匯編結束3.試編程實現將內存中的若干個無符號字數據中的最大值和最小值找出來,并開辟獨立的存儲區域保存結果。【答案】DATASEGMENTARRDW123,456,67,0,34,90,89,67,0,256CNEQU($-ARR)/2ZDDW0;最大(數組中任何數均大于AX內容)ZXDW0FFFFH;最小(數組中任何數均小于BX內容)DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AX;初始化DSMOVSI,OFFSETARR;數組首地址送SIMOVCX,CN;數組元素個數送CXCALLQZDZXS;調用近過程QZDZXS(求最大最小數)MOVAH,4CHINT21H;返回DOS;求最大最小數子程序名:QZDZXS;子程序功能:求一組字數據中的最大最小數;入口參數:數組首地址在SI中,數組個數在CX中;出口參數:最大數在ZD中,最小數在ZX中;使用寄存器:CX、DX、SI及PSWQZDZXSPROCNEARPUSHSIPUSHDXPUSHCX;保護現場ZDZX0:MOVDX,[SI];取一個數組元素送DXCMPZD,DX;AX中內容和DX中內容比較JNBZDZX1;(ZD)>(DX),轉ZDZX1MOVZD,DX;較大數存入ZDZDZX1:CMPZX,DX;AX中內容和DX中內容比較JNAZDZX2;(ZX)<(DX),轉ZDZX1MOVZX,DX;較小數存入ZXZDZX2:ADDSI,2;數組指針加2調整LOOPZDZX0;循環控制POPCXPOPDXPOPSI;恢復現場RET;返回主程序QZDZXSENDP;子程序定義結束CODEENDS;代碼段結束ENDSTART;匯編結束4.編寫程序,計算如下函數的值:【答案】DATASEGMENTXDB15SDB?DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AXMOVAL,XTESTAL,80HJZLL0SALAL,1;2XJMPLL10LL0:CMPAL,10JGLL1MOVBL,ALSALAL,1;3XADDAL,BLJMPLL10LL1:SALAL,1;4XSALAL,1LL10:MOVS,ALMOVAH,4CHINT21H;返回DOSCODEENDSENDSTART;匯編結束5.從鍵盤輸入一系列字符,以回車符結束,編寫程序統計其中非數字字符的個數?【答案】DATASEGMENTNUMDB0;統計變量DATAENDSSTACKSEGMENTSTACK;定義堆棧段DB100DUP(?);開辟100個存儲單元STACKENDS;堆棧段結束CODESEGMENT;定義代碼段ASSUMECS:CODE,SS:STACK,DS:DATASTART:MOVAX,DATAMOVDS,AXLLL:MOVAH,01H;1號調用,從鍵盤輸入一字符存入ALINT21HCMPAL,13;與“回車符”的ASCII碼比較JZL2;是“回車符”,轉L2(退出)CMPAL,30H;與“0”JBL1;低于“0”的非數字字符ASCII碼,CMPAL,39H;與“9”JAL1;高于“9”的非數字字符ASCII碼,JMPLLLL1:INCNUM;非數字字符,統計;計數增1。JMPLLL;轉LLL(繼續)L2:MOVDL,0AH;設置換行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 名師工作室成員的工作總結(16篇)
- 德育處工作總結(9篇)
- 2025至2031年中國光波加熱儀行業投資前景及策略咨詢研究報告
- 老人日常照顧保姆合同
- 2025至2031年中國保鮮膜機行業投資前景及策略咨詢研究報告
- 2025年中國秋冬服數據監測報告
- 電商品牌建設路徑-全面剖析
- 教師節演講稿1000字(16篇)2
- 風電場選址優化技術-全面剖析
- 課題申報書:學校、社會、數字三維教育空間融合研究
- GB/T 17872-1999江海直達貨船船型系列
- GB/T 12027-2004塑料薄膜和薄片加熱尺寸變化率試驗方法
- 中醫手診培訓資料課件
- 消防主機運行記錄表(標準范本)
- DB2110T 0004-2020 遼陽地區主要樹種一元、二元立木材積表
- 應急處置措施交底
- 基于深度學習的問題鏈講座課件(44張PPT)
- Q∕GDW 12154-2021 電力安全工器具試驗檢測中心建設規范
- 第四章 金融監管(商業銀行管理-復旦大學)
- 中波發射臺搬遷建設及地網鋪設、機房設備的安裝與調整實踐
- 影像診斷學-—-總論PPT課件
評論
0/150
提交評論