存儲器與寄存器有什么不同 ppt課件_第1頁
存儲器與寄存器有什么不同 ppt課件_第2頁
存儲器與寄存器有什么不同 ppt課件_第3頁
存儲器與寄存器有什么不同 ppt課件_第4頁
存儲器與寄存器有什么不同 ppt課件_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第二章第二章1 1 存儲器與存放器有什么不同?存儲器與存放器有什么不同?答:存放器在答:存放器在CPUCPU的內部,它的訪問速度快,但容量小的內部,它的訪問速度快,但容量小80868086微處置微處置器只需器只需1414個個1616位存放器、本錢高,它用名字來標識如位存放器、本錢高,它用名字來標識如AXAX、BXBX等,等,沒有地址;存儲器在沒有地址;存儲器在CPUCPU的外部,它的訪問速度比存放器慢,容量大的外部,它的訪問速度比存放器慢,容量大2020根地址線尋址根地址線尋址1M1M內存空間、本錢低,存儲單元用地址來標識,地址可內存空間、本錢低,存儲單元用地址來標識,地址可用各種方式構成。用

2、各種方式構成。2 2 標志存放器中的形狀標志和控制標志有什么區別?標志存放器中的形狀標志和控制標志有什么區別?答:形狀標志用來記錄程序運轉結果的形狀信息,許多指令執行終答:形狀標志用來記錄程序運轉結果的形狀信息,許多指令執行終了后都相應地設置形狀標志,它又稱為條件碼標志,包括進位標志、溢了后都相應地設置形狀標志,它又稱為條件碼標志,包括進位標志、溢出標志、符號標志、零標志、奇偶標志等;控制標志用來控制處置器執出標志、符號標志、零標志、奇偶標志等;控制標志用來控制處置器執行指令的方式,普通在程序中根據需求由指令設置,如方向標志、中斷行指令的方式,普通在程序中根據需求由指令設置,如方向標志、中斷標

3、志、圈套標志等。標志、圈套標志等。3 3溢出標志溢出標志OFOF和進位標志和進位標志CFCF有什么不同?有什么不同?答:當運算結果的最高有效位有向高位的進位加法或借位減答:當運算結果的最高有效位有向高位的進位加法或借位減法時,進位標志法時,進位標志CFCF置置1 1;當運算結果超出了機器所能表示的數的范圍時,;當運算結果超出了機器所能表示的數的范圍時,產生溢出,溢出標志產生溢出,溢出標志OFOF置置1 1。4 4一個字在存儲器中是如何存放的?一個字在存儲器中是如何存放的?答:一個字在存儲器中占用相鄰的兩個存儲單元,低答:一個字在存儲器中占用相鄰的兩個存儲單元,低8 8位存入低位存入低地址,高地

4、址,高8 8位存入高地址,字單元的地址用它的低地址來表示。位存入高地址,字單元的地址用它的低地址來表示。5 5為什么要將存儲器分段管理?為什么要將存儲器分段管理?答:對于答:對于1616位字長的位字長的8086CPU8086CPU而言,只能表示而言,只能表示1616位存儲器地址位存儲器地址編號從編號從0000HFFFFH0000HFFFFH;但;但8086CPU8086CPU的地址線是的地址線是2020根,最大可尋址根,最大可尋址1MB1MB的存儲空間,其物理地址范圍從的存儲空間,其物理地址范圍從00000HFFFFFH00000HFFFFFH。為了用。為了用1616位地址在位地址在1MB1M

5、B空間尋址,將空間尋址,將1MB1MB存儲器空間分成許多邏輯段,這樣每個存儲單元存儲器空間分成許多邏輯段,這樣每個存儲單元就可以用就可以用 段地址:偏移地址段地址:偏移地址 來表示其準確的物理位置。來表示其準確的物理位置。 段地址是邏輯段在主存中的起始位置,段地址是邏輯段在主存中的起始位置,80868086規定段地址必需是規定段地址必需是xxxx0Hxxxx0H方式,省略低方式,省略低4 4位位0 0,段地址就可用,段地址就可用1616位二進制數表示,通常保位二進制數表示,通常保管在段存放器中;偏移地址是存儲單元間隔段起始位置的偏移值,每管在段存放器中;偏移地址是存儲單元間隔段起始位置的偏移值

6、,每個段最大個段最大64KB64KB,所以偏移地址也可用,所以偏移地址也可用1616位二進制數表示。這樣,物理位二進制數表示。這樣,物理地址就可經過段地址乘以地址就可經過段地址乘以1616加上偏移地址得到加上偏移地址得到6 6程序中的指令與數據在存儲器中是怎樣存放的?程序中的指令與數據在存儲器中是怎樣存放的?答:程序中的指令序列存放在代碼段中,程序中運用答:程序中的指令序列存放在代碼段中,程序中運用的堆棧存放在堆棧段中,程序中的數據默許存放在數據段的堆棧存放在堆棧段中,程序中的數據默許存放在數據段中,有時也放在附加段中。中,有時也放在附加段中。第三章第三章1 1 什么是尋址方式?什么是尋址方式

7、?答:在指令中,有時要尋覓操作數的地址,有時要尋答:在指令中,有時要尋覓操作數的地址,有時要尋覓轉移地址如轉移指令、覓轉移地址如轉移指令、CALLCALL指令等,這些尋覓地址指令等,這些尋覓地址的方式就稱為尋址方式。的方式就稱為尋址方式。80868086微處置器尋覓操作數地址有微處置器尋覓操作數地址有七種方式:立刻尋址、存放器尋址、直接尋址、存放器間七種方式:立刻尋址、存放器尋址、直接尋址、存放器間接尋址、存放器相對尋址、基址變址尋址、相對基址變址接尋址、存放器相對尋址、基址變址尋址、相對基址變址尋址等;尋覓轉移地址的方式有段內尋址和段間尋址,它尋址等;尋覓轉移地址的方式有段內尋址和段間尋址,

8、它們又分為段內直接、段內間接、段間直接、段間間接尋址們又分為段內直接、段內間接、段間直接、段間間接尋址等。等。2 2 MOV MOV指令有什么特殊規定?指令有什么特殊規定?答:答:MOVMOV指令是雙操作數指令,兩個操作數不能同為存儲指令是雙操作數指令,兩個操作數不能同為存儲器尋址方式且不能同時為段存放器,目的操作數不允許用立器尋址方式且不能同時為段存放器,目的操作數不允許用立刻尋址方式且不能是代碼段段存放器刻尋址方式且不能是代碼段段存放器CSCS,立刻數不能直接送,立刻數不能直接送段存放器等。段存放器等。3 3PUSHPUSH指令和指令和POPPOP指令有什么特點?指令有什么特點?答:這是兩

9、個重要的對堆棧操作的指令,它們只能做字答:這是兩個重要的對堆棧操作的指令,它們只能做字操作,它們所帶的操作數不能是立刻數,操作,它們所帶的操作數不能是立刻數,POPPOP指令不允許運用指令不允許運用CSCS存放器。存放器。4 4算術移位指令和邏輯移位指令有什么不同?算術移位指令和邏輯移位指令有什么不同?答:算術移位指令普通用于帶符號數的乘答:算術移位指令普通用于帶符號數的乘2 2或除或除2 2運算,運算,正確的運算結果應保證符號位不變;邏輯移位指令用于無符正確的運算結果應保證符號位不變;邏輯移位指令用于無符號數的乘號數的乘2 2或除或除2 2運算,參與移位的操作數的最高有效位并不運算,參與移位

10、的操作數的最高有效位并不代表符號位。代表符號位。5 5ADDADD、SUBSUB、NEGNEG等指令執行終了后,等指令執行終了后,CFCF和和OFOF的值意味著什么?的值意味著什么?答:答:CF=1CF=1意味著把參與運算的數看作無符號數時,運算出現了錯誤,意味著把參與運算的數看作無符號數時,運算出現了錯誤,同時它確實代表最高有效位有向高位的進位加法或借位減法;同時它確實代表最高有效位有向高位的進位加法或借位減法;OF=1OF=1意味著把參與運算的數看作帶符號數時,運算出現了錯誤。也就是意味著把參與運算的數看作帶符號數時,運算出現了錯誤。也就是說,說,CFCF位可用來表示無符號數的溢出,位可用

11、來表示無符號數的溢出,OFOF位可用來表示帶符號數的溢出。位可用來表示帶符號數的溢出。6 6乘法指令和除法指令有什么特殊規定?乘法指令和除法指令有什么特殊規定?答:在乘法指令中,隱含運用累加器答:在乘法指令中,隱含運用累加器ALAL或或AXAX參與運算,兩個參與運算,兩個8 8位數相位數相乘得到乘得到1616位乘積,存放在位乘積,存放在AXAX中;兩個中;兩個1616位數相乘得到位數相乘得到3232位乘積,存放在位乘積,存放在DX,AXDX,AX中。在除法指令中,隱含運用中。在除法指令中,隱含運用DX,AXDX,AX或或AXAX做被除數,做被除數,1616位數除以位數除以8 8位數,位數,8

12、8位商在位商在ALAL中,中,8 8位余數在位余數在AHAH中;中;3232位數除以位數除以1616位數,位數,1616位商在位商在AXAX中,中,1616位余數在位余數在DXDX中。中。7 7邏輯運算指令的主要作用是什么?邏輯運算指令的主要作用是什么?答:邏輯運算指令對處置操作數的某些位很有用,例如可屏蔽某些答:邏輯運算指令對處置操作數的某些位很有用,例如可屏蔽某些位將這些位置位將這些位置0 0,將某些位置,將某些位置1 1,將某些位變反,測試某些位等。,將某些位變反,測試某些位等。8 8 串處置指令有什么特殊規定?串處置指令有什么特殊規定?答:在串處置指令中,源串默許在數據段中,但允許運答

13、:在串處置指令中,源串默許在數據段中,但允許運用段跨越前綴來修正,源操作數用用段跨越前綴來修正,源操作數用SISI尋址;目的串只能在附尋址;目的串只能在附加段中,目的操作數用加段中,目的操作數用DIDI尋址。尋址。SISI與與DIDI有自動增、減量的功有自動增、減量的功能,可完成正向或反向、字節操作或字操作的串處置。能,可完成正向或反向、字節操作或字操作的串處置。9 9條件轉移指令和無條件轉移指令有什么不同?條件轉移指令和無條件轉移指令有什么不同?答:條件轉移指令的位移量只允許答:條件轉移指令的位移量只允許8 8位,即目的地址應位,即目的地址應在本條轉移指令的下一條指令地址的在本條轉移指令的下

14、一條指令地址的-128 +127-128 +127個字節的個字節的范圍之內,因此它只能實現段內轉移;無條件轉移指令那么范圍之內,因此它只能實現段內轉移;無條件轉移指令那么沒有此限制,它可以實現段內和段間兩種轉移,段內轉移可沒有此限制,它可以實現段內和段間兩種轉移,段內轉移可運用運用8 8位或位或1616位位移量。位位移量。第四章第四章1 1 指令和偽指令有什么區別?指令和偽指令有什么區別?答:指令是在程序運轉期間由計算機來執行的,而偽指令偽操答:指令是在程序運轉期間由計算機來執行的,而偽指令偽操作是在匯編程序對源程序進展匯編時處置的操作,完成諸如數據定作是在匯編程序對源程序進展匯編時處置的操作

15、,完成諸如數據定義、存儲器分配、指示程序開場終了等功能。義、存儲器分配、指示程序開場終了等功能。2 2 匯編言語源程序中的變量和標號有哪些屬性?匯編言語源程序中的變量和標號有哪些屬性?答:源程序中的變量和標號都有三種屬性:段、偏移及類型。變答:源程序中的變量和標號都有三種屬性:段、偏移及類型。變量在除代碼段以外的其他段中定義,段地址存放在段存放器中,偏移量在除代碼段以外的其他段中定義,段地址存放在段存放器中,偏移地址存放在基址或變址存放器中,變量的類型可以是地址存放在基址或變址存放器中,變量的類型可以是BYTEBYTE字節、字節、WORDWORD字、字、DWORDDWORD雙字等;標號指示指令

16、的地址,它的段地址總雙字等;標號指示指令的地址,它的段地址總在在CSCS中,偏移地址在中,偏移地址在IPIP中,標號的類型可以是中,標號的類型可以是NEARNEAR近或近或FARFAR遠。遠。3 3指令指令AND AL, OPR1 AND 0FFHAND AL, OPR1 AND 0FFH中的兩個中的兩個ANDAND有什么區別?有什么區別?答:第一個答:第一個ANDAND是操作碼,闡明這是一條邏輯運算指令,完成邏輯是操作碼,闡明這是一條邏輯運算指令,完成邏輯與運算;第二個與運算;第二個ANDAND是一個按位操作的邏輯操作符,它只能用于數字表是一個按位操作的邏輯操作符,它只能用于數字表達式。達式

17、。第五章第五章1 1 在把二進制數以十六進制數的方式在屏幕上顯示出來的程序中,關在把二進制數以十六進制數的方式在屏幕上顯示出來的程序中,關于顯示字符的于顯示字符的ASCIIASCII碼是如何調整的?碼是如何調整的?答:在運用答:在運用DOSDOS功能調用功能調用INT 21HINT 21H顯示單個字符時,必需得到要顯示單個字符時,必需得到要顯示字符的顯示字符的ASCIIASCII碼。字符碼。字符00到到99的的ASCIIASCII碼為碼為30H30H到到39H39H,因此只需把,因此只需把0 0到到9 9加上加上30H30H就可以了;但字符就可以了;但字符AA到到FF的的ASCIIASCII碼

18、為碼為41H41H到到46H46H,0AH0AH到到0FH0FH除了加上除了加上30H30H之外,還要再加上之外,還要再加上7 7。2 2 為什么說循環構造是分支構造的特例?為什么說循環構造是分支構造的特例?答:循環構造在滿足循環條件時實行循環,這實踐上是多次走同一答:循環構造在滿足循環條件時實行循環,這實踐上是多次走同一個分支,當不滿足循環條件時,就走另一個分支,因此循環構造是一種個分支,當不滿足循環條件時,就走另一個分支,因此循環構造是一種特殊的分支構造。特殊的分支構造。3 3 多重循環程序如何編寫?多重循環程序如何編寫? 答:可以利用答:可以利用LOOPLOOP指令和轉移指令。指令和轉移

19、指令。第六章第六章1 1 子程序調用和前往指令完成哪些操作?子程序調用和前往指令完成哪些操作?答:子程序調用指令首先把子程序的前往地址即調用程序中答:子程序調用指令首先把子程序的前往地址即調用程序中CALLCALL指指令的下一條指令的地址存入堆棧,然后轉移到子程序的入口地址去執行,令的下一條指令的地址存入堆棧,然后轉移到子程序的入口地址去執行,它又分為段內調用和段間調用;前往指令的操作是前往地址出棧送它又分為段內調用和段間調用;前往指令的操作是前往地址出棧送IPIP存放存放器段內或段間和器段內或段間和CSCS存放器段間。存放器段間。2 2 將過程定義為將過程定義為FARFAR屬性,可以段內調用

20、嗎?屬性,可以段內調用嗎?答:不能。假設所定義的過程是答:不能。假設所定義的過程是FARFAR屬性,那么對它的調用和前往一屬性,那么對它的調用和前往一定都是定都是FARFAR屬性;假設所定義的過程是屬性;假設所定義的過程是FARFAR屬性,那么對它的調用和前往一屬性,那么對它的調用和前往一定都是定都是FARFAR屬性。因此只需在定義時思索它的屬性,而屬性。因此只需在定義時思索它的屬性,而CALLCALL和和RETRET的屬性由的屬性由匯編程序來確定。匯編程序來確定。3 3在用堆棧傳參的子程序設計中,為什么常用帶常數的前往指令?在用堆棧傳參的子程序設計中,為什么常用帶常數的前往指令? 答:在用堆

21、棧傳參時,主程序中要把參數的地址壓入堆棧,子程序中答:在用堆棧傳參時,主程序中要把參數的地址壓入堆棧,子程序中經過經過BPBP存放器訪問堆棧單元取出參數的地址,而不是用出棧的方法。因此存放器訪問堆棧單元取出參數的地址,而不是用出棧的方法。因此為使前往到主程序后堆棧能恢復原始形狀不變,要用帶常數的前往指令調為使前往到主程序后堆棧能恢復原始形狀不變,要用帶常數的前往指令調整整SPSP的值。的值。 4 4在用堆棧傳參的子程序設計中,為什么要在用堆棧傳參的子程序設計中,為什么要PUSH BPPUSH BP?答:這是由于子程序中要用到答:這是由于子程序中要用到BPBP存放器。在子程序中,存放器。在子程序

22、中,為了獲得從堆棧傳送過來的參數,必需訪問堆棧,這就要為了獲得從堆棧傳送過來的參數,必需訪問堆棧,這就要用到用到BPBP存放器,而存放器,而BXBX、SISI、DIDI等存放器都不能用來訪問堆等存放器都不能用來訪問堆棧。棧。5 5堆棧段定義時,其變量名所指的是堆棧中的哪個位置?堆棧段定義時,其變量名所指的是堆棧中的哪個位置? 答:棧底。答:棧底。P206P2066 6過程能否只需調用它的時候才被匯編?過程能否只需調用它的時候才被匯編?答:不是。過程和其他指令一樣,在匯編時就被匯編,答:不是。過程和其他指令一樣,在匯編時就被匯編,只是調用時才被運用。只是調用時才被運用。7 7宏、偽指令的匯編過程

23、如何?宏、偽指令的匯編過程如何?答:偽指令不是在程序運轉期間由計算機執行的,而是在匯答:偽指令不是在程序運轉期間由計算機執行的,而是在匯編程序匯編期間同匯編程序處置的操作,它們可以完成如處置編程序匯編期間同匯編程序處置的操作,它們可以完成如處置器的選擇、定義程序方式、定義數據、分配存儲區、指不程序器的選擇、定義程序方式、定義數據、分配存儲區、指不程序終了等功能。當源程序被匯編時,匯編程序將對每個宏調用作終了等功能。當源程序被匯編時,匯編程序將對每個宏調用作宏展開。宏展開就是用宏定義體取代源程序中的宏指令名,而宏展開。宏展開就是用宏定義體取代源程序中的宏指令名,而且用實參取代宏定義中的形參。且用

24、實參取代宏定義中的形參。8 8有必要將主程序定義為過程嗎?如有必要將主程序定義為過程嗎?如P339P339答:普通來說,將主程序定義為一個過程并定義為答:普通來說,將主程序定義為一個過程并定義為FARFAR屬性,屬性,就可以把主程序看作就可以把主程序看作DOSDOS調用的一個子過程。調用的一個子過程。9 9P241P241的的“stack segment at 500hstack segment at 500h的的“at 500hat 500h什么意義?什么意義? 答:答:“at 500hat 500h用來指定堆棧段的段地址用來指定堆棧段的段地址P120P120。第七章第七章1 1編程時應如何

25、選擇運用子程序構造還是宏匯編構造?編程時應如何選擇運用子程序構造還是宏匯編構造?答:運用子程序構造可提高編程效率,節省存儲空間。但每次調用答:運用子程序構造可提高編程效率,節省存儲空間。但每次調用子程序,前往、保管及恢復存放器以及參數的傳送等都要添加程序的額子程序,前往、保管及恢復存放器以及參數的傳送等都要添加程序的額外開銷。因此,子程序構造適宜于子程序代碼較長,傳參較多,有緊縮外開銷。因此,子程序構造適宜于子程序代碼較長,傳參較多,有緊縮存儲空間要求的情況下運用。運用宏匯編的程序執行效率較高,但匯編存儲空間要求的情況下運用。運用宏匯編的程序執行效率較高,但匯編后的目的代碼占用存儲空間較大。因

26、此,宏匯編普通用于子功能代碼較后的目的代碼占用存儲空間較大。因此,宏匯編普通用于子功能代碼較短,傳參較少的程序中運用。其實,運用子程序構造還是運用宏匯編構短,傳參較少的程序中運用。其實,運用子程序構造還是運用宏匯編構造,并沒有固定的規范,大多數情況下,取決于程序員的編程風格。造,并沒有固定的規范,大多數情況下,取決于程序員的編程風格。2 2什么是宏?什么是宏?答:宏是源程序中一段有獨立功能的程序代碼。它只需求在源程序答:宏是源程序中一段有獨立功能的程序代碼。它只需求在源程序中定義一次,就可以多次調用它,調用時只需求用一個宏指令語句就可中定義一次,就可以多次調用它,調用時只需求用一個宏指令語句就

27、可以了。以了。3 3宏指令是如何定義的?宏指令是如何定義的?答:定義宏指令稱為宏定義,宏定義是用一組偽操作來實現的,答:定義宏指令稱為宏定義,宏定義是用一組偽操作來實現的,其格式為:其格式為:宏指令名宏指令名 MACRO MACRO 虛參虛參1 1,虛參,虛參2 2, ( (宏定義體:一組有獨立功能的程序代碼宏定義體:一組有獨立功能的程序代碼) ) ENDM ENDM4 4什么是宏調用?什么是宏展開?什么是宏調用?什么是宏展開?答:在源程序中對宏指令的調用稱為宏調用,但對宏指令必需先答:在源程序中對宏指令的調用稱為宏調用,但對宏指令必需先定義后調用。宏展開是用宏定義體取代源程序中的宏指令名,并

28、且用實定義后調用。宏展開是用宏定義體取代源程序中的宏指令名,并且用實元取代宏定義中的啞元的匯編過程。元取代宏定義中的啞元的匯編過程。5 5在宏展開時,實參和虛參的個數不等,怎樣辦?在宏展開時,實參和虛參的個數不等,怎樣辦?答:匯編程序不要務虛參和虛參的個數必需相等,當實參個數大于答:匯編程序不要務虛參和虛參的個數必需相等,當實參個數大于虛參個數時,多余的實參不予思索;當實參個數小于虛參個數時,那么虛參個數時,多余的實參不予思索;當實參個數小于虛參個數時,那么多余的虛參作多余的虛參作“空處置。空處置。6 6宏調用中的實參實元可以是表達式嗎?宏調用中的實參實元可以是表達式嗎?答:可以是表達式,還可

29、以是常數、字符串、存放器、存儲單元名答:可以是表達式,還可以是常數、字符串、存放器、存儲單元名以及用尋址方式能找到的地址等,也可以是指令的操作碼或操作碼的一以及用尋址方式能找到的地址等,也可以是指令的操作碼或操作碼的一部分。應留意的是,宏展開后,即用實參取代虛參又稱啞元后,所部分。應留意的是,宏展開后,即用實參取代虛參又稱啞元后,所得到的匯編語句應該是有效的,否那么匯編程序將會指示出錯。在得到的匯編語句應該是有效的,否那么匯編程序將會指示出錯。在MASM6MASM6中,還可以用中,還可以用:REQ:REQ指定某個參數是必需有的。指定某個參數是必需有的。7 7& & 操作符及操作

30、符及% %操作符應如何運用?操作符應如何運用?答:答:& & 操作符可以把前后兩個符號合并構成操作碼、操作數或是一操作符可以把前后兩個符號合并構成操作碼、操作數或是一個字符串。個字符串。% % 操作符把跟在它之后的表達式的值轉換成當前基數下的數,操作符把跟在它之后的表達式的值轉換成當前基數下的數,在宏展開期間,用這個數來取代啞元。在宏展開期間,用這個數來取代啞元。8 8.XALL.XALL、.LALL.LALL和和.SALL.SALL有什么區別有什么區別? ?答:這答:這3 3個偽操作是列表偽操作,用來控制匯編清單中個偽操作是列表偽操作,用來控制匯編清單中宏展開的列出方式。普通

31、在宏展開的列出方式。普通在LSTLST清單中,運用隱含的清單中,運用隱含的.XALL.XALL偽操作,它使不產生目的代碼的語句在清單中不列出偽操作,它使不產生目的代碼的語句在清單中不列出來。來。.LALL.LALL列出包括注釋在內的一切宏展開;列出包括注釋在內的一切宏展開;.SALL.SALL那么不那么不列出任何展開信息。列出任何展開信息。9 9LOCALLOCAL偽操作的作用是什么?偽操作的作用是什么?答:當宏定義體內的功能代碼運用了標號,而在程序答:當宏定義體內的功能代碼運用了標號,而在程序中要多次調用該宏定義,此時宏展開后會出現標號的多重中要多次調用該宏定義,此時宏展開后會出現標號的多重

32、定義,這是不能允許的。為理處理這個問題,系統提供了定義,這是不能允許的。為理處理這個問題,系統提供了LOCALLOCAL偽操作,其格式是:偽操作,其格式是:LOCAL LOCAL 部分標號部分標號1 1,部分標號,部分標號2 2,匯編程序對匯編程序對LOCALLOCAL偽操作之后的每一個部分標號,在偽操作之后的每一個部分標號,在展開時用展開時用?0000?0000取代部分標號取代部分標號1 1,用,用?0001?0001取代部分標號取代部分標號2 2,以此類推,這樣在展開后的程序中的標號就是獨一的了。以此類推,這樣在展開后的程序中的標號就是獨一的了。1010IRPIRP與與IRPCIRPC的區

33、別是什么?的區別是什么?答:答:IRPIRP與與IRPCIRPC是不定反復偽操作,它們的不同之處在是不定反復偽操作,它們的不同之處在于自變量的取代方式。于自變量的取代方式。IRPIRP的自變量表用尖括號括起來,每的自變量表用尖括號括起來,每次反復用自變量表中的一項來取代反復塊中的啞元。反復次反復用自變量表中的一項來取代反復塊中的啞元。反復次數由自變量表中的自變量個數來確定。次數由自變量表中的自變量個數來確定。IRPCIRPC的自變量表的自變量表必需是字符串,反復次數由字符串中的字符個數確定,每必需是字符串,反復次數由字符串中的字符個數確定,每次反復用字符串中的一個字符取代反復塊中的啞元。次反復

34、用字符串中的一個字符取代反復塊中的啞元。1111運用條件偽操作的目的是什么?運用條件偽操作的目的是什么?答:匯編程序根據條件偽操作能把一個程序段包括在答:匯編程序根據條件偽操作能把一個程序段包括在源程序中,或排除在源程序之外,也可以根據不同條件選源程序中,或排除在源程序之外,也可以根據不同條件選擇不同的程序段進入源程序,這為匯編言語編程提供了很擇不同的程序段進入源程序,這為匯編言語編程提供了很大的便利。大的便利。1 21 2 什 么 是 宏 庫 ? 宏 庫 的 擴 展 名 是 什 么 ? 什 么 是 宏 庫 ? 宏 庫 的 擴 展 名 是 什 么 ? 答:包含假設干常用宏定義的文件稱為宏庫,宏

35、庫通答:包含假設干常用宏定義的文件稱為宏庫,宏庫通常用常用.MAC.MAC或或.INC.INC作為擴展名。作為擴展名。 1313下面的語句是什么含義?下面的語句是什么含義? if1 if1 include include macro.macmacro.mac endifendif答:答:INCLUDEINCLUDE語句闡明該運用程序中要用到宏庫語句闡明該運用程序中要用到宏庫MACRO.MACMACRO.MAC中的宏定義,匯編程序將把中的宏定義,匯編程序將把MACRO.MACMACRO.MAC中的一中的一切宏定義都包含在運用程序中。而條件偽操作切宏定義都包含在運用程序中。而條件偽操作IF1IF1

36、語句可語句可使使INCLUDEINCLUDE只在匯編的第一遍審視期間出現,這樣宏庫的只在匯編的第一遍審視期間出現,這樣宏庫的拷貝將不在匯編清單中出現拷貝將不在匯編清單中出現 第八章第八章1 1什么是什么是I/OI/O端口端口? CPU? CPU運用什么指令與外設進展數據交運用什么指令與外設進展數據交換換? ?答:答:CPUCPU與與I/OI/O設備經過硬件接口或控制器相銜接,設備經過硬件接口或控制器相銜接,這些接口或控制器都有數量不等的端口,這些端口有一這些接口或控制器都有數量不等的端口,這些端口有一致的地址編碼,致的地址編碼,CPUCPU經過這些端口運用輸入輸出指令經過這些端口運用輸入輸出指

37、令ININ、OUTOUT與外設進展數據交換。與外設進展數據交換。2 2CPUCPU為什么不能用為什么不能用MOVMOV指令進展指令進展I/OI/O數據傳輸?數據傳輸?答:在答:在80 x8680 x86微機系統中,微機系統中,I/OI/O端口編址在一個獨立的地址空間中,它端口編址在一個獨立的地址空間中,它和存儲器是完全分別的。因此,對于存儲器的存取操作運用和存儲器是完全分別的。因此,對于存儲器的存取操作運用MOVMOV指令,而指令,而與端口進展信息交換的操作運用專門的與端口進展信息交換的操作運用專門的I/OI/O指令,二者不能混淆。指令,二者不能混淆。3 3運用查詢方式進展輸入輸出的優缺陷是什

38、么運用查詢方式進展輸入輸出的優缺陷是什么? ?答:運用查詢方式編程可直接在端口級上輸入輸出信息,數據的傳送答:運用查詢方式編程可直接在端口級上輸入輸出信息,數據的傳送速度和吞吐量比較高,另外在控制多個設備的速度和吞吐量比較高,另外在控制多個設備的I/OI/O時,可在程序中安排它時,可在程序中安排它們的優先級,最先查詢的設備,其任務的優先級也最高。修正程序中的查們的優先級,最先查詢的設備,其任務的優先級也最高。修正程序中的查詢次序,實踐上也就修正了設備的優先級,這樣以最簡便的方法實現了對詢次序,實踐上也就修正了設備的優先級,這樣以最簡便的方法實現了對設備優先級的控制。查詢方式的缺陷主要是在查詢過

39、程中,要反復的查詢設備優先級的控制。查詢方式的缺陷主要是在查詢過程中,要反復的查詢等待,浪費了等待,浪費了CPUCPU本來可執行大量指令的時間,而且由訊問轉向相應的處本來可執行大量指令的時間,而且由訊問轉向相應的處置程序的時間較長,尤其在設備比較多的情況下。置程序的時間較長,尤其在設備比較多的情況下。4 4什么是中斷什么是中斷? ?答:計算機在執行程序過程中,遇到需求處置的事件時,暫停當前正答:計算機在執行程序過程中,遇到需求處置的事件時,暫停當前正在運轉的程序,轉去執行有關的效力程序,處置完后自動前往原程序,這在運轉的程序,轉去執行有關的效力程序,處置完后自動前往原程序,這個過程稱為中斷個過

40、程稱為中斷interruptinterrupt。中斷在現代計算機系統中是一種非常重。中斷在現代計算機系統中是一種非常重要的技術,輸入輸出設備和主機交換數據、分時操作、實時系統、多處置要的技術,輸入輸出設備和主機交換數據、分時操作、實時系統、多處置機系統、計算機網絡和分布式計算機系統都要用到這種技術。機系統、計算機網絡和分布式計算機系統都要用到這種技術。5 5中斷分為幾類中斷分為幾類? ?答:中斷可分為內中斷和外中斷。內中斷是由計算機內部緣由引起答:中斷可分為內中斷和外中斷。內中斷是由計算機內部緣由引起的 中 斷 , 內 中 斷 又 稱 為 軟 中 斷 , 它 通 常 由 三 種 情 況 引 起

41、 :的 中 斷 , 內 中 斷 又 稱 為 軟 中 斷 , 它 通 常 由 三 種 情 況 引 起 :(1) (1) 由中斷指令由中斷指令INTINT引起;引起; (2) (2)由于由于CPUCPU的某些錯誤而引起,如溢出中斷、除法錯中斷等;的某些錯誤而引起,如溢出中斷、除法錯中斷等; (3) (3) 為調試程序為調試程序DEBUGDEBUG設置的中斷,如單步中斷、斷點中斷;外設置的中斷,如單步中斷、斷點中斷;外中斷指由外部事件引起的中斷,又稱為硬中斷。中斷指由外部事件引起的中斷,又稱為硬中斷。硬件中斷主要有兩種來源:硬件中斷主要有兩種來源: (1) (1) 非屏蔽中斷非屏蔽中斷NMINMI,

42、如電源缺點中斷、實時鐘中斷等。,如電源缺點中斷、實時鐘中斷等。 (2)(2)可屏蔽中斷,普通是由于各種外部設備懇求可屏蔽中斷,普通是由于各種外部設備懇求CPUCPU提供效力所引起提供效力所引起的中斷。的中斷。6 6什么是中斷類型?什么是中斷類型?答:答:80 x8680 x86中斷系統能處置中斷系統能處置256256種中斷,每種中斷都安排一個編號,種中斷,每種中斷都安排一個編號,稱之為中斷類型。稱之為中斷類型。256256種中斷類型號陳列為種中斷類型號陳列為000FFH000FFH。7 7中斷向量表的作用是什么中斷向量表的作用是什么? ?答:為了提高呼應中斷的速度,通常把一切中斷處置程序的入口

43、地答:為了提高呼應中斷的速度,通常把一切中斷處置程序的入口地址或稱為中斷向量聚集在中斷向量表中,當址或稱為中斷向量聚集在中斷向量表中,當CPUCPU呼應中斷時,根據呼應中斷時,根據中斷源的中斷類型號,直接從中斷向量表中得到相應的入口地址,并從中斷源的中斷類型號,直接從中斷向量表中得到相應的入口地址,并從該地址開場執行中斷處置程序。該地址開場執行中斷處置程序。8 8中斷向量表普通安排在存儲器的什么位置中斷向量表普通安排在存儲器的什么位置? ?答:存儲器最低的答:存儲器最低的1K1K字節,地址從字節,地址從00000 03FFH00000 03FFH存放中斷向量。存放中斷向量。中斷向量表中的中斷向

44、量表中的256256項中斷向量對應項中斷向量對應256256種中斷類型,每項占用四個字節,種中斷類型,每項占用四個字節,其中兩個字節存放中斷處置程序的段地址其中兩個字節存放中斷處置程序的段地址1616位,另兩個字節存放偏位,另兩個字節存放偏移地址移地址1616位。位。9 9某外設能否得到某外設能否得到CPUCPU的中斷效力取決于什么控制條件?的中斷效力取決于什么控制條件?答:從外設發出中斷懇求到答:從外設發出中斷懇求到CPUCPU呼應中斷,有兩個控制條件是起決呼應中斷,有兩個控制條件是起決議性作用的:議性作用的:(1) (1) 該外設的中斷懇求能否被屏蔽,這個條件由該外設的中斷懇求能否被屏蔽,

45、這個條件由8259A8259A的中斷屏蔽的中斷屏蔽存放器端口地址為存放器端口地址為21H21H控制;控制;(2) CPU(2) CPU能否允許呼應中斷,這由標志存放器能否允許呼應中斷,這由標志存放器FLAGFLAG中的中斷允中的中斷允許位許位IFIF控制。但控制。但CPUCPU不能制止非屏蔽中斷,對于非屏蔽中斷不能制止非屏蔽中斷,對于非屏蔽中斷CPUCPU總會呼應。總會呼應。1010什么是開中斷和關中斷?如何控制開中斷和關中斷?什么是開中斷和關中斷?如何控制開中斷和關中斷?答:允許答:允許CPUCPU呼應外設的中斷懇求叫做開中斷,此時呼應外設的中斷懇求叫做開中斷,此時IF=1IF=1;不允許;

46、不允許CPUCPU呼應外設的中斷懇求叫做關中斷,此時呼應外設的中斷懇求叫做關中斷,此時IF=0IF=0。有兩條指令能控制開、。有兩條指令能控制開、關中斷:關中斷:STI STI 開中斷開中斷IF=1IF=1CLI CLI 關中斷關中斷IF=0IF=01111CPUCPU呼應中斷的過程是怎樣的呼應中斷的過程是怎樣的? ?答:答:1 1取中斷類型號取中斷類型號N N 2 2存放器存放器FLAGFLAG內容入棧內容入棧 3 3當前代碼段存放器當前代碼段存放器CSCS內容入棧內容入棧 4 4當前指令計數器當前指令計數器IPIP內容入棧內容入棧 5 5制止硬件中斷和單步中斷制止硬件中斷和單步中斷(IF=

47、0, TF=0)(IF=0, TF=0) 6 6從中斷向量表中取從中斷向量表中取4?N4?N的字節內容送的字節內容送IPIP,取,取4?N+24?N+2中的字節中的字節內容送內容送CSCS7 7轉中斷處置程序轉中斷處置程序1212為什么產生中斷后,要去除為什么產生中斷后,要去除IFIF和和TFTF位?位?答:在中斷發生時,答:在中斷發生時,CPUCPU自動去除了自動去除了IFIF位和位和TFTF位,這樣設計的目的位,這樣設計的目的是使是使CPUCPU轉入中斷處置程序后,不允許再產生新的中斷,包括單步執行。轉入中斷處置程序后,不允許再產生新的中斷,包括單步執行。假設在執行中斷處置程序的過程中,還

48、允許外部的中斷,可經過假設在執行中斷處置程序的過程中,還允許外部的中斷,可經過STISTI指指令再把令再把IFIF置為置為1 1。1313當多個中斷源同時向當多個中斷源同時向CPUCPU懇求中斷時,懇求中斷時,CPUCPU應如何處置?應如何處置?答:各種中斷源事先安排有中斷優先級,當多個中斷源同時懇求答:各種中斷源事先安排有中斷優先級,當多個中斷源同時懇求中斷時,中斷時,CPUCPU先比較他們的優先級,先比較他們的優先級,, ,然后從優先級高到優先級低的次然后從優先級高到優先級低的次序來依次處置各個中斷源的中斷懇求。序來依次處置各個中斷源的中斷懇求。1414中斷程序的編寫方法是什么?中斷程序的

49、編寫方法是什么?答:在主程序中要為中斷做如下預備任務:答:在主程序中要為中斷做如下預備任務:1 1設置中斷向量運用設置中斷向量運用INT 21HINT 21H的的25H25H功能功能2 2設置中斷設備的屏蔽位設置中斷設備的屏蔽位I/OI/O端口端口21H21H3 3開中斷開中斷STISTI中斷處置程序的編寫步驟:中斷處置程序的編寫步驟:1 1保管任務存放器的內容保管任務存放器的內容2 2如允許中斷嵌套,那么開中斷如允許中斷嵌套,那么開中斷STISTI3 3中斷處置功能中斷處置功能4 4關中斷關中斷 (CLI) (CLI)5 5送中斷終了命令送中斷終了命令EOIEOI給中斷命令存放器給中斷命令存

50、放器I/OI/O端口端口20H20H6 6恢復任務存放器內容恢復任務存放器內容7 7前往被中斷的程序前往被中斷的程序RETRET1515什么是中斷嵌套?處置中斷嵌套時應留意什么?什么是中斷嵌套?處置中斷嵌套時應留意什么?答:中斷嵌套是指正在運轉的中斷處置程序,又被其它中斷源中斷答:中斷嵌套是指正在運轉的中斷處置程序,又被其它中斷源中斷的情況。一個正在執行的中斷處置程序,在開中斷的情況。一個正在執行的中斷處置程序,在開中斷IF=1IF=1的情況下,的情況下,能被優先級高于它的中斷源中斷,但假設要被同級或低級的中斷源中斷,能被優先級高于它的中斷源中斷,但假設要被同級或低級的中斷源中斷,那么必需發出

51、那么必需發出EOIEOI命令,去除正在執行的中斷懇求,才干呼應同級或低級命令,去除正在執行的中斷懇求,才干呼應同級或低級的中斷。的中斷。80X8680X86沒有規定中斷嵌套的深度中斷程序又被中斷的層次,沒有規定中斷嵌套的深度中斷程序又被中斷的層次,但在實踐運用時,多重的中斷嵌套要遭到堆棧容量的限制,所以在編寫但在實踐運用時,多重的中斷嵌套要遭到堆棧容量的限制,所以在編寫中斷程序時,一定要思索有足夠的堆棧單元來保管多次中斷的斷點及各中斷程序時,一定要思索有足夠的堆棧單元來保管多次中斷的斷點及各存放器的內容。存放器的內容。1616什么情況下中斷處置子程序需求終了中斷什么情況下中斷處置子程序需求終了

52、中斷(EOI)? (EOI)? 終了中斷指令起什終了中斷指令起什么作用么作用? ?答:在外中斷處置程序之中或在終了之前,發出中斷終了命令答:在外中斷處置程序之中或在終了之前,發出中斷終了命令EOIEOI能能去除當前正在處置的中斷懇求,以便可以在該處置程序的過程中或終了去除當前正在處置的中斷懇求,以便可以在該處置程序的過程中或終了之后,再呼應同級或低級的中斷。之后,再呼應同級或低級的中斷。1717系統提供的系統提供的INT 1CHINT 1CH的中斷處置程序是怎樣的?為什么?的中斷處置程序是怎樣的?為什么?答:系統提供的答:系統提供的INT 1CHINT 1CH的中斷處置程序中只需一條指令:的中

53、斷處置程序中只需一條指令:IRETIRET。實踐上這是系統為用戶設置的一個中斷類型號,用戶可以用本人設計的實踐上這是系統為用戶設置的一個中斷類型號,用戶可以用本人設計的中斷處置代碼來替代原中斷處置代碼來替代原1CH1CH程序。假設用戶有某種定時周期性的任務需求程序。假設用戶有某種定時周期性的任務需求完成,就可以利用系統定時器的中斷間隔約每秒中斷完成,就可以利用系統定時器的中斷間隔約每秒中斷18.218.2次,嵌套次,嵌套調用調用1CH1CH的中斷處置程序,并用計數的方法控制時間周期。如,需求的中斷處置程序,并用計數的方法控制時間周期。如,需求1010秒秒鐘的周期,那么將計數值設置為鐘的周期,那

54、么將計數值設置為182182。定時器中斷程序每調用一次。定時器中斷程序每調用一次INT INT 1CH1CH,計數值減,計數值減1 1,當計數值為,當計數值為0 0時,闡明已到時,闡明已到1010秒。秒。第九章第九章1 1BIOSBIOS中斷調用的根本用途是什么?運用中斷調用的根本用途是什么?運用BIOSBIOS調用的益處是什么?調用的益處是什么?答:答:BIOSBIOS是系統提供的根本輸入輸出例行程序,它包括系統加電自是系統提供的根本輸入輸出例行程序,它包括系統加電自檢,引導裝入,主要檢,引導裝入,主要I/OI/O設備的處置程序以及接口控制等功能模塊。設備的處置程序以及接口控制等功能模塊。B

55、IOSBIOS有兩個根本用途:一是給不同系列的微處置器提供兼容的有兩個根本用途:一是給不同系列的微處置器提供兼容的I/OI/O效力,使程效力,使程序員在編程時不用思索不同型號機器的詳細差別。二是給程序員提供文序員在編程時不用思索不同型號機器的詳細差別。二是給程序員提供文件化的,直接對硬件進展操作的子功能,程序員可不用了解硬件操作的件化的,直接對硬件進展操作的子功能,程序員可不用了解硬件操作的詳細細節。所以利用詳細細節。所以利用BIOSBIOS功能編寫程序簡一方便,可讀性好功能編寫程序簡一方便,可讀性好. .2 2DOSDOS功能調用的用途是什么?與功能調用的用途是什么?與BIOSBIOS中斷調

56、用在運用上有什么差別?中斷調用在運用上有什么差別?答:答:DOSDOS是是PCPC機上最重要的操作系統,它和機上最重要的操作系統,它和BIOSBIOS一樣包括有近百個設一樣包括有近百個設備管理、目錄管理和文件管理程序,是一個功能齊全、運用方便的中斷例備管理、目錄管理和文件管理程序,是一個功能齊全、運用方便的中斷例行程序的集合。運用行程序的集合。運用DOSDOS操作比運用相應功能的操作比運用相應功能的BIOSBIOS操作更簡易,而且對操作更簡易,而且對硬件的依賴性更少些。硬件的依賴性更少些。3 3BIOSBIOS和和DOSDOS中斷調用的方法是什么?中斷調用的方法是什么?答:答:BIOSBIOS

57、功能與功能與DOSDOS功能都是經過軟件中斷調用的。在中斷調用前需功能都是經過軟件中斷調用的。在中斷調用前需求把功能號裝入求把功能號裝入AHAH存放器,把子功能號裝入存放器,把子功能號裝入ALAL存放器,除此而外,通常還存放器,除此而外,通常還需在需在CPUCPU存放器中提供專門的調用參數。普通地說,調用存放器中提供專門的調用參數。普通地說,調用DOSDOS或或BIOSBIOS功能時,功能時,有以下幾個根本步驟:有以下幾個根本步驟:1 1把調用參數裝入指定的存放器中;把調用參數裝入指定的存放器中;2 2如需功能號,把它裝入如需功能號,把它裝入AHAH;3 3如需子功能號,把它裝入如需子功能號,

58、把它裝入ALAL; 4 4按中斷號調用按中斷號調用DOSDOS或或BIOSBIOS中斷;中斷;5 5檢查前往參數能否正確。檢查前往參數能否正確。4 4鍵盤上什么鍵能產生鍵盤上什么鍵能產生ASCIIASCII碼?不能產生碼?不能產生ASCIIASCII碼的鍵如何識別?碼的鍵如何識別?答:鍵盤上的一切按鍵的識別采用行列掃描法,即根據對行線和答:鍵盤上的一切按鍵的識別采用行列掃描法,即根據對行線和列線的掃描結果來確定閉合鍵的位置,并經過鍵盤數據線將閉合鍵所列線的掃描結果來確定閉合鍵的位置,并經過鍵盤數據線將閉合鍵所對應的掃描碼對應的掃描碼8 8位送往主機。其中字符數字鍵給計算機傳送一個位送往主機。其

59、中字符數字鍵給計算機傳送一個ASCIIASCII碼字符,而擴展功能鍵產生一個動作,如按下碼字符,而擴展功能鍵產生一個動作,如按下HomeHome鍵能把光標鍵能把光標移到屏幕的左上角,移到屏幕的左上角,EndEnd鍵使光標移到屏幕上文本的未尾。按動組合鍵使光標移到屏幕上文本的未尾。按動組合控制鍵能改動其它鍵所產生的字符碼。控制鍵能改動其它鍵所產生的字符碼。5 5什么是通碼和斷碼?它們的標志是什么?什么是通碼和斷碼?它們的標志是什么?答:按下鍵時,產生的掃描碼稱為通碼,放開鍵時產生的掃描碼答:按下鍵時,產生的掃描碼稱為通碼,放開鍵時產生的掃描碼稱為斷碼。其代碼的最高位為稱為斷碼。其代碼的最高位為0

60、 0,表示是通碼,最高位為,表示是通碼,最高位為1 1,表示是斷,表示是斷碼。碼。6 6如何判別按動了組合控制鍵如何判別按動了組合控制鍵? ?答:組合控制鍵的形狀反映在鍵盤形狀字節中,答:組合控制鍵的形狀反映在鍵盤形狀字節中,INT 16HINT 16H的的AH=2AH=2的功能可以把表示組合控制鍵的形狀回送到的功能可以把表示組合控制鍵的形狀回送到ALAL存放器。按動某鍵所對存放器。按動某鍵所對應的位為應的位為1 1,反之為,反之為0 0。7 7DOSDOS鍵盤鍵盤0606功能是讀寫控制臺,控制臺是指什么?功能是讀寫控制臺,控制臺是指什么?答:控制臺是指主機及其配置的根本輸入輸出設備,普通是顯示器答:控制臺是指主機及其配置

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論