匯編語言程序設計第二章計算機組織_第1頁
匯編語言程序設計第二章計算機組織_第2頁
匯編語言程序設計第二章計算機組織_第3頁
匯編語言程序設計第二章計算機組織_第4頁
匯編語言程序設計第二章計算機組織_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

匯編語言程序設計第二章計算機組織1第1頁,共23頁,2023年,2月20日,星期日80x86是由美國Intel公司生產的微處理器,公司成立于1968年(Apple于1976)1969年就設計出4位的4004芯片1973年設計出8位的8080芯片1978年正式推出16位的8086微處理器芯片由此開始Intel公司的80x86微處理器系列的生產歷史.2第2頁,共23頁,2023年,2月20日,星期日插曲:

當IBM進入PC市場時,8086/8088成為首選.盡管后來IBM要自己開發(fā)新CPU,并且想踢開Intel,但Intel80286卻幫助Compaq抓住了機會.Compaq迅速推出兼容機并大舉成功(Compaq可能是CompatibilityQuickly的縮寫),IBM自己的CPU也就胎死腹中了.因為當時人們還沒有對計算機產生“代”的概念.當蘋果機選用6502時,開發(fā)6502的那家CPU公司認為從此可以穩(wěn)坐泰山了,就沒有投入精力去開發(fā)新的或與這一代兼容的16位的下一代CPU.這時,Intel看到了機會,它迅速地研制出比蘋果機要好得多的16位CPU8086,這里,蘋果發(fā)現壓力很大,所以也做了一個16位的也能兼容6502的CPU,但是,這個CPU比8086差些,所以蘋果公司以后也就一直沒有用生產6502CPU的公司的CPU了,這個公司就失去了成為生產CPU的核心公司的一個機會.后來的蘋果選用了68000.3第3頁,共23頁,2023年,2月20日,星期日編程有關的邏輯結構CPURAMI/O端口運算器寄存器組存儲器輸入或輸出端口4第4頁,共23頁,2023年,2月20日,星期日2.1.2軟件

操作系統常駐監(jiān)督程序系統軟件文件管理系統

I/O

驅動程序調試程序文本編輯程序翻譯程序連接程序裝入程序系統程序用戶軟件用戶程序用戶程序庫計算機軟件層次圖5第5頁,共23頁,2023年,2月20日,星期日

計算機存儲信息的基本單元是一個二進制位,一位可存一個二進制數:0或1。每八位組成一個字節(jié),位編號如下:

76543210字節(jié):IBMPC機的字長為16位,由2個字節(jié)組成,位編號如下:

1514131211109876543210

7654321076543210高位字節(jié)MSB低位字節(jié)LSB字字節(jié)

存儲器存儲單元的地址和內容6第6頁,共23頁,2023年,2月20日,星期日1)以字節(jié)為單位存儲信息。2)每一個字節(jié)單元給以一個存儲器地址。地址從0開始,順序地加1。用無符號十六進制 數表示:如0100H,1A105H3)存儲器的容量以210=1024為基本單位,稱為1K。

216=

65536個字節(jié)單元=64K。4)一個存儲單元中存放的信息稱為該單元的內容。注意:存儲器的地址和內容是完全不同的概念。存儲器概念(一)

存儲器是一片連續(xù)的內存空間:7第7頁,共23頁,2023年,2月20日,星期日存儲器概念(二)1)一個字存入存儲器要占用相繼的兩個字節(jié):低位字節(jié)放入低地址,高位字節(jié)放入高地址。2)字單元的地址用它的低地址來表示。3)字單元的地址既可以是偶數,也可以是奇數4)CPU是以偶數地址訪問存儲器的。對于奇地址的字單元,要取一個字需要訪問二次存儲器。5)存儲器的特點:它的內容是取之不盡的。8第8頁,共23頁,2023年,2月20日,星期日存儲器(三)56H12H3AH4BH00H97H80HFEH存儲器地址存儲器內容1A050H字節(jié)單元的內容是:56H,其字單元內容是:1256H。1A055H字節(jié)單元的內容是:97H,其字單元內容是:8097H。1A056H字節(jié)單元的內容是:80H,其字單元內容是:0FE80H。1A050H1A051H1A052H1A053H1A054H1A055H1A056H1A057H9第9頁,共23頁,2023年,2月20日,星期日*有20位地址,最大存儲容量為220=1024K=1M字節(jié);*又是16位字長的機器,內部寄存器可表達的最大存儲空間為

216=64K字節(jié)。

8086PC,用什么辦法來提供20位存儲器地址呢?把存儲器劃分成段,每個段的大小可達64K,故段內地址可以用16位表示,稱為偏移地址。段的起始地址有限制,不能起始于任意地址,而必須從任一小段的首地址開始。何為小段?機器規(guī)定:從0地址開始,每16個字節(jié)為一小段。小段的首地址的特點是:十六進制表示的地址最低位為0。存儲器地址分段法存儲器地址的分段8086PC機:10第10頁,共23頁,2023年,2月20日,星期日00000,00001,…,0000E,0000F;00010,00011,…,0001E,0001F;00020,00021,…,0002E,0002F;

……如:存儲器最低地址的三個小段的地址區(qū)間每行為一小段:

第一列是每個小段的首地址,在16進制表示的地址中,最低為0(即20位地址的低4位為0)。在1M字節(jié)的地址空間里,共有64K個小段首地址。每一個存儲字節(jié)都有一個唯一的20位地址,稱為該存儲單元的物理地址。20位物理地址由16位段地址和16位偏移地址組成。段地址是指每一段的起始地址,由于它必須是小段的首地址(即20位地址的低4位均為0),故可以規(guī)定段地址只取段起始地址的高16位值。11第11頁,共23頁,2023年,2月20日,星期日+

16位偏移地址

15016位段地址

1500000

20位物理地址190可寫成:16d×段地址+偏移地址=物理地址物理地址的計算方法可以表示:12第12頁,共23頁,2023年,2月20日,星期日在IBMPC機中,有四個專門存放段地址的寄存器,稱為段寄存器。它們是:代碼段CS:代碼段存放當前正在運行的程序;數據段DS:數據段存放當前運行程序所用的數據;堆棧段SS:堆棧段定義堆棧的所在區(qū)域;附加段ES:附加段是附加的數據段,輔助的數據區(qū)。一般情況下,各段在存儲器中的分配是由操作系統負責的。每個段區(qū)的大小根據實際需要來分配,允許重疊(重疊是指小于64K)。如果程序的某一段運行過程中會超過64K空間,在程序中動態(tài)地修改段寄存器地內容,并不會因段區(qū)的劃分而限制了程序空間。13第13頁,共23頁,2023年,2月20日,星期日保護模式存儲器尋址80286以上CPU除實模式尋址外,還采用保護模式的尋址方式。原因:1、實模式的1MB空間不夠用2、要求支持多任務處理,多任務間要求隔離3、各任務的公用部分可以共享,如操作系統。4、要求支持虛擬存儲特性虛擬存儲:使用主存儲器和外存儲器,利用操作系統的調度管理,使CPU可以以內存的處理速度,處理外存大小的存儲空間。14第14頁,共23頁,2023年,2月20日,星期日保護模式和實模式的尋址差別1、實模式程序設計中,編程者只要給出邏輯地址:(段地址:偏移地址),段地址放在段寄存器中,指令中給出偏移地址。機器自動求得內存的物理地址:段地址左移4位加上偏移地址。2、保護模式:程序員也給出邏輯地址:(段地址:偏移地址)。求取物理地址方法不同:段寄存器(16位)中存放的不是段的起始地址而是選擇子。通過該選擇子操作系統從內部的全局描述子表和局部描述子表中取得64字節(jié)的描述符,它指出了段的基地址、段的界限、訪問權和附加的屬性等。這樣,機器就可以確定內存單元所在的段地址,加上邏輯地址中指定的偏移地址,就可找到相應的內存單元。

15第15頁,共23頁,2023年,2月20日,星期日算術邏輯部件ALU(ArithmeticLogicUnit)進行算術邏輯運算控制邏輯

負責對全機的控制:取指令,譯碼,發(fā)命令,協調各部件工作。工作寄存器組

用于存放操作數、地址、運算中間結果、結果等。存取速度比存儲器快得多。中央處理機中央處理機CPU的組成16第16頁,共23頁,2023年,2月20日,星期日AH

AL

BHBL

CH

CL

DH

DLALU

PSW

控制邏輯

SPBPSIDIIPCSDSSSES指針及變址寄存器段寄存器AXBXCXDXIBMPC機的CPU組成數據寄存器17第17頁,共23頁,2023年,2月20日,星期日80X86寄存器組程序可見寄存器AH

AL

BHBL

CH

CL

DH

DLALU

FLAGS

SPBPSIDI

IPCSDSSSESFSGS指針及變址寄存器段寄存器AXBXCXDXEAXEBXECXEDXESPEBPESIEDIEIPEFLAGS386CPU及以上18第18頁,共23頁,2023年,2月20日,星期日AX(Accumulator)分別為AH,AL兩個8位BX(Base)

分別為BH,BL兩個8位CX(Count)

分別為CH,CL兩個8位DX(Data)

分別為DH,DL兩個8位

四個通用寄存器,用來暫時存放計算過程中的操作數、結果或其他信息,可以字(16位)的形式訪問,也可以字節(jié)(8位)的形式訪問。四個數據寄存器除作通用寄存器外,還有各自專用的功能。

8086/8088寄存器組通用數據寄存器19第19頁,共23頁,2023年,2月20日,星期日數據寄存器的專用功能AX:算術運算的主要寄存器,乘、除的缺省操作數,所有I/O指令的唯一數據寄存器。BX:常用作計算存儲器地址的基址寄存器。CX:常用作循環(huán)中計數器。DX:在雙字長運算中把DX、AX組合成雙字長數,DX用于存放高位字。在I/O指令中,DX作為存放I/O端口的地址。20第20頁,共23頁,2023年,2月20日,星期日SP(StackPointer)稱為堆棧指針寄存器,用來指示堆棧段中棧頂的偏移地址。BP(BasePointer)稱為基址指針寄存器,與SS寄存器配合,用來確定堆棧段中某一存儲單元的地址。

SI(SourceIndex)源變址寄存器DI(DestinationIndex)目的變址寄存器

SI、DI一般與DS聯用,它們都有自動增量和自動減量的功能。指針及變址寄存器

溫馨提示

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

評論

0/150

提交評論