第二章寄存器CPU工作原理下ppt課件_第1頁
第二章寄存器CPU工作原理下ppt課件_第2頁
第二章寄存器CPU工作原理下ppt課件_第3頁
第二章寄存器CPU工作原理下ppt課件_第4頁
第二章寄存器CPU工作原理下ppt課件_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 第二章 寄存器 (CPU工作原理) 要點:TCPU的組成T寄存器T字在寄存器中的存儲T簡單的匯編指令T物理地址和8086形成物理地址的機制T段的概念和段寄存器TDebug調(diào)試工具內(nèi)存單元的物理地址n每一個內(nèi)存單元在內(nèi)存空間中都有惟一的地址,這個惟一的地址稱為該存儲單元的物理地址。nCPU通過地址總線送入存儲器的必須是一個內(nèi)存單元的物理地址。n考慮:CPU如何產(chǎn)生20位的物理地址呢?16位結(jié)構(gòu)的CPUn8位機:8080,8085n16位機:8086n32位機:80386,80486nN位結(jié)構(gòu)的含義:n運算器一次最多可以處理N位數(shù)據(jù);n寄存器的最大寬度為N位n寄存器和運算器之間的通路是N位808

2、6CPU形成物理地址的方法n8086CPU的地址總線有20位,但8086CPU內(nèi)部全為16位結(jié)構(gòu),如何來形成20位的物理地址呢?nIBM PC機采用了存儲器地址分段的辦法n存儲器邏輯上的分段情況段segment)n從0地址開始,每16字節(jié)為一小段(paragraph)n小段的首地址的16進制形式最低位為0n段(segment)必須從任一小段的首地址開始,且每段大小可達64K段地址&偏移地址n取段的首地址的高16位作為段地址n段內(nèi)相對于段起始地址的偏移值稱為偏移地址nCPU內(nèi)部采用“段地址16偏移地址來形成物理地址n段地址用16位表示n因段最大可達64K,故偏移地址也用16位表示n注意:

3、段大小是任意的8086CPU形成物理地址的方法n20位物理地址16位段地址*16+16位偏移地址8086CPU邏輯結(jié)構(gòu)圖邏輯結(jié)構(gòu)圖形成物理地址的本質(zhì)含義nCPU在訪問內(nèi)存時,用一個基礎(chǔ)地址和一個相對于基礎(chǔ)地址的偏移地址相加,給出內(nèi)存單元的物理地址。n基礎(chǔ)地址的選擇是任意的。n例如:物理地址21F60H,我們可以選取不同的段地址和偏移地址來形成n給定一個段地址,通過變化偏移地址來進行尋址,最多可以定位多少內(nèi)存單元呢?段寄存器n提供段地址的寄存器稱為段寄存器。n8086CPU有4個段寄存器:CS、DS、SS、ESnCS:代碼段寄存器nDS:數(shù)據(jù)段寄存器nSS:堆棧段寄存器nES:附加段寄存器CS寄

4、存器nIP:指令指針寄存器nCS和IP就指示了CPU當前要讀取指令的地址n設(shè)8086機中CS中內(nèi)容為M,IP中內(nèi)容為N,則8086CPU將從內(nèi)存M*16+N單元開始,讀取一條指令來執(zhí)行n我們又可以表示成CS:IP8086CPU的工作過程初始狀態(tài)8086CPU的工作過程續(xù))nCS,IP的內(nèi)容送入地址加法器8086CPU的工作過程續(xù))n物理地址送入輸入輸出控制電路8086CPU的工作過程續(xù))n物理地址送入地址總線8086CPU的工作過程續(xù))n機器指令被送入CPU8086CPU的工作過程續(xù))n機器指令被送入指令緩沖器8086CPU的工作過程續(xù))n讀取指令后IP中的值自動增加8086CPU的工作過程續(xù)

5、)n執(zhí)行指令8086CPU的工作過程續(xù))n指令執(zhí)行結(jié)果8086CPU的工作過程續(xù))n8086CPU的工作過程可以簡要描述如下:n從CS:IP指向的內(nèi)存單元處讀取指令,讀取的指令進入指令緩沖器;nIPIP所讀取指令的長度,從而指向下一條指令;n執(zhí)行指令,轉(zhuǎn)到步驟1,重復這個過程。修改CS、IP的指令nmov cs,123n注意:mov指令不能用于設(shè)置CS、IP的值n能夠改變CS、IP的內(nèi)容的指令被統(tǒng)稱為轉(zhuǎn)移指令n一個轉(zhuǎn)移指令:jmp指令?jmp指令njmp 段地址:偏移地址n指令含義:用指令中給出的段地址修改CS,偏移地址修改IPnjmp 2AE3:3,執(zhí)行后:CS=2AE3,IP=0003nj

6、mp 3:0B16,執(zhí)行后:CS=0003,IP=0B16njmp 寄存器n指令含義:用指令中的寄存器中的值修改IPn注意:CS的值不變n其中的寄存器只能是通用寄存器問題2.3n內(nèi)存中存放的機器碼和對應的匯編指令如下所示,設(shè)CPU初始狀態(tài):CS=2000H,IP=0000H,請寫出指令的執(zhí)行序列。結(jié)果分析n指令執(zhí)行序列nmov ax,6622njmp 1000:3nmov ax,0000nmov bx,axnjmp bxnmov ax,0123Hn轉(zhuǎn)到第3步執(zhí)行代碼段n存放當前正在運行的程序代碼的段(segment)n例如:n其段地址為2000H,n 長度為10字節(jié)一條簡單的算術(shù)指令subn格

7、式:sub 目的操作數(shù),源操作數(shù)n操作:目的操作數(shù)=目的操作數(shù)-源操作數(shù)n例:sub ax,8n sub ax,bx本章小結(jié)n了解CPU的組成;n掌握各種寄存器,尤其是通用寄存器;n理解字在寄存器中的存儲;n掌握幾條簡單的匯編指令;n掌握8086CPU的物理地址的形成;n了解段寄存器,掌握CS和IP的合用;n掌握jmp指令;n熟悉Debug調(diào)試工具;作業(yè) n檢測點2.2,2.3Debug命令D命令Displayn使用D命令查看內(nèi)存中的內(nèi)容n格式1:d 段地址:偏移地址n功能:列出從指定內(nèi)存單元開始的128個內(nèi)存單元的內(nèi)容n格式2:d 段地址:起始偏址 結(jié)尾偏址n使用多種不同的段地址和偏移地址來查看同一個物理地址的內(nèi)容E命令Entern改寫內(nèi)存中的內(nèi)容n格式:e 起始地址 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù)n或者可以用E命令提問的方式來逐個修改從某地址開始的內(nèi)存單元的內(nèi)容nE命令可以向內(nèi)存中寫入機器碼U命令n將機器碼反匯編成匯編指令n格式:u 段地址:偏移地址Debug命令小結(jié)nA命令:

溫馨提示

  • 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

提交評論