版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 第二章第二章 80x86計(jì)算機(jī)組織計(jì)算機(jī)組織 任課教師:陶雪麗任課教師:陶雪麗 xueli_ ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院2 2021-5-8 本章內(nèi)容提要本章內(nèi)容提要 80x8680x86微處理器微處理器 基于微處理器的計(jì)算機(jī)系統(tǒng)構(gòu)成基于微處理器的計(jì)算機(jī)系統(tǒng)構(gòu)成 中央處理機(jī)中央處理機(jī) 存儲(chǔ)器存儲(chǔ)器 外部設(shè)備外部設(shè)備 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院3 2021-5-8 2.1 80x862.1 80x86微處理器微處理器 教材教材p15
2、p15表表2.12.1給出了給出了intelintel公司生產(chǎn)的公司生產(chǎn)的80x8680x86微處理器系列的一些主要微處理器系列的一些主要 技術(shù)數(shù)據(jù)。技術(shù)數(shù)據(jù)。 幾個(gè)名詞術(shù)語(yǔ):幾個(gè)名詞術(shù)語(yǔ): 晶體管數(shù):是指芯片中所包含的晶體管數(shù),它說(shuō)明器件的集成度。晶體管數(shù):是指芯片中所包含的晶體管數(shù),它說(shuō)明器件的集成度。 主頻:是指芯片所用的主時(shí)鐘頻率,它直接影響計(jì)算機(jī)的運(yùn)行速度,是反主頻:是指芯片所用的主時(shí)鐘頻率,它直接影響計(jì)算機(jī)的運(yùn)行速度,是反 映計(jì)算機(jī)速度的一個(gè)重要指標(biāo)。映計(jì)算機(jī)速度的一個(gè)重要指標(biāo)。 數(shù)據(jù)總線寬度:數(shù)據(jù)總線負(fù)責(zé)計(jì)算機(jī)中數(shù)據(jù)在各組成部分之間的傳送,數(shù)數(shù)據(jù)總線寬度:數(shù)據(jù)總線負(fù)責(zé)計(jì)算機(jī)中數(shù)據(jù)
3、在各組成部分之間的傳送,數(shù) 據(jù)總線寬度是指在芯片內(nèi)部數(shù)據(jù)傳送的寬度。據(jù)總線寬度是指在芯片內(nèi)部數(shù)據(jù)傳送的寬度。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院4 2021-5-8 2.1 80x862.1 80x86微處理器微處理器 幾個(gè)名詞術(shù)語(yǔ):幾個(gè)名詞術(shù)語(yǔ): 外部數(shù)據(jù)總線寬度:是指芯片內(nèi)和芯片外交換數(shù)據(jù)的寬度。外部數(shù)據(jù)總線寬度:是指芯片內(nèi)和芯片外交換數(shù)據(jù)的寬度。 地址總線寬度:是指專(zhuān)用于傳送地址的總線寬度,根據(jù)這一數(shù)值可確定地址總線寬度:是指專(zhuān)用于傳送地址的總線寬度,根據(jù)這一數(shù)值可確定 處理機(jī)可以訪問(wèn)的存儲(chǔ)器的最大范圍(尋址空間)。如處理機(jī)可以
4、訪問(wèn)的存儲(chǔ)器的最大范圍(尋址空間)。如8086cpu8086cpu有有2020位地位地 址總線,可訪問(wèn)址總線,可訪問(wèn)2 220 20個(gè)存儲(chǔ)單元,即 個(gè)存儲(chǔ)單元,即1mb1mb空間;空間;80286cpu80286cpu有有2424位地址總線,位地址總線, 可訪問(wèn)可訪問(wèn)2 224 24個(gè)存儲(chǔ)單元,即 個(gè)存儲(chǔ)單元,即16mb16mb空間??臻g。80386cpu80386cpu有有3232位地址總線,可訪問(wèn)位地址總線,可訪問(wèn) 2 232 32個(gè)存儲(chǔ)單元,即 個(gè)存儲(chǔ)單元,即4gb4gb空間??臻g。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院5 202
5、1-5-8 2.1 80x862.1 80x86微處理器微處理器 層次結(jié)構(gòu)的存儲(chǔ)器組織層次結(jié)構(gòu)的存儲(chǔ)器組織 目的:為了使存儲(chǔ)器匹配處理器的速度。目的:為了使存儲(chǔ)器匹配處理器的速度。 層次結(jié)構(gòu)組成:層次結(jié)構(gòu)組成: 高速緩沖存儲(chǔ)器高速緩沖存儲(chǔ)器cachecache:比主存速度更高,但容量小。:比主存速度更高,但容量小。 主存儲(chǔ)器:為中間層。主存儲(chǔ)器:為中間層。 外存儲(chǔ)器:比主存速度慢,但容量大。外存儲(chǔ)器:比主存速度慢,但容量大。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院6 2021-5-8 2.1 80x862.1 80x86微處理器微處理器
6、為提高計(jì)算機(jī)的可用性而開(kāi)發(fā)的一些措施:為提高計(jì)算機(jī)的可用性而開(kāi)發(fā)的一些措施: 提高計(jì)算機(jī)的工作速度是微處理器芯片發(fā)展的核心問(wèn)題。提高計(jì)算機(jī)的工作速度是微處理器芯片發(fā)展的核心問(wèn)題。 從從8048680486起,芯片中集成了起,芯片中集成了協(xié)處理器協(xié)處理器,提高了浮點(diǎn)處理速度;,提高了浮點(diǎn)處理速度; 字長(zhǎng)的增加字長(zhǎng)的增加提高了計(jì)算機(jī)運(yùn)算的精度。提高了計(jì)算機(jī)運(yùn)算的精度。 從從8028680286開(kāi)始,除了開(kāi)始,除了80868086提供的提供的實(shí)模式實(shí)模式外,增加了外,增加了保護(hù)模式保護(hù)模式的工作的工作 方式。實(shí)現(xiàn)了方式。實(shí)現(xiàn)了虛擬存儲(chǔ)虛擬存儲(chǔ)(使計(jì)算機(jī)可以運(yùn)行程序空間大于主存空間的(使計(jì)算機(jī)可以運(yùn)行
7、程序空間大于主存空間的 用戶程序)和用戶程序)和多任務(wù)管理多任務(wù)管理(允許多個(gè)用戶可以同時(shí)在機(jī)器上工作)。(允許多個(gè)用戶可以同時(shí)在機(jī)器上工作)。 從從8038680386開(kāi)始,又增加了開(kāi)始,又增加了虛擬虛擬8686的工作模式。在此模式下,一臺(tái)機(jī)的工作模式。在此模式下,一臺(tái)機(jī) 器可同時(shí)模擬多個(gè)器可同時(shí)模擬多個(gè)80868086處理器的工作。處理器的工作。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院7 2021-5-8 2.2 2.2 基于微處理器的計(jì)算機(jī)系統(tǒng)構(gòu)成基于微處理器的計(jì)算機(jī)系統(tǒng)構(gòu)成 軟件軟件 硬件硬件 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師
8、范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院8 2021-5-8 2.2.1 2.2.1 硬件硬件 計(jì)算機(jī)的硬件分為五大組成部分:運(yùn)算器、控制器、計(jì)算機(jī)的硬件分為五大組成部分:運(yùn)算器、控制器、存儲(chǔ)器存儲(chǔ)器、輸入設(shè)、輸入設(shè) 備和輸出設(shè)備。(備和輸出設(shè)備。(如圖所示如圖所示) 運(yùn)算器和控制器是計(jì)算機(jī)的核心,合成運(yùn)算器和控制器是計(jì)算機(jī)的核心,合成中央處理單元中央處理單元cpucpu(central central processing unitprocessing unit)或處理機(jī)、處理器()或處理機(jī)、處理器(processorprocessor)。)。 輸入設(shè)備和輸出設(shè)備往往通稱(chēng)為
9、輸入設(shè)備和輸出設(shè)備往往通稱(chēng)為外部設(shè)備外部設(shè)備(peripheralperipheral),簡(jiǎn)稱(chēng)外設(shè)),簡(jiǎn)稱(chēng)外設(shè) 或或i/oi/o設(shè)備。設(shè)備。 在微型計(jì)算機(jī)中,在微型計(jì)算機(jī)中,cpucpu由一個(gè)大規(guī)模集成電路芯片構(gòu)成,被稱(chēng)為微處理由一個(gè)大規(guī)模集成電路芯片構(gòu)成,被稱(chēng)為微處理 器(器(microprocessormicroprocessor)。)。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院9 2021-5-8 2.2.1 2.2.1 硬件硬件 運(yùn)算器執(zhí)行所有的算術(shù)和邏輯運(yùn)算。運(yùn)算器執(zhí)行所有的算術(shù)和邏輯運(yùn)算。 中央處理單元中央處理單元 控制器負(fù)責(zé)把
10、指令逐條從存儲(chǔ)器中取出,經(jīng)譯碼分析后向機(jī)器發(fā)出控制器負(fù)責(zé)把指令逐條從存儲(chǔ)器中取出,經(jīng)譯碼分析后向機(jī)器發(fā)出 各種控制命令。各種控制命令。 cpucpu內(nèi)部還有一些高速存儲(chǔ)單元,稱(chēng)為內(nèi)部還有一些高速存儲(chǔ)單元,稱(chēng)為寄存器(寄存器(registerregister)。它們?yōu)?。它們?yōu)?處理單元提供各種操作所需的數(shù)據(jù)。處理單元提供各種操作所需的數(shù)據(jù)。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院10 2021-5-8 2.2.1 2.2.1 硬件硬件 存儲(chǔ)器是計(jì)算機(jī)的記憶部件。存儲(chǔ)器是計(jì)算機(jī)的記憶部件。 存儲(chǔ)器存儲(chǔ)器 它用來(lái)存放程序以及程序中所涉及的數(shù)據(jù)。
11、它用來(lái)存放程序以及程序中所涉及的數(shù)據(jù)。 按所在位置,存儲(chǔ)器可以分為主存儲(chǔ)器(主存、內(nèi)存)和輔助存按所在位置,存儲(chǔ)器可以分為主存儲(chǔ)器(主存、內(nèi)存)和輔助存 儲(chǔ)器(輔存、外存)。儲(chǔ)器(輔存、外存)。(二者區(qū)別)(二者區(qū)別) 按讀寫(xiě)能力,存儲(chǔ)器可以分為隨機(jī)存儲(chǔ)器按讀寫(xiě)能力,存儲(chǔ)器可以分為隨機(jī)存儲(chǔ)器ramram(讀寫(xiě)存儲(chǔ)器)(讀寫(xiě)存儲(chǔ)器) 和只讀存儲(chǔ)器和只讀存儲(chǔ)器romrom。(二者區(qū)別)(二者區(qū)別) 存儲(chǔ)器地址(存儲(chǔ)器地址(addressaddress)、存儲(chǔ)器容量)、存儲(chǔ)器容量。 主存與寄存器的區(qū)別主存與寄存器的區(qū)別。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算
12、機(jī)與信息技術(shù)學(xué)院11 2021-5-8 2.2.1 2.2.1 硬件硬件 外部設(shè)備是實(shí)現(xiàn)人機(jī)交互和機(jī)間通信的一些機(jī)電設(shè)備。外部設(shè)備是實(shí)現(xiàn)人機(jī)交互和機(jī)間通信的一些機(jī)電設(shè)備。 外部設(shè)備外部設(shè)備 輸入設(shè)備輸入設(shè)備用來(lái)接受用戶輸入的原始數(shù)據(jù)和程序,并將它們轉(zhuǎn)化為計(jì)用來(lái)接受用戶輸入的原始數(shù)據(jù)和程序,并將它們轉(zhuǎn)化為計(jì) 算機(jī)可識(shí)別的形式存放到內(nèi)存中。常用的輸入設(shè)備有鍵盤(pán)、鼠標(biāo)等。算機(jī)可識(shí)別的形式存放到內(nèi)存中。常用的輸入設(shè)備有鍵盤(pán)、鼠標(biāo)等。 輸出設(shè)備輸出設(shè)備用來(lái)將存放在內(nèi)存中由計(jì)算機(jī)處理的結(jié)果轉(zhuǎn)變?yōu)槿藗兯苡脕?lái)將存放在內(nèi)存中由計(jì)算機(jī)處理的結(jié)果轉(zhuǎn)變?yōu)槿藗兯?接受的形式。常用的輸出設(shè)備有顯示器、打印機(jī)等。接受的
13、形式。常用的輸出設(shè)備有顯示器、打印機(jī)等。 每個(gè)外設(shè)必須通過(guò)每個(gè)外設(shè)必須通過(guò)輸入輸出接口電路(輸入輸出接口電路(i/oi/o接口)接口)與系統(tǒng)連接。與系統(tǒng)連接。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院12 2021-5-8 2.2.1 2.2.1 硬件硬件 數(shù)據(jù)寄存器:數(shù)據(jù)寄存器:用來(lái)存放要在外設(shè)和主機(jī)間傳送的數(shù)據(jù),實(shí)際起用來(lái)存放要在外設(shè)和主機(jī)間傳送的數(shù)據(jù),實(shí)際起 了緩沖器的作用。了緩沖器的作用。 外部設(shè)備外部設(shè)備 狀態(tài)寄存器:狀態(tài)寄存器:用來(lái)保存外設(shè)或接口的狀態(tài)信息,以便用來(lái)保存外設(shè)或接口的狀態(tài)信息,以便cpucpu在必要在必要 時(shí)檢測(cè)外
14、設(shè)的狀態(tài),了解外設(shè)的工作情況。時(shí)檢測(cè)外設(shè)的狀態(tài),了解外設(shè)的工作情況。 命令寄存器:命令寄存器:又稱(chēng)控制寄存器,又稱(chēng)控制寄存器,cpucpu給外設(shè)或接口的控制命令通給外設(shè)或接口的控制命令通 過(guò)此寄存器送給外設(shè)。過(guò)此寄存器送給外設(shè)。 程序員所見(jiàn)的程序員所見(jiàn)的i/oi/o接口由一組寄存器組成。接口由一組寄存器組成。一般說(shuō)來(lái),這些寄存器有一般說(shuō)來(lái),這些寄存器有 三種不同的用途:三種不同的用途: ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院13 2021-5-8 2.2.1 2.2.1 硬件硬件 各種外部設(shè)備都有以上三種類(lèi)型的寄存器,只是每個(gè)接口所配各種
15、外部設(shè)備都有以上三種類(lèi)型的寄存器,只是每個(gè)接口所配 備的寄存器數(shù)量是根據(jù)設(shè)備的需要確定的。備的寄存器數(shù)量是根據(jù)設(shè)備的需要確定的。 外部設(shè)備外部設(shè)備 為了區(qū)別這些寄存器,各個(gè)寄存器進(jìn)行了編號(hào),形成為了區(qū)別這些寄存器,各個(gè)寄存器進(jìn)行了編號(hào),形成i/oi/o地址,地址, 通常被稱(chēng)作通常被稱(chēng)作i/oi/o端口(端口(portport)。這樣就組成了一個(gè)獨(dú)立于內(nèi)存儲(chǔ)器的。這樣就組成了一個(gè)獨(dú)立于內(nèi)存儲(chǔ)器的 i/oi/o地址空間。地址空間。 實(shí)際上,系統(tǒng)就是通過(guò)這些端口與外設(shè)進(jìn)行通信的。實(shí)際上,系統(tǒng)就是通過(guò)這些端口與外設(shè)進(jìn)行通信的。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)
16、計(jì)算機(jī)與信息技術(shù)學(xué)院14 2021-5-8 2.2.1 2.2.1 硬件硬件 系統(tǒng)總線把系統(tǒng)總線把cpucpu、存儲(chǔ)器和、存儲(chǔ)器和i/oi/o設(shè)備連接起來(lái),用來(lái)傳送各部分之設(shè)備連接起來(lái),用來(lái)傳送各部分之 間的信息。間的信息。 系統(tǒng)總線系統(tǒng)總線 系統(tǒng)總線包括系統(tǒng)總線包括數(shù)據(jù)線、地址線數(shù)據(jù)線、地址線和和控制線控制線三組。三組。 數(shù)據(jù)線:數(shù)據(jù)線:雙向的,用來(lái)傳送信息。雙向的,用來(lái)傳送信息。 地址線:地址線:?jiǎn)蜗虻?,用?lái)指出信息的來(lái)源和目的地。單向的,用來(lái)指出信息的來(lái)源和目的地。 控制線:控制線:雙向的,用來(lái)規(guī)定總線的動(dòng)作,如方向等。雙向的,用來(lái)規(guī)定總線的動(dòng)作,如方向等。 系統(tǒng)總線的工作由總線控制邏輯
17、負(fù)責(zé)指揮。系統(tǒng)總線的工作由總線控制邏輯負(fù)責(zé)指揮。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院15 2021-5-8 2.2.2 2.2.2 軟件軟件 一個(gè)完整的計(jì)算機(jī)系統(tǒng)分為硬件和軟件兩大部分。一個(gè)完整的計(jì)算機(jī)系統(tǒng)分為硬件和軟件兩大部分。 硬件(硬件(hardwarehardware)是計(jì)算機(jī)系統(tǒng)的機(jī)器部分,是計(jì)算機(jī)工作的物)是計(jì)算機(jī)系統(tǒng)的機(jī)器部分,是計(jì)算機(jī)工作的物 質(zhì)基礎(chǔ)。質(zhì)基礎(chǔ)。 軟件(軟件(softwaresoftware)是為了運(yùn)行、管理和維護(hù)計(jì)算機(jī)而編制的各種)是為了運(yùn)行、管理和維護(hù)計(jì)算機(jī)而編制的各種 程序的總和,廣義的軟件還應(yīng)該包
18、括與程序有關(guān)的文檔。程序的總和,廣義的軟件還應(yīng)該包括與程序有關(guān)的文檔。 軟件可以分為軟件可以分為系統(tǒng)軟件系統(tǒng)軟件和和應(yīng)用軟件應(yīng)用軟件。 見(jiàn)圖見(jiàn)圖2.2 2.2 計(jì)算機(jī)軟件層次圖。計(jì)算機(jī)軟件層次圖。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院16 2021-5-8 2.2.2 2.2.2 軟件軟件 系統(tǒng)軟件是指為了方便使用、維護(hù)和管理計(jì)算機(jī)系統(tǒng)而編制的系統(tǒng)軟件是指為了方便使用、維護(hù)和管理計(jì)算機(jī)系統(tǒng)而編制的 一類(lèi)軟件及其文檔。一類(lèi)軟件及其文檔。 系統(tǒng)軟件系統(tǒng)軟件 操作系統(tǒng)(操作系統(tǒng)(operating systemoperating system
19、)是系統(tǒng)軟件的核心。)是系統(tǒng)軟件的核心。 操作系統(tǒng)是系統(tǒng)程序的集合。它負(fù)責(zé)管理系統(tǒng)的軟硬件資源,操作系統(tǒng)是系統(tǒng)程序的集合。它負(fù)責(zé)管理系統(tǒng)的軟硬件資源, 向用戶提供方便、有效和可靠的工作環(huán)境。向用戶提供方便、有效和可靠的工作環(huán)境。 操作系統(tǒng)的主要部分是常駐內(nèi)存監(jiān)督程序(操作系統(tǒng)的主要部分是常駐內(nèi)存監(jiān)督程序(monitormonitor),只要一),只要一 開(kāi)機(jī)它就存在于內(nèi)存中,它可以從用戶接收命令,并使操作系統(tǒng)執(zhí)開(kāi)機(jī)它就存在于內(nèi)存中,它可以從用戶接收命令,并使操作系統(tǒng)執(zhí) 行相應(yīng)的動(dòng)作。行相應(yīng)的動(dòng)作。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院1
20、7 2021-5-8 2.2.2 2.2.2 軟件軟件 i/o i/o驅(qū)動(dòng)程序(驅(qū)動(dòng)程序(i/o driveri/o driver)用來(lái)對(duì))用來(lái)對(duì)i/oi/o設(shè)備進(jìn)行控制或管理。設(shè)備進(jìn)行控制或管理。 系統(tǒng)軟件系統(tǒng)軟件 文件管理程序(文件管理程序(file managementfile management)用來(lái)處理存儲(chǔ)在外存中的大)用來(lái)處理存儲(chǔ)在外存中的大 量信息,對(duì)其中的信息以文件(量信息,對(duì)其中的信息以文件(filefile)的形式進(jìn)行存取、復(fù)制及其)的形式進(jìn)行存取、復(fù)制及其 他操作。他操作。 文本編輯程序(文本編輯程序(text editortext editor)用來(lái)建立、輸入或修改文
21、本,)用來(lái)建立、輸入或修改文本, 并使它存入內(nèi)存或大容量存儲(chǔ)器中。并使它存入內(nèi)存或大容量存儲(chǔ)器中。 翻譯程序(翻譯程序(translatortranslator):系統(tǒng)程序中的翻譯程序包括匯編程:系統(tǒng)程序中的翻譯程序包括匯編程 序、解釋程序和編譯程序。序、解釋程序和編譯程序。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院18 2021-5-8 2.2.2 2.2.2 軟件軟件 系統(tǒng)軟件系統(tǒng)軟件 連接程序(連接程序(linkerlinker)用來(lái)把要執(zhí)行的程序與庫(kù)文件或其他已經(jīng)翻用來(lái)把要執(zhí)行的程序與庫(kù)文件或其他已經(jīng)翻 譯好的子程序(能完成獨(dú)立功能
22、的程序模塊)連接在一起,形成機(jī)器譯好的子程序(能完成獨(dú)立功能的程序模塊)連接在一起,形成機(jī)器 能執(zhí)行的程序。能執(zhí)行的程序。 裝入程序(裝入程序(loaderloader)用來(lái)把程序從外存?zhèn)魉偷絻?nèi)存,以便機(jī)器執(zhí)行。用來(lái)把程序從外存?zhèn)魉偷絻?nèi)存,以便機(jī)器執(zhí)行。 調(diào)試程序(調(diào)試程序(debugdebug)是系統(tǒng)提供給用戶的能監(jiān)督和控制用戶程序是系統(tǒng)提供給用戶的能監(jiān)督和控制用戶程序 的一種工具。的一種工具。 系統(tǒng)程序庫(kù)(系統(tǒng)程序庫(kù)(systersyster library library)和用戶程序庫(kù)()和用戶程序庫(kù)(user libraryuser library),), 各種標(biāo)準(zhǔn)程序、子程序和一些文
23、件的集合稱(chēng)為程序庫(kù),它可以被系統(tǒng)各種標(biāo)準(zhǔn)程序、子程序和一些文件的集合稱(chēng)為程序庫(kù),它可以被系統(tǒng) 程序或用戶程序調(diào)用。程序或用戶程序調(diào)用。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院19 2021-5-8 2.2.2 2.2.2 軟件軟件 應(yīng)用軟件應(yīng)用軟件 應(yīng)用軟件是解決某一問(wèn)題的程序及其文檔。應(yīng)用軟件是解決某一問(wèn)題的程序及其文檔。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院20 2021-5-8 進(jìn)行匯編語(yǔ)言程序設(shè)計(jì)所需要的軟件進(jìn)行匯編語(yǔ)言程序設(shè)計(jì)所需要的軟件 系統(tǒng)軟件系統(tǒng)軟件 dosdos平
24、臺(tái)平臺(tái) windowswindows的虛擬的虛擬ms-dosms-dos環(huán)境環(huán)境 應(yīng)用軟件應(yīng)用軟件 文本編輯器:文本編輯器:用來(lái)錄入、修改源程序。常用的有:用來(lái)錄入、修改源程序。常用的有: dosdos的的editedit全屏幕編輯器;全屏幕編輯器; ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院21 2021-5-8 進(jìn)行匯編語(yǔ)言程序設(shè)計(jì)所需要的軟件進(jìn)行匯編語(yǔ)言程序設(shè)計(jì)所需要的軟件 應(yīng)用軟件應(yīng)用軟件 windowswindows的的notepadnotepad計(jì)事本;計(jì)事本; 程序開(kāi)發(fā)系統(tǒng)中的程序編輯器,例如你熟悉的程序開(kāi)發(fā)系統(tǒng)中的程序編輯器,
25、例如你熟悉的turbo cturbo c編輯器;編輯器; masmmasm集成開(kāi)發(fā)環(huán)境集成開(kāi)發(fā)環(huán)境pwbpwb的編輯器。的編輯器。 匯編程序:匯編程序:將匯編源程序翻譯成目標(biāo)程序。微機(jī)的匯編程序有多種版將匯編源程序翻譯成目標(biāo)程序。微機(jī)的匯編程序有多種版 本,如本,如masmmasm、tasmtasm等。本書(shū)采用微軟的等。本書(shū)采用微軟的masm 6.xmasm 6.x。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院22 2021-5-8 進(jìn)行匯編語(yǔ)言程序設(shè)計(jì)所需要的軟件進(jìn)行匯編語(yǔ)言程序設(shè)計(jì)所需要的軟件 應(yīng)用軟件應(yīng)用軟件 連接程序連接程序link.
26、exelink.exe:將目標(biāo)程序轉(zhuǎn)換成可執(zhí)行程序。將目標(biāo)程序轉(zhuǎn)換成可執(zhí)行程序。 調(diào)試程序:調(diào)試程序:進(jìn)行程序排錯(cuò)。常用的有:進(jìn)行程序排錯(cuò)。常用的有: dosdos的的debugdebug程序;程序;(建議使用)(建議使用) masmmasm的的code viewcode view; turbo debuggerturbo debugger等。等。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院23 2021-5-8 進(jìn)行匯編語(yǔ)言程序設(shè)計(jì)所需要的軟件進(jìn)行匯編語(yǔ)言程序設(shè)計(jì)所需要的軟件 應(yīng)用軟件應(yīng)用軟件 集編輯、匯編、連接和調(diào)試為一體的綜合開(kāi)發(fā)環(huán)境。
27、如集編輯、匯編、連接和調(diào)試為一體的綜合開(kāi)發(fā)環(huán)境。如masmmasm的程的程 序員平臺(tái)序員平臺(tái)pwbpwb。 源程序源程序可執(zhí)行文件可執(zhí)行文件目標(biāo)模塊目標(biāo)模塊 文本編輯器文本編輯器匯編程序匯編程序連接程序連接程序調(diào)試程序調(diào)試程序 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院24 2021-5-8 2.3 2.3 中央處理機(jī)中央處理機(jī) 中央處理機(jī)中央處理機(jī)cpucpu的組成的組成 80x8680x86寄存器組寄存器組 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院25 2021-5-8 2.3.1 2
28、.3.1 中央處理機(jī)中央處理機(jī)cpucpu的組成的組成 內(nèi)部暫存器內(nèi)部暫存器 ip es ss ds cs 輸入輸入/輸出輸出 控制電路控制電路 外部總線外部總線 執(zhí)行部分執(zhí)行部分 控制電路控制電路 1 2 3 4 5 6 alu 標(biāo)志寄存器標(biāo)志寄存器 ah al bh bl ch cl dh dl sp bp si di 通用寄存器通用寄存器 地址加法器地址加法器 指令隊(duì)列緩沖器指令隊(duì)列緩沖器 執(zhí)行部件執(zhí)行部件 (eu) 總線接口部件總線接口部件 (biu) 16位位 20位位 16位位 8位位 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院2
29、6 2021-5-8 2.3.1 2.3.1 中央處理機(jī)中央處理機(jī)cpucpu的組成的組成 總線接口單元總線接口單元biubiu(bus interface unitbus interface unit):管理著:管理著80868086與外部總線的與外部總線的 接口,負(fù)責(zé)接口,負(fù)責(zé)cpucpu對(duì)存儲(chǔ)器和外設(shè)進(jìn)行訪問(wèn)。對(duì)存儲(chǔ)器和外設(shè)進(jìn)行訪問(wèn)。 執(zhí)行單元執(zhí)行單元eueu(execution unitexecution unit):負(fù)責(zé)指令的譯碼、執(zhí)行和數(shù)據(jù)的運(yùn):負(fù)責(zé)指令的譯碼、執(zhí)行和數(shù)據(jù)的運(yùn) 算。算。 完成一條指令的功能可以分成兩個(gè)主要階段:完成一條指令的功能可以分成兩個(gè)主要階段:取指和執(zhí)行取指和
30、執(zhí)行。 取指取指是從主存中取出指令代碼進(jìn)入是從主存中取出指令代碼進(jìn)入cpucpu。biubiu負(fù)責(zé)從存儲(chǔ)器中取出指令負(fù)責(zé)從存儲(chǔ)器中取出指令 代碼,送入指令隊(duì)列。代碼,送入指令隊(duì)列。 執(zhí)行執(zhí)行是將指令翻譯成它代表的功能(被稱(chēng)為譯碼),并發(fā)出有關(guān)控制是將指令翻譯成它代表的功能(被稱(chēng)為譯碼),并發(fā)出有關(guān)控制 信號(hào)實(shí)現(xiàn)這個(gè)功能。指令執(zhí)行過(guò)程中需要的操作數(shù)有些來(lái)自信號(hào)實(shí)現(xiàn)這個(gè)功能。指令執(zhí)行過(guò)程中需要的操作數(shù)有些來(lái)自cpucpu內(nèi)部?jī)?nèi)部 的寄存器,有些來(lái)自指令隊(duì)列,還有些來(lái)自存儲(chǔ)器和外設(shè)(此時(shí),的寄存器,有些來(lái)自指令隊(duì)列,還有些來(lái)自存儲(chǔ)器和外設(shè)(此時(shí),eueu 控制總線接口單元控制總線接口單元biubiu
31、從外部獲?。?。從外部獲?。?。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院27 2021-5-8 2.3.2 80x862.3.2 80x86寄存器組寄存器組 通用寄存器通用寄存器 知識(shí)要點(diǎn)知識(shí)要點(diǎn) 專(zhuān)用寄存器專(zhuān)用寄存器 段寄存器段寄存器 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院28 2021-5-8 2.3.2 80x862.3.2 80x86寄存器組寄存器組 寄存器分為:寄存器分為: 程序可見(jiàn)的寄存器程序可見(jiàn)的寄存器:在匯編語(yǔ)言程序設(shè)計(jì)中用到的寄存器,它:在匯編語(yǔ)言程序設(shè)計(jì)中用到的寄存器
32、,它 們可以由指令來(lái)指定。們可以由指令來(lái)指定。 程序不可見(jiàn)的寄存器:一般應(yīng)用程序中不用而由系統(tǒng)所用的寄程序不可見(jiàn)的寄存器:一般應(yīng)用程序中不用而由系統(tǒng)所用的寄 存器。存器。 程序可見(jiàn)的寄存器分為程序可見(jiàn)的寄存器分為通用寄存器通用寄存器、專(zhuān)用寄存器專(zhuān)用寄存器和和段寄存器段寄存器三類(lèi)。三類(lèi)。 如圖如圖2.32.3所示所示。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院29 2021-5-8 2.3.2 80x862.3.2 80x86寄存器組寄存器組 ahal bhbl chcl dhdl sp bp di si ip flags cs ds es
33、ss fs gs ax bx cx dx eax ebx ecx edx esp ebp edi esi eip eflags 32位名稱(chēng)位名稱(chēng) 16位名稱(chēng)位名稱(chēng) 32位位 16位位 名稱(chēng)名稱(chēng) 累加器累加器 基址變址基址變址 計(jì)數(shù)計(jì)數(shù) 數(shù)據(jù)數(shù)據(jù) 堆棧指針堆棧指針 基址指針基址指針 目的變址目的變址 源變址源變址 指令指針指令指針 標(biāo)志標(biāo)志 代碼代碼 數(shù)據(jù)數(shù)據(jù) 附加附加 堆棧堆棧 對(duì)于對(duì)于80868086、80888088或或8028680286, 陰影區(qū)域是不可用的。陰影區(qū)域是不可用的。 fsfs和和gsgs寄存器無(wú)專(zhuān)用名稱(chēng)。寄存器無(wú)專(zhuān)用名稱(chēng)。 圖圖2.3 80x862.3 80x86的程序可
34、見(jiàn)寄存器組的程序可見(jiàn)寄存器組 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院30 2021-5-8 1. 1. 通用寄存器通用寄存器 8086/8088、80286所具有的寄存器所具有的寄存器 圖中陰影部分除外的寄存器,它們都是圖中陰影部分除外的寄存器,它們都是1616位寄存器。位寄存器。 數(shù)據(jù)寄存器:數(shù)據(jù)寄存器:包括包括axax、bxbx、cxcx、dxdx,用來(lái)暫時(shí)存放計(jì)算過(guò)程中所用到,用來(lái)暫時(shí)存放計(jì)算過(guò)程中所用到 的操作數(shù)、結(jié)果或其他信息。它們都可以分成高的操作數(shù)、結(jié)果或其他信息。它們都可以分成高8 8位和低位和低8 8位兩個(gè)獨(dú)立位兩個(gè)獨(dú)立
35、 的寄存器;即它們既可以以字(的寄存器;即它們既可以以字(1616位)形式訪問(wèn),又可以以字節(jié)(位)形式訪問(wèn),又可以以字節(jié)(8 8 位)形式訪問(wèn)。位)形式訪問(wèn)。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院31 2021-5-8 1. 1. 通用寄存器通用寄存器 8086/8088、80286所具有的寄存器所具有的寄存器 axax(accumulatoraccumulator)稱(chēng)為)稱(chēng)為累加器累加器,用于算數(shù)、邏輯運(yùn)算以及與外設(shè)傳送,用于算數(shù)、邏輯運(yùn)算以及與外設(shè)傳送 信息(信息(in/outin/out指令中)等。指令中)等。 bxbx(base
36、base)稱(chēng)為)稱(chēng)為基址寄存器基址寄存器,常用做存放存儲(chǔ)器地址。,常用做存放存儲(chǔ)器地址。 cxcx(countcount)稱(chēng)為)稱(chēng)為計(jì)數(shù)器計(jì)數(shù)器,常用來(lái)保存計(jì)數(shù)值,作為循環(huán)和串操作等指,常用來(lái)保存計(jì)數(shù)值,作為循環(huán)和串操作等指 令中的隱含計(jì)數(shù)器。令中的隱含計(jì)數(shù)器。 dxdx(datadata)稱(chēng)為)稱(chēng)為數(shù)據(jù)寄存器數(shù)據(jù)寄存器,常用來(lái)存放雙字長(zhǎng)數(shù)據(jù)的高,常用來(lái)存放雙字長(zhǎng)數(shù)據(jù)的高1616位,或存位,或存 放外設(shè)端口地址。放外設(shè)端口地址。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院32 2021-5-8 1. 1. 通用寄存器通用寄存器 8086/80
37、88、80286所具有的寄存器所具有的寄存器 指針及變址寄存器指針及變址寄存器 包括包括sisi(source indexsource index)、)、didi(destination indexdestination index)、)、bpbp (base pointerbase pointer)、)、spsp(stack pointerstack pointer)四個(gè))四個(gè)1616位寄存器,常位寄存器,常 用于存儲(chǔ)器尋址時(shí)提供地址。用于存儲(chǔ)器尋址時(shí)提供地址。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院33 2021-5-8 1. 1.
38、通用寄存器通用寄存器 8086/8088、80286所具有的寄存器所具有的寄存器 sisi是源變址寄存器,是源變址寄存器,didi是目的變址寄存器;是目的變址寄存器; 一般與一般與dsds聯(lián)用,聯(lián)用, 用來(lái)確定數(shù)據(jù)段中某一存儲(chǔ)單元的地址;用來(lái)確定數(shù)據(jù)段中某一存儲(chǔ)單元的地址; 在串指令中,在串指令中,sisi與與dsds聯(lián)用、聯(lián)用、didi與與eses聯(lián)用,分別尋址數(shù)據(jù)段聯(lián)用,分別尋址數(shù)據(jù)段 和附加段;和附加段; 在串指令中,在串指令中,sisi與與didi還具有自動(dòng)增量或減量的功能。還具有自動(dòng)增量或減量的功能。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與
39、信息技術(shù)學(xué)院34 2021-5-8 1. 1. 通用寄存器通用寄存器 8086/8088、80286所具有的寄存器所具有的寄存器 spsp為堆棧指針寄存器,為堆棧指針寄存器,bpbp為基址指針寄存器;為基址指針寄存器; 二者均可以與二者均可以與ssss聯(lián)用來(lái)確定堆棧段中的某一存儲(chǔ)單元的地址;聯(lián)用來(lái)確定堆棧段中的某一存儲(chǔ)單元的地址; spsp用來(lái)指示棧頂?shù)钠频刂?,用?lái)指示棧頂?shù)钠频刂?,bpbp表示堆棧段中的基地址。表示堆棧段中的基地址。 堆棧(堆棧(stackstack)是主存中一個(gè)特殊的區(qū)域,采用先進(jìn)后出)是主存中一個(gè)特殊的區(qū)域,采用先進(jìn)后出 filofilo(first in last
40、outfirst in last out)或后進(jìn)先出)或后進(jìn)先出lifolifo(last in first last in first outout)的操作方式。)的操作方式。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院35 2021-5-8 1. 1. 通用寄存器通用寄存器 它們都是它們都是3232位寄存器,包括位寄存器,包括eaxeax、ebxebx、ecxecx、edxedx、ebpebp、ediedi、esiesi。 這這8 8個(gè)寄存器可以以雙字(個(gè)寄存器可以以雙字(1616位)的形式或?qū)ζ涞臀唬┑男问交驅(qū)ζ涞?616位以字的形式被
41、位以字的形式被 訪問(wèn)。訪問(wèn)。 eaxeax、ebxebx、ecxecx和和edxedx的低的低1616位還可以以字節(jié)的形式被訪問(wèn)。位還可以以字節(jié)的形式被訪問(wèn)。 在在8038680386及其后繼機(jī)型中,所有及其后繼機(jī)型中,所有3232位通用寄存器既可以存放數(shù)據(jù),位通用寄存器既可以存放數(shù)據(jù), 也可以存放地址。也可以存放地址。 這這8 8個(gè)通用寄存器的專(zhuān)用特性與個(gè)通用寄存器的專(zhuān)用特性與8086/80888086/8088和和8028680286的的axax、bxbx、cxcx、dxdx、 spsp、bpbp、didi、sisi是一一對(duì)應(yīng)的。是一一對(duì)應(yīng)的。 80386及其后繼機(jī)型所具有的寄存器及其后繼
42、機(jī)型所具有的寄存器 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院36 2021-5-8 2. 2. 專(zhuān)用寄存器專(zhuān)用寄存器 包括包括ipip、spsp、flagsflags三個(gè)三個(gè)1616位寄存器。位寄存器。 ipip(instruction pointerinstruction pointer)指令指針寄存器)指令指針寄存器 它用來(lái)指示代碼段中指令的偏移地址,它與代碼段寄存器它用來(lái)指示代碼段中指令的偏移地址,它與代碼段寄存器cscs聯(lián)用,聯(lián)用, 以確定下一條指令的物理地址;以確定下一條指令的物理地址; 處理器利用處理器利用cscs:ipip取得
43、下一條要執(zhí)行的指令,然后修改取得下一條要執(zhí)行的指令,然后修改ipip內(nèi)容,使內(nèi)容,使 之指向下一條指令的存儲(chǔ)器地址;之指向下一條指令的存儲(chǔ)器地址; 計(jì)算機(jī)就是通過(guò)計(jì)算機(jī)就是通過(guò)cscs:ipip寄存器來(lái)控制指令序列的執(zhí)行流程的。寄存器來(lái)控制指令序列的執(zhí)行流程的。 8086/8088、80286所具有的寄存器所具有的寄存器 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院37 2021-5-8 2. 2. 專(zhuān)用寄存器專(zhuān)用寄存器 spsp堆棧指針寄存器,堆棧指針寄存器,它與它與ssss聯(lián)用用來(lái)確定堆棧段中棧頂?shù)牡刂?,即?lián)用用來(lái)確定堆棧段中棧頂?shù)牡刂?,?/p>
44、spsp用用 來(lái)存放棧頂?shù)钠频刂?。?lái)存放棧頂?shù)钠频刂贰?flagsflags標(biāo)志寄存器:標(biāo)志寄存器:如圖如圖2.42.4所示所示。 又稱(chēng)程序狀態(tài)寄存器(又稱(chēng)程序狀態(tài)寄存器(program status word,pswprogram status word,psw); ; 用來(lái)存放條件碼標(biāo)志、控制標(biāo)志和系統(tǒng)標(biāo)志。用來(lái)存放條件碼標(biāo)志、控制標(biāo)志和系統(tǒng)標(biāo)志。 8086/8088、80286所具有的寄存器所具有的寄存器 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院38 2021-5-8 2. 2. 專(zhuān)用寄存器專(zhuān)用寄存器 包括三個(gè)包括三個(gè)3232位專(zhuān)
45、用寄存器,分別是位專(zhuān)用寄存器,分別是eipeip、espesp、eflagseflags;它們的作用;它們的作用 和相應(yīng)和相應(yīng)1616位寄存器相同。位寄存器相同。 80386及其后繼機(jī)型所具有的寄存器及其后繼機(jī)型所具有的寄存器 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院39 2021-5-8 圖圖2.4 80x862.4 80x86的標(biāo)志寄存器的標(biāo)志寄存器 ofdfiftfsfzfafpfcf 8086/8088 80286 1514131211109876543210 ntioplofdfiftfsfzfafpfcf vmrf同同80286
46、 acvmrf同同80286 idvipvifacvmrf同同80286 31.22212019181716150 80386 80486 pentium ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院40 2021-5-8 80x8680x86的標(biāo)志寄存器的標(biāo)志寄存器 用來(lái)記錄程序中運(yùn)行結(jié)果的狀態(tài)信息,它們是根據(jù)有關(guān)指令的運(yùn)行用來(lái)記錄程序中運(yùn)行結(jié)果的狀態(tài)信息,它們是根據(jù)有關(guān)指令的運(yùn)行 結(jié)果由結(jié)果由cpucpu自動(dòng)設(shè)置的。自動(dòng)設(shè)置的。 這些狀態(tài)信息往往作為后續(xù)條件轉(zhuǎn)移指令的轉(zhuǎn)移控制條件,所以稱(chēng)這些狀態(tài)信息往往作為后續(xù)條件轉(zhuǎn)移指令的轉(zhuǎn)移控制條件,所
47、以稱(chēng) 為條件碼。為條件碼。它包括它包括ofof、sfsf、zfzf、afaf、pfpf和和cfcf。 條件碼標(biāo)志(狀態(tài)標(biāo)志)條件碼標(biāo)志(狀態(tài)標(biāo)志) ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院41 2021-5-8 80x8680x86的標(biāo)志寄存器的標(biāo)志寄存器 該標(biāo)志用于串操作指令中,控制地址的變化方向。該標(biāo)志用于串操作指令中,控制地址的變化方向。 當(dāng)當(dāng)df=1df=1時(shí),每次串操作后使變址寄存器時(shí),每次串操作后使變址寄存器sisi和和didi的值自動(dòng)減少,即串的值自動(dòng)減少,即串 操作從高地址向低地址方向進(jìn)行。當(dāng)操作從高地址向低地址方向進(jìn)行。當(dāng)
48、df=0df=0時(shí),每次串操作后使變址寄存時(shí),每次串操作后使變址寄存 器器sisi和和didi的值自動(dòng)增加,即串操作從低地址向高地址方向進(jìn)行。的值自動(dòng)增加,即串操作從低地址向高地址方向進(jìn)行。 控制標(biāo)志控制標(biāo)志方向標(biāo)志方向標(biāo)志dfdf(direction flagdirection flag) 方向標(biāo)志可以用方向標(biāo)志可以用cldcld指令復(fù)位(指令復(fù)位(df=0df=0),),stdstd指令置位(指令置位(df=1df=1)。)。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院42 2021-5-8 80x8680x86的標(biāo)志寄存器的標(biāo)志寄存器
49、可以用于可以用于i/0i/0、可屏蔽中斷、程序調(diào)試、任務(wù)切換和系統(tǒng)工作方式等、可屏蔽中斷、程序調(diào)試、任務(wù)切換和系統(tǒng)工作方式等 的控制。的控制。 下面簡(jiǎn)單介紹某些位的情況。下面簡(jiǎn)單介紹某些位的情況。 系統(tǒng)標(biāo)志位系統(tǒng)標(biāo)志位 陷阱標(biāo)志陷阱標(biāo)志tftf 中斷標(biāo)志中斷標(biāo)志ifif i/oi/o特權(quán)級(jí)特權(quán)級(jí)iopliopl ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院43 2021-5-8 陷阱標(biāo)志陷阱標(biāo)志tftf(trap flagtrap flag) 也常稱(chēng)為單步標(biāo)志。也常稱(chēng)為單步標(biāo)志。 用于控制處理器是否進(jìn)入單步操作方式。用于控制處理器是否進(jìn)入單步操
50、作方式。 當(dāng)當(dāng)tf=1tf=1時(shí),處理器單步執(zhí)行指令,每條指令執(zhí)行完后產(chǎn)生編號(hào)為時(shí),處理器單步執(zhí)行指令,每條指令執(zhí)行完后產(chǎn)生編號(hào)為1 1的的 中斷,由系統(tǒng)控制計(jì)算機(jī);中斷,由系統(tǒng)控制計(jì)算機(jī); 當(dāng)當(dāng)tf=0tf=0時(shí),處理器正常工作。時(shí),處理器正常工作。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院44 2021-5-8 中斷標(biāo)志中斷標(biāo)志ifif(interrupt flaginterrupt flag) 該標(biāo)志用于控制外部可屏蔽中斷是否可以被處理器響應(yīng)。該標(biāo)志用于控制外部可屏蔽中斷是否可以被處理器響應(yīng)。 當(dāng)當(dāng)if=1if=1時(shí),允許時(shí),允許cp
51、ucpu響應(yīng)可屏蔽中斷請(qǐng)求;響應(yīng)可屏蔽中斷請(qǐng)求; 當(dāng)當(dāng)if=0if=0時(shí),則禁止中斷。時(shí),則禁止中斷。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院45 2021-5-8 i/oi/o特權(quán)級(jí)特權(quán)級(jí)iopliopl(i/o privilege leveli/o privilege level) 在保護(hù)模式下,用于控制在保護(hù)模式下,用于控制i/oi/o地址空間的訪問(wèn)。(有關(guān)內(nèi)容見(jiàn)第地址空間的訪問(wèn)。(有關(guān)內(nèi)容見(jiàn)第8 8 章。)章。) of of表示的是有符號(hào)數(shù)運(yùn)算結(jié)果是否超出了范圍;即對(duì)于表示的是有符號(hào)數(shù)運(yùn)算結(jié)果是否超出了范圍;即對(duì)于n n位二進(jìn)制位
52、二進(jìn)制 有符號(hào)數(shù)來(lái)說(shuō),如果運(yùn)算結(jié)果超出了有符號(hào)數(shù)來(lái)說(shuō),如果運(yùn)算結(jié)果超出了-2-2n n-1 -1 2 2n-1 n-1-1 -1這個(gè)范圍,則認(rèn)為這個(gè)范圍,則認(rèn)為 產(chǎn)生了溢出。運(yùn)算結(jié)果已經(jīng)不正確。產(chǎn)生了溢出。運(yùn)算結(jié)果已經(jīng)不正確。 在調(diào)試程序在調(diào)試程序debugdebug中提供了測(cè)試標(biāo)志位的手段,它用符號(hào)表示某中提供了測(cè)試標(biāo)志位的手段,它用符號(hào)表示某 些標(biāo)志位的值。(些標(biāo)志位的值。(見(jiàn)表見(jiàn)表2.22.2) ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院46 2021-5-8 表表2.2 2.2 標(biāo)志位的符號(hào)表示標(biāo)志位的符號(hào)表示 標(biāo)志名標(biāo)志名標(biāo)志為標(biāo)志
53、為1標(biāo)志為標(biāo)志為0 溢出溢出ofovnv 方向方向dfdnup 中斷中斷ifeidi 符號(hào)符號(hào)sfngpl 零位零位zfzrnz 輔助輔助afacna 奇偶奇偶pfpepo 進(jìn)位進(jìn)位cfcync ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院47 2021-5-8 3. 3. 段寄存器段寄存器 段寄存器也是一種專(zhuān)用寄存器;段寄存器也是一種專(zhuān)用寄存器; 專(zhuān)用于存儲(chǔ)器尋址,用來(lái)直接或間接地存放段地址。專(zhuān)用于存儲(chǔ)器尋址,用來(lái)直接或間接地存放段地址。 8028680286以前的以前的cpucpu包括:包括:cscs、dsds、ssss、eses; 從從8
54、038680386起增加了兩個(gè)附加的數(shù)據(jù)段寄存器起增加了兩個(gè)附加的數(shù)據(jù)段寄存器fsfs、gsgs。 段寄存器是段寄存器是16位位的的 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院48 2021-5-8 2.4 2.4 存儲(chǔ)器存儲(chǔ)器 存儲(chǔ)單元的地址和內(nèi)容存儲(chǔ)單元的地址和內(nèi)容 實(shí)模式存儲(chǔ)器尋址實(shí)模式存儲(chǔ)器尋址 保護(hù)模式存儲(chǔ)器尋址保護(hù)模式存儲(chǔ)器尋址 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院49 2021-5-8 2.4.1 2.4.1 存儲(chǔ)單元的地址和內(nèi)容存儲(chǔ)單元的地址和內(nèi)容 計(jì)算機(jī)中存儲(chǔ)信息的單
55、位(計(jì)算機(jī)中存儲(chǔ)信息的單位(數(shù)據(jù)類(lèi)型圖數(shù)據(jù)類(lèi)型圖) 二進(jìn)制位(二進(jìn)制位(bitbit):是計(jì)算機(jī)存儲(chǔ)信息的基本單位,一個(gè)位可存儲(chǔ)是計(jì)算機(jī)存儲(chǔ)信息的基本單位,一個(gè)位可存儲(chǔ) 一位二進(jìn)制數(shù):一位二進(jìn)制數(shù):0 0或或1 1。 字節(jié)(字節(jié)(bytebyte): :8 8個(gè)二進(jìn)制位組成一個(gè)字節(jié)。個(gè)二進(jìn)制位組成一個(gè)字節(jié)。 字(字(wordword): :由兩個(gè)字節(jié)組成,即由兩個(gè)字節(jié)組成,即1616位數(shù)據(jù)。位數(shù)據(jù)。 雙字(雙字(double worddouble word): :由兩個(gè)字組成,即由兩個(gè)字組成,即4 4字節(jié)數(shù)據(jù),共字節(jié)數(shù)據(jù),共3232位。位。 4 4字字:由由8 8個(gè)字節(jié)組成,個(gè)字節(jié)組成,646
56、4位數(shù)據(jù)。位數(shù)據(jù)。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院50 2021-5-8 2.4.1 2.4.1 存儲(chǔ)單元的地址和內(nèi)容存儲(chǔ)單元的地址和內(nèi)容 機(jī)器字長(zhǎng)機(jī)器字長(zhǎng) 8086/80888086/8088,8028680286的字長(zhǎng)為的字長(zhǎng)為1616位;位; 8038680386到到pentium iipentium ii的字長(zhǎng)為的字長(zhǎng)為3232位。位。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院51 2021-5-8 2.4.1 2.4.1 存儲(chǔ)單元的地址和內(nèi)容存儲(chǔ)單元的地址和內(nèi)容 存儲(chǔ)
57、單元的地址存儲(chǔ)單元的地址 存儲(chǔ)器里以字節(jié)為單位存儲(chǔ)信息。存儲(chǔ)器里以字節(jié)為單位存儲(chǔ)信息。 每一個(gè)字節(jié)單元被賦予一個(gè)惟一的存儲(chǔ)器地址,稱(chēng)為每一個(gè)字節(jié)單元被賦予一個(gè)惟一的存儲(chǔ)器地址,稱(chēng)為物理地址物理地址。 地址從地址從0 0開(kāi)始編號(hào),順序地每次加開(kāi)始編號(hào),順序地每次加1 1; 機(jī)器里,地址是一個(gè)無(wú)符號(hào)二進(jìn)制整數(shù),書(shū)寫(xiě)時(shí)常用十六進(jìn)制數(shù)表示。機(jī)器里,地址是一個(gè)無(wú)符號(hào)二進(jìn)制整數(shù),書(shū)寫(xiě)時(shí)常用十六進(jìn)制數(shù)表示。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院52 2021-5-8 2.4.1 2.4.1 存儲(chǔ)單元的地址和內(nèi)容存儲(chǔ)單元的地址和內(nèi)容 存儲(chǔ)單元的內(nèi)容存儲(chǔ)
58、單元的內(nèi)容 一個(gè)存儲(chǔ)單元中存放的信息稱(chēng)為一個(gè)存儲(chǔ)單元中存放的信息稱(chēng)為該單元的內(nèi)容該單元的內(nèi)容。 每個(gè)存儲(chǔ)單元中存放一個(gè)字節(jié)的內(nèi)容。(每個(gè)存儲(chǔ)單元中存放一個(gè)字節(jié)的內(nèi)容。(如圖所示如圖所示) 在存儲(chǔ)器中如何存放一個(gè)字或雙字?在存儲(chǔ)器中如何存放一個(gè)字或雙字? ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院53 2021-5-8 2.4.1 2.4.1 存儲(chǔ)單元的地址和內(nèi)容存儲(chǔ)單元的地址和內(nèi)容 地址對(duì)齊地址對(duì)齊 在在80868086和和8028680286中,訪問(wèn)存儲(chǔ)器都是中,訪問(wèn)存儲(chǔ)器都是以字為單位以字為單位進(jìn)行的,即機(jī)進(jìn)行的,即機(jī) 器是以偶地址訪問(wèn)存
59、儲(chǔ)器的。對(duì)于奇地址的字單元,要取一個(gè)字器是以偶地址訪問(wèn)存儲(chǔ)器的。對(duì)于奇地址的字單元,要取一個(gè)字 需要訪問(wèn)二次存儲(chǔ)器,浪費(fèi)時(shí)間。需要訪問(wèn)二次存儲(chǔ)器,浪費(fèi)時(shí)間。 將字單元安排在偶地址(將字單元安排在偶地址(xxx0bxxx0b),雙字單元安排在),雙字單元安排在4 4的整數(shù)倍的整數(shù)倍 地址(地址(xx00bxx00b),被稱(chēng)為),被稱(chēng)為“地址對(duì)齊地址對(duì)齊”;同樣地,;同樣地,4 4字單元安排在字單元安排在8 8 的整數(shù)倍地址,這樣處理器訪問(wèn)存儲(chǔ)器時(shí),就不需要額外的訪問(wèn)時(shí)的整數(shù)倍地址,這樣處理器訪問(wèn)存儲(chǔ)器時(shí),就不需要額外的訪問(wèn)時(shí) 間,提高了存取速度。間,提高了存取速度。 ibm-pc匯編語(yǔ)言程序設(shè)計(jì)
60、 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院54 2021-5-8 2.4.2 2.4.2 實(shí)模式存儲(chǔ)器尋址實(shí)模式存儲(chǔ)器尋址 存儲(chǔ)器地址的分段存儲(chǔ)器地址的分段 知識(shí)要點(diǎn)知識(shí)要點(diǎn) 段寄存器段寄存器 ibm-pc匯編語(yǔ)言程序設(shè)計(jì) 河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院河南師范大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院55 2021-5-8 2.4.2 2.4.2 實(shí)模式存儲(chǔ)器尋址實(shí)模式存儲(chǔ)器尋址 80x86 80x86中,中,8086/80888086/8088只能在實(shí)模式下工作,其他微處理器均可在只能在實(shí)模式下工作,其他微處理器均可在 實(shí)模式或保護(hù)模式下工作。實(shí)模式或保護(hù)模式下工作。 實(shí)模式下允許
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 上市公司運(yùn)營(yíng)總監(jiān)招聘合同
- 環(huán)保公司黃金屋租賃合同
- 環(huán)保工程人工費(fèi)施工合同
- 家庭園丁保姆合同范本
- 城市燃?xì)夤芫W(wǎng)安全合同樣本
- 環(huán)保項(xiàng)目招投標(biāo)核準(zhǔn)申請(qǐng)
- 珠寶店銷(xiāo)售顧問(wèn)聘用合同樣本
- 教育資源捐贈(zèng)減免辦法
- 美術(shù)培訓(xùn)機(jī)構(gòu)教師聘用協(xié)議
- 市政排水工程誠(chéng)信承諾書(shū)模板
- 《魏書(shū)生班主任工作漫談》讀書(shū)心得體會(huì)課件
- 第16課 國(guó)家出路的探索與列強(qiáng)侵略的加劇 課件上學(xué)期統(tǒng)編版(2019)必修中外歷史綱要上
- 2024年四川雷波縣“123”林業(yè)技術(shù)人才定向培養(yǎng)畢業(yè)生招聘擬聘易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 白求恩人物生平紀(jì)念
- 2024年度陜西榆林能源集團(tuán)限公司高校畢業(yè)生招聘(238人)高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 零工市場(chǎng)(驛站)運(yùn)營(yíng)管理投標(biāo)方案(技術(shù)方案)
- 2024-2025學(xué)年小學(xué)信息技術(shù)(信息科技)四年級(jí)下冊(cè)浙教版(2023)教學(xué)設(shè)計(jì)合集
- 旅游紙質(zhì)合同模板
- 飛機(jī)維修計(jì)劃與調(diào)度管理考核試卷
- 中國(guó)鹽業(yè)集團(tuán)有限公司招聘筆試題庫(kù)2024
- 生豬屠宰獸醫(yī)衛(wèi)生人員考試題庫(kù)答案(414道)
評(píng)論
0/150
提交評(píng)論