匯編語言程序設(shè)計及上機指導第2章寄存器與存儲器課件_第1頁
匯編語言程序設(shè)計及上機指導第2章寄存器與存儲器課件_第2頁
匯編語言程序設(shè)計及上機指導第2章寄存器與存儲器課件_第3頁
匯編語言程序設(shè)計及上機指導第2章寄存器與存儲器課件_第4頁
匯編語言程序設(shè)計及上機指導第2章寄存器與存儲器課件_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第2章寄存器與存儲器【本章提要】本章將著重講解Intel系列CPU內(nèi)部寄存器的組織結(jié)構(gòu)、命名、功能及其常見的用途,還要介紹存儲器的分段管理模式、存儲單元地址的表示法以及其物理地址的形成方式?!緦W習目標】熟練掌握CPU內(nèi)部寄存器的組織結(jié)構(gòu)熟練掌握標志寄存器各定義位的功能掌握存儲器的分段管理方案2023/2/62.1寄存器組織寄存器是CPU內(nèi)部重要的數(shù)據(jù)存儲資源,是匯編程序員能直接使用的硬件資源之一。Intel系列微處理器從早期的16位8086開始,到Pentium系列,以至于現(xiàn)在的CORE(酷睿)系列,雖然CPU內(nèi)部結(jié)構(gòu)和功能變化很大,但其寄存器的組織情況卻是有規(guī)律的。寄存器類型IA-32寄存器IA-32E寄存器字節(jié)寄存器(8位)AH,BH,CH,DH,AL,BL,CL,DLAL,BL,CL,DL,DIL,SIL,BPL,SPL,R8L-R15L字寄存器(16位)AX,BX,CX,DX,DI,SI,BP,SPAX,BX,CX,DX,DI,SI,BP,SP,R8W-R15W雙字寄存器(32位)EAX,EBX,ECX,EDX,EDI,ESI,EBP,ESPEAX,EBX,ECX,EDX,EDI,ESI,EBP,ESP,R8D-R15D四字寄存器(64位)無RAX,RBX,RCX,RDX,RDI,RSI,RBP,RSP,R8-R152023/2/62023/2/61、進位標志CF(CarryFlag)如果運算結(jié)果的最高位產(chǎn)生了一個進位或借位,其值為1,否則其值為0。2、奇偶標志PF(ParityFlag)運算結(jié)果中最低8位中“1”的個數(shù)為偶數(shù),則PF的值為1,否則其值為0。3、輔助進位標志AF(AuxiliaryCarryFlag)在字操作時,發(fā)生低字節(jié)向高字節(jié)進位或借位,或者在字節(jié)操作時,發(fā)生低4位向高4位進位或借位,則AF的值被置為1,否則其值為0。4、零標志ZF(ZeroFlag)如果運算結(jié)果為0,則其值為1,否則其值為0。5、符號標志SF(SignFlag)符號標志SF用來反映運算結(jié)果的符號位,它與運算結(jié)果的最高位相同。6、溢出標志OF(OverflowFlag)如果運算結(jié)果超過當前運算位數(shù)所能表示的范圍,則稱為溢出,OF的值被置為1,否則,OF的值被清為0。1514131211109876543210OFDFIFTFSFZFAFPFCF圖2.2FLAGS定義示意圖2023/2/67、追蹤標志TF(TrapFlag)當追蹤標志TF被置為1時,CPU進入單步執(zhí)行方式,即每執(zhí)行一條指令,產(chǎn)生一個單步中斷請求。8、中斷允許標志IF(Interrupt-enableFlag)中斷允許標志IF是用來決定CPU是否響應CPU外部的可屏蔽中斷發(fā)出的中斷請求。(1)當IF=1時,CPU可以響應CPU外部的可屏蔽中斷發(fā)出的中斷請求;(2)當IF=0時,CPU不響應CPU外部的可屏蔽中斷發(fā)出的中斷請求。9、方向標志DF(DirectionFlag)方向標志DF用來決定在串操作指令執(zhí)行時有關(guān)指針寄存器發(fā)生調(diào)整的方向。1514131211109876543210OFDFIFTFSFZFAFPFCF圖2.2FLAGS定義示意圖2023/2/62.2存儲器的管理模式Intel的80X86系列CPU基本上采用內(nèi)存分段的管理模式。它把內(nèi)存和程序分成若干個段,每個段的起點用一個段寄存器來保存。2.2.1實地址方式內(nèi)存管理目前的Intel系列CPU都能工作在實地址方式或保護地址方式下。實地址方式下只能訪問1MB的內(nèi)存空間,只能單任務運行,8086只有這一種工作方式,80286以后的系列CPU的可以運行在保護地址方式。如果工作在實地址模式,則任何高檔處理器只相當于快速的8086,因此尋址方法與8086一樣,在這種方式下處理器沒有充分發(fā)揮處理器的性能。只有在保護方式下,處理器才真正發(fā)揮應有的作用。2023/2/63.邏輯地址與物理地址邏輯地址是段地址與偏移地址的合稱,用“段地址:偏移地址”表示,如1234H:1200H表示段地址為1234H,段內(nèi)偏移地址為1200H。物理地址是存儲器的實際地址,在實地址方式下物理地址通過段地址乘以16加上偏移地址得到。而16位的段地址乘以16等同于左移4位二進制位,這樣變成20位的段基地址,最后段基地址加上段內(nèi)偏移地址就是物理地址。【例2.1】有一邏輯地址為1200H:0340H,求物理地址。解:由邏輯地址知段地址=1200H,偏移地址=0340H,因此物理地址=12000H+0340H=12340H?!纠?.2】已經(jīng)DS=1000H,CS=2200H,指令MOV[2000H],AX在代碼段中的偏移量是IP=0150H,求(1)該指令所在的物理地址。(2)目的操作數(shù)對應的物理地址。解:(1)指令對應的物理地址=CS*16+IP=22000H+0150H=22150H。(2)該指令指示的目的操作數(shù)對應段地址默認存在DS中,偏移地址已由指令給出2000H,因此該指令指示的目的操作數(shù)所在物理地址=DS*16+2000H=10000H+2000H=12000H。2023/2/64.存儲單元的內(nèi)容存儲單元是按照地址進行訪問的,相鄰兩個單元的地址編號是連續(xù)的,一般以無符號數(shù)表示,Intel系列CPU都以字節(jié)為單位分配地址編號的。1)一個字節(jié)的內(nèi)容占用一個存儲單元并分配一個地址編號;2)一個字的內(nèi)容是該字地址所指向的單元及其后繼1個單元的內(nèi)容拼接而成;3)一個32位的內(nèi)容是該字地址所指向的單元及其后繼3個單元的內(nèi)容拼接而成;4)一個64位的內(nèi)容是該字地址所指向的單元及其后繼7個單元的內(nèi)容拼接而成。在拼接多個內(nèi)存單元時,按“高對高低對低”的原則來處理,即:高存儲單元(地址大的存儲單元)的值是高數(shù)

溫馨提示

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

評論

0/150

提交評論