版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、設(shè)問:設(shè)問:1匯編語言與微型計(jì)算機(jī)系統(tǒng)有哪匯編語言與微型計(jì)算機(jī)系統(tǒng)有哪些聯(lián)系些聯(lián)系 ?2寄存器的重要性是什么寄存器的重要性是什么 ? 3什么是邏輯地址、物理地址什么是邏輯地址、物理地址 ?4. 存儲(chǔ)器分段是什么概念存儲(chǔ)器分段是什么概念 ?5. 計(jì)算機(jī)存儲(chǔ)的數(shù)據(jù)能看到嗎計(jì)算機(jī)存儲(chǔ)的數(shù)據(jù)能看到嗎 ? ?本章重點(diǎn)本章重點(diǎn)微型計(jì)算機(jī)系統(tǒng)微型計(jì)算機(jī)系統(tǒng)80X86寄存器寄存器物理地址與邏輯地址物理地址與邏輯地址存儲(chǔ)器分段存儲(chǔ)器分段 2.1 馮馮諾依曼計(jì)算機(jī)諾依曼計(jì)算機(jī)馮馮諾依曼計(jì)算機(jī)的基本特點(diǎn):諾依曼計(jì)算機(jī)的基本特點(diǎn):(1 1)采用存儲(chǔ)程序方式,即程序和數(shù)據(jù)放在同一采用存儲(chǔ)程序方式,即程序和數(shù)據(jù)放在同一個(gè)
2、存儲(chǔ)器中,程序指令和數(shù)據(jù)都用二進(jìn)制表示,個(gè)存儲(chǔ)器中,程序指令和數(shù)據(jù)都用二進(jìn)制表示,兩者都可以送到兩者都可以送到CPU執(zhí)行和運(yùn)算。執(zhí)行和運(yùn)算。(2)存儲(chǔ)器是按地址訪問的,每個(gè)存儲(chǔ)單元的位)存儲(chǔ)器是按地址訪問的,每個(gè)存儲(chǔ)單元的位數(shù)是固定的。存儲(chǔ)單元采用線性編址方式,按順數(shù)是固定的。存儲(chǔ)單元采用線性編址方式,按順序取出指令。序取出指令。(3)指令由操作碼和地址碼構(gòu)成。根據(jù)指令含義)指令由操作碼和地址碼構(gòu)成。根據(jù)指令含義發(fā)出控制信號控制計(jì)算機(jī)的操作。發(fā)出控制信號控制計(jì)算機(jī)的操作。(4)機(jī)器以運(yùn)算器為中心,輸入輸出設(shè)備都要經(jīng))機(jī)器以運(yùn)算器為中心,輸入輸出設(shè)備都要經(jīng)過過CPU與存儲(chǔ)器間進(jìn)行數(shù)據(jù)傳送。與存儲(chǔ)
3、器間進(jìn)行數(shù)據(jù)傳送。 u2.1.1 馮馮諾依曼機(jī)原理諾依曼機(jī)原理u計(jì)算機(jī)由運(yùn)算器、控制器、存儲(chǔ)器、輸入計(jì)算機(jī)由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備、輸出設(shè)備五大部件組成。運(yùn)算器和設(shè)備、輸出設(shè)備五大部件組成。運(yùn)算器和控制器合稱為中央處理器(控制器合稱為中央處理器(CPU)。)。 l中央處理器中央處理器CPU l存儲(chǔ)器存儲(chǔ)器 l輸入輸出設(shè)備輸入輸出設(shè)備 l總線及接口總線及接口 如圖如圖特點(diǎn)特點(diǎn)特點(diǎn)特點(diǎn)特點(diǎn)特點(diǎn)特點(diǎn)特點(diǎn)u2.1.2 馮馮諾依曼計(jì)算機(jī)的基本結(jié)構(gòu)諾依曼計(jì)算機(jī)的基本結(jié)構(gòu)內(nèi)存儲(chǔ)器內(nèi)存儲(chǔ)器Inner Memory輸入設(shè)備輸入設(shè)備Input Device中央處理器中央處理器輸出設(shè)備輸出設(shè)備Output
4、 DeviceA-BUS輸入接口輸入接口輸出接口輸出接口中央處理器中央處理器CPU 中央處理器(中央處理器(CPU)是計(jì)算機(jī)硬件系)是計(jì)算機(jī)硬件系統(tǒng)的核心部件,是計(jì)算機(jī)系統(tǒng)接受命統(tǒng)的核心部件,是計(jì)算機(jī)系統(tǒng)接受命令并按命令完成對應(yīng)操作的控制指揮令并按命令完成對應(yīng)操作的控制指揮中心和運(yùn)算中心。中心和運(yùn)算中心。CPU主要由算術(shù)和邏輯運(yùn)算單元主要由算術(shù)和邏輯運(yùn)算單元ALU、地址發(fā)生和控制單元、指令譯碼單元、地址發(fā)生和控制單元、指令譯碼單元、數(shù)據(jù)寄存器單元、總線驅(qū)動(dòng)單元、時(shí)數(shù)據(jù)寄存器單元、總線驅(qū)動(dòng)單元、時(shí)序控制單元等組成。序控制單元等組成。 返回返回 存儲(chǔ)器存儲(chǔ)器 存儲(chǔ)器用來存儲(chǔ)在計(jì)算機(jī)系統(tǒng)中運(yùn)行的程序
5、,存儲(chǔ)器用來存儲(chǔ)在計(jì)算機(jī)系統(tǒng)中運(yùn)行的程序,程序處理的原始數(shù)據(jù),中間數(shù)據(jù)及最終結(jié)果程序處理的原始數(shù)據(jù),中間數(shù)據(jù)及最終結(jié)果的設(shè)備。存儲(chǔ)器分為內(nèi)存和外存。的設(shè)備。存儲(chǔ)器分為內(nèi)存和外存。內(nèi)存又稱主存,用于存儲(chǔ)計(jì)算機(jī)當(dāng)前正在運(yùn)內(nèi)存又稱主存,用于存儲(chǔ)計(jì)算機(jī)當(dāng)前正在運(yùn)行的程序,正在處理的原始數(shù)據(jù),中間數(shù)據(jù)行的程序,正在處理的原始數(shù)據(jù),中間數(shù)據(jù)及最終結(jié)果的存儲(chǔ)器。及最終結(jié)果的存儲(chǔ)器。 內(nèi)存按功能可分為兩種:只讀存儲(chǔ)器內(nèi)存按功能可分為兩種:只讀存儲(chǔ)器ROM (Read Only Memory)和隨機(jī)存取存儲(chǔ)器和隨機(jī)存取存儲(chǔ)器RAM (Random Access Memory)。 返回返回輸入輸出設(shè)備輸入輸出設(shè)備
6、 輸入輸入/輸出設(shè)備統(tǒng)稱為外部設(shè)備輸出設(shè)備統(tǒng)稱為外部設(shè)備(Peripheral),是用來實(shí)現(xiàn)人機(jī)交),是用來實(shí)現(xiàn)人機(jī)交換信息的裝置。換信息的裝置。輸入設(shè)備:向計(jì)算機(jī)的主存或輸入設(shè)備:向計(jì)算機(jī)的主存或CPU送送入程序或數(shù)據(jù)。如鍵盤、光筆、讀卡入程序或數(shù)據(jù)。如鍵盤、光筆、讀卡機(jī)、掃描儀、磁盤驅(qū)動(dòng)器等。機(jī)、掃描儀、磁盤驅(qū)動(dòng)器等。 輸出設(shè)備:將計(jì)算機(jī)處理的結(jié)果輸出輸出設(shè)備:將計(jì)算機(jī)處理的結(jié)果輸出給用戶。如顯示器打印機(jī)、繪圖儀、給用戶。如顯示器打印機(jī)、繪圖儀、磁盤驅(qū)動(dòng)器等磁盤驅(qū)動(dòng)器等 返回返回總線及接口總線及接口 計(jì)算機(jī)總線:分為內(nèi)部總線和外部總計(jì)算機(jī)總線:分為內(nèi)部總線和外部總線。內(nèi)部總線指的是線。內(nèi)部
7、總線指的是CPU內(nèi)部各個(gè)部內(nèi)部各個(gè)部件之間的連線。外部總線又稱為系統(tǒng)件之間的連線。外部總線又稱為系統(tǒng)總線,是連接計(jì)算機(jī)主板上各種芯片總線,是連接計(jì)算機(jī)主板上各種芯片以及各個(gè)接口部件的總線。系統(tǒng)總線以及各個(gè)接口部件的總線。系統(tǒng)總線分為地址總線、數(shù)據(jù)總線、控制總線分為地址總線、數(shù)據(jù)總線、控制總線三大類。三大類。 返回返回外部設(shè)備和計(jì)算機(jī)主機(jī)之間必須有一外部設(shè)備和計(jì)算機(jī)主機(jī)之間必須有一個(gè)中間介質(zhì)作為緩沖部件,該部件稱個(gè)中間介質(zhì)作為緩沖部件,該部件稱為接口為接口(Interface)。外部設(shè)備通過連。外部設(shè)備通過連在外部總線上的接口與在外部總線上的接口與CPU相連。接相連。接口又分為并行接口和串行接口
8、??谟址譃椴⑿薪涌诤痛薪涌?。并行接口:同時(shí)并行地傳送多位數(shù)據(jù),并行接口:同時(shí)并行地傳送多位數(shù)據(jù),例如例如8位數(shù)據(jù)用位數(shù)據(jù)用8根數(shù)據(jù)線做并行傳輸。根數(shù)據(jù)線做并行傳輸。 串行接口:數(shù)據(jù)是一位接一位傳輸?shù)?,串行接口:?shù)據(jù)是一位接一位傳輸?shù)模恍枰桓鶖?shù)據(jù)線只需一根數(shù)據(jù)線 。2.2 微型計(jì)算機(jī)系統(tǒng)微型計(jì)算機(jī)系統(tǒng)2.2.1 微型計(jì)算機(jī)系統(tǒng)概念微型計(jì)算機(jī)系統(tǒng)概念 匯編語言與微型計(jì)算機(jī)系統(tǒng)密切相關(guān)。先匯編語言與微型計(jì)算機(jī)系統(tǒng)密切相關(guān)。先來明確匯編語言的學(xué)習(xí)內(nèi)容。第來明確匯編語言的學(xué)習(xí)內(nèi)容。第1章中提到章中提到的三條匯編指令:的三條匯編指令:MOV AX,35ADD AX,27MOV Z,AX 這幾條指令中涉
9、及到寄存器(這幾條指令中涉及到寄存器(AX)、加)、加法運(yùn)算、存儲(chǔ)單元(法運(yùn)算、存儲(chǔ)單元(Z)、數(shù)據(jù)的獲取和傳)、數(shù)據(jù)的獲取和傳送、指令的存放等內(nèi)容。送、指令的存放等內(nèi)容。 2.2.2 微處理器微處理器 微處理器分為執(zhí)行部件微處理器分為執(zhí)行部件EU和總線接口部件和總線接口部件BIU兩部分。兩部分。執(zhí)行部件執(zhí)行部件EU中包含運(yùn)算器的算術(shù)邏輯運(yùn)算中包含運(yùn)算器的算術(shù)邏輯運(yùn)算單元單元ALU、通用寄存器組、標(biāo)志寄存器、通用寄存器組、標(biāo)志寄存器FLAGS、EC單元控制系統(tǒng)等;單元控制系統(tǒng)等;總線接口部件總線接口部件BIU包含段寄存器組(包含段寄存器組(CS、DS、ES、SS)、指令指針寄存器)、指令指針寄
10、存器IP、指令、指令隊(duì)列單元、地址加法器、總線控制系統(tǒng)等。隊(duì)列單元、地址加法器、總線控制系統(tǒng)等。2.3 80X86寄存器寄存器2.3.1 8086寄存器組寄存器組 分類數(shù)據(jù)寄存器:包括數(shù)據(jù)寄存器:包括AX、BX、CX、DX四個(gè)四個(gè)16位的通用寄存器。位的通用寄存器。其中其中DX存放高字(高存放高字(高16位),位),AX存放低字存放低字(低(低16位)。數(shù)據(jù)寄存器中每個(gè)寄存器又可位)。數(shù)據(jù)寄存器中每個(gè)寄存器又可以分為以分為2個(gè)個(gè)8位的寄存器。分別為位的寄存器。分別為AH、AL,BH、BL,CH、CL,DH、DL。AH為高字為高字節(jié)(高節(jié)(高8位)寄存器、位)寄存器、AL為低字節(jié)(低為低字節(jié)(低
11、8位)位)寄存器。寄存器。 數(shù)據(jù)寄存器數(shù)據(jù)寄存器表示為表示為(DX)=2345H,(AX)=6789H,存,存放形式為:放形式為: 例例1 用用DX、AX寄存器保存雙精度數(shù)寄存器保存雙精度數(shù)23456789H。例例2 用用AX寄存器存放一個(gè)字寄存器存放一個(gè)字1234H,表示為表示為(AX)=1234H,存放形式為:,存放形式為:地址寄存器地址寄存器 包括指針和變址寄存器包括指針和變址寄存器SI、DI、SP、BP四個(gè)四個(gè)16位寄存器。顧名思義,它們位寄存器。顧名思義,它們可用來存放存儲(chǔ)器的偏移地址。另外,可用來存放存儲(chǔ)器的偏移地址。另外,它們也可以作為通用寄存器用。嚴(yán)格它們也可以作為通用寄存器用
12、。嚴(yán)格地說,用來存放存儲(chǔ)器偏移地址的寄地說,用來存放存儲(chǔ)器偏移地址的寄存器都應(yīng)該叫地址寄存器,如存器都應(yīng)該叫地址寄存器,如BX基址基址寄存器、寄存器、IP指令指針寄存器等。指令指針寄存器等。SI 源變址寄存器,可用于存放源緩源變址寄存器,可用于存放源緩沖區(qū)的偏移地址。沖區(qū)的偏移地址。DI 目的變址寄存器,可用于存放目目的變址寄存器,可用于存放目的緩沖區(qū)的偏移地址。的緩沖區(qū)的偏移地址。SP 堆棧指針寄存器,用于指出堆棧堆棧指針寄存器,用于指出堆棧區(qū)的棧頂?shù)钠频刂?。區(qū)的棧頂?shù)钠频刂?。BP 基址指針寄存器,用于指出堆?;分羔樇拇嫫鳎糜谥赋龆褩^(qū)的某個(gè)單元的偏移地址。區(qū)的某個(gè)單元的偏移地址。C
13、S 代碼段寄存器,用于指出存放程代碼段寄存器,用于指出存放程序的代碼段的段地址。序的代碼段的段地址。DS 數(shù)據(jù)段寄存器,用于指出存放數(shù)數(shù)據(jù)段寄存器,用于指出存放數(shù)據(jù)的數(shù)據(jù)段的段地址。據(jù)的數(shù)據(jù)段的段地址。ES 附加段寄存器,用于指出存放附附加段寄存器,用于指出存放附加數(shù)據(jù)的附加段的段地址。加數(shù)據(jù)的附加段的段地址。SS 堆棧段寄存器,用于指出堆棧區(qū)堆棧段寄存器,用于指出堆棧區(qū)的堆棧段的段地址。的堆棧段的段地址。段寄存器段寄存器 控制寄存器控制寄存器 溢出標(biāo)志溢出標(biāo)志 方方向向標(biāo)標(biāo)志志 中斷標(biāo)志中斷標(biāo)志 陷阱標(biāo)志陷阱標(biāo)志 符號標(biāo)志符號標(biāo)志 零標(biāo)志零標(biāo)志 輔助進(jìn)位標(biāo)志輔助進(jìn)位標(biāo)志 奇偶標(biāo)志奇偶標(biāo)志 進(jìn)
14、位標(biāo)志進(jìn)位標(biāo)志 IP 指令指針寄存器:用來存放代碼段中的偏移地址,指令指針寄存器:用來存放代碼段中的偏移地址,指出當(dāng)前正在執(zhí)行指令的下一條指令所在單元的偏指出當(dāng)前正在執(zhí)行指令的下一條指令所在單元的偏移地址。移地址。FLAGS標(biāo)志寄存器:其中的某位代表標(biāo)志寄存器:其中的某位代表CPU的一個(gè)的一個(gè)標(biāo)志,最低位為標(biāo)志,最低位為D0,最高位為,最高位為D15。8086CPU的的標(biāo)志寄存器共有標(biāo)志寄存器共有9個(gè)標(biāo)志,分別為個(gè)標(biāo)志,分別為6條件碼標(biāo)志和條件碼標(biāo)志和3控制標(biāo)志。其含義如下:控制標(biāo)志。其含義如下: 在在DEBUG調(diào)試環(huán)境下以字母縮寫的形調(diào)試環(huán)境下以字母縮寫的形式表示各個(gè)標(biāo)志位的狀態(tài)。式表示各個(gè)
15、標(biāo)志位的狀態(tài)。進(jìn)入進(jìn)入DEBUG后,用后,用R命令查看寄存器命令查看寄存器狀態(tài)時(shí),可以看到除了陷阱標(biāo)志以外狀態(tài)時(shí),可以看到除了陷阱標(biāo)志以外的標(biāo)志位的狀態(tài)。如表的標(biāo)志位的狀態(tài)。如表2-1所示。所示。 標(biāo)志名標(biāo)志名標(biāo)志標(biāo)志值為值為1值為值為0進(jìn)位標(biāo)志進(jìn)位標(biāo)志CFCYNC符號標(biāo)志符號標(biāo)志SFNGPL零標(biāo)志零標(biāo)志ZFZRNZ溢出標(biāo)志溢出標(biāo)志OFOVNV輔助進(jìn)位輔助進(jìn)位標(biāo)志標(biāo)志AFACNA奇偶標(biāo)志奇偶標(biāo)志PFPEPO方向標(biāo)志方向標(biāo)志DFDNUP中斷標(biāo)志中斷標(biāo)志IFEIDI例例1 兩個(gè)二進(jìn)制數(shù)相加運(yùn)算,有關(guān)標(biāo)兩個(gè)二進(jìn)制數(shù)相加運(yùn)算,有關(guān)標(biāo)志位自動(dòng)發(fā)生變化。志位自動(dòng)發(fā)生變化。 10011010+ 010010
16、11 11100101CPU會(huì)自動(dòng)地把標(biāo)志位設(shè)為:會(huì)自動(dòng)地把標(biāo)志位設(shè)為:CF=0,SF=1,ZF=0,OF=0,即無進(jìn)位,結(jié),即無進(jìn)位,結(jié)果為負(fù)數(shù),結(jié)果不為果為負(fù)數(shù),結(jié)果不為0,沒有溢出。,沒有溢出。 練習(xí):寫出下列二進(jìn)制運(yùn)算的練習(xí):寫出下列二進(jìn)制運(yùn)算的結(jié)果以及標(biāo)志位的變化:結(jié)果以及標(biāo)志位的變化:(1) 10101110+00110011(2) 11001101-101000112.3.2 80X86寄存器組寄存器組 Intel 8086、80286都是都是16位的寄存器。位的寄存器。從從80386開始,寄存器擴(kuò)展為開始,寄存器擴(kuò)展為32位。位。 2.4 內(nèi)存儲(chǔ)器內(nèi)存儲(chǔ)器2.4.1 物理地址與
17、邏輯地址物理地址與邏輯地址1 地址地址 CPU對內(nèi)存的訪問是通過地址總線進(jìn)行對內(nèi)存的訪問是通過地址總線進(jìn)行的,地址總線的每一個(gè)二進(jìn)制組態(tài)對應(yīng)一的,地址總線的每一個(gè)二進(jìn)制組態(tài)對應(yīng)一個(gè)存儲(chǔ)單元,可作為該存儲(chǔ)單元的地址。個(gè)存儲(chǔ)單元,可作為該存儲(chǔ)單元的地址。 在在80X86系統(tǒng)中一個(gè)實(shí)際的存儲(chǔ)單元只系統(tǒng)中一個(gè)實(shí)際的存儲(chǔ)單元只存放存放8位二進(jìn)制數(shù),稱為字節(jié)單元。位二進(jìn)制數(shù),稱為字節(jié)單元。地址位數(shù)與存儲(chǔ)空間有如下的關(guān)系地址位數(shù)與存儲(chǔ)空間有如下的關(guān)系 :若系統(tǒng)只有若系統(tǒng)只有1根地址線根地址線A0:則則A0上有兩個(gè)不同的信號上有兩個(gè)不同的信號0和和1,可以表示,可以表示0號和號和1號兩個(gè)存儲(chǔ)單元。號兩個(gè)存儲(chǔ)單
18、元。若系統(tǒng)有若系統(tǒng)有2根地址線根地址線A1、A0: 則有四個(gè)不同的信號組合則有四個(gè)不同的信號組合00、01、10、11,可以表示可以表示0號號3號四個(gè)存儲(chǔ)單元。號四個(gè)存儲(chǔ)單元。若系統(tǒng)有若系統(tǒng)有10根地址線根地址線A9A0:則有則有0號號1023號不同組合,可以表示號不同組合,可以表示1024個(gè)存儲(chǔ)單元,尋址空間達(dá)到個(gè)存儲(chǔ)單元,尋址空間達(dá)到1KB。B(Byte)表示字節(jié)單元。表示字節(jié)單元??梢钥闯?,若地址位數(shù)為可以看出,若地址位數(shù)為n,則地址空間的,則地址空間的大小為大小為2n個(gè)存儲(chǔ)單元。個(gè)存儲(chǔ)單元。2物理地址物理地址 物理地址是內(nèi)存單元的真實(shí)地址。存儲(chǔ)單元物理地址是內(nèi)存單元的真實(shí)地址。存儲(chǔ)單元
19、的物理地址是唯一的。的物理地址是唯一的。 Intel8086CPU有有20根地址線,因此其存儲(chǔ)根地址線,因此其存儲(chǔ)空間可達(dá)空間可達(dá)220=1M字節(jié)單元。在字節(jié)單元。在20位地址線位地址線的存儲(chǔ)空間中采用十六進(jìn)制表示的物理地址的存儲(chǔ)空間中采用十六進(jìn)制表示的物理地址范圍是范圍是00000HFFFFFH。3邏輯地址邏輯地址 邏輯地址是用戶編程時(shí)使用的地址,分為邏輯地址是用戶編程時(shí)使用的地址,分為段地址和偏移地址兩部分。段地址和偏移地址兩部分。在在8086匯編語言中,把內(nèi)存地址空間劃分匯編語言中,把內(nèi)存地址空間劃分為若干邏輯段,每段由一些存儲(chǔ)單元構(gòu)成。為若干邏輯段,每段由一些存儲(chǔ)單元構(gòu)成。用段地址指出
20、是哪一段,偏移地址標(biāo)明是該用段地址指出是哪一段,偏移地址標(biāo)明是該段中的哪個(gè)單元。段地址和偏移地址都是段中的哪個(gè)單元。段地址和偏移地址都是16位二進(jìn)制數(shù)。位二進(jìn)制數(shù)。 邏輯地址的形式:邏輯地址的形式:段地址段地址:偏移地址偏移地址例例1 用十六進(jìn)制分別表示的三個(gè)邏輯地址用十六進(jìn)制分別表示的三個(gè)邏輯地址如下:如下: 3020:055AH3021:054AH2C43:432AH 4邏輯地址與物理地址的轉(zhuǎn)換 用戶編程時(shí)采用的邏輯地址在用戶編程時(shí)采用的邏輯地址在CPU執(zhí)行程序時(shí)執(zhí)行程序時(shí)都要轉(zhuǎn)換成實(shí)際的物理地址,這個(gè)轉(zhuǎn)換過程是都要轉(zhuǎn)換成實(shí)際的物理地址,這個(gè)轉(zhuǎn)換過程是由由CPU中的地址加法器自動(dòng)完成的。中
21、的地址加法器自動(dòng)完成的。 轉(zhuǎn)換公式為:轉(zhuǎn)換公式為: 物理地址物理地址=段地址段地址10H+偏移地址偏移地址 例例1 若邏輯地址為若邏輯地址為3020:055AH,其物理地,其物理地址址=3020H10H+055AH=3075AH。練習(xí):練習(xí): 根據(jù)給出的邏輯地址,計(jì)算物理地根據(jù)給出的邏輯地址,計(jì)算物理地址。址。邏輯地址邏輯地址= 2C43:432AH ,物理地址物理地址=? 2E37:9822H , 886F:7911H , 1234:05ACH , 2.4.2 存儲(chǔ)單元存儲(chǔ)單元 在匯編語言中,把存儲(chǔ)單元分為字節(jié)在匯編語言中,把存儲(chǔ)單元分為字節(jié)單元、字單元、雙字單元等,稱為存單元、字單元、雙字
22、單元等,稱為存儲(chǔ)單元的屬性。儲(chǔ)單元的屬性。 存儲(chǔ)單元中的數(shù)據(jù)稱為存儲(chǔ)單元內(nèi)容,存儲(chǔ)單元中的數(shù)據(jù)稱為存儲(chǔ)單元內(nèi)容,存儲(chǔ)單元的地址和內(nèi)容的表示形式為存儲(chǔ)單元的地址和內(nèi)容的表示形式為用括號將地址括起來以代表單元的內(nèi)用括號將地址括起來以代表單元的內(nèi)容。容。 如(如(3075AH)=12H表示表示3075AH號單元中的內(nèi)容是號單元中的內(nèi)容是12H (3075BH)=34H表示表示3075BH號單元中的內(nèi)容是號單元中的內(nèi)容是34H 若(若(37692H)=5678H表示表示37692H單元和單元和37693H單元一起單元一起存放存放5678H 在存儲(chǔ)的時(shí)候,高字節(jié)放在高地址單元,在存儲(chǔ)的時(shí)候,高字節(jié)放在高
23、地址單元,低字節(jié)放在低地址單元低字節(jié)放在低地址單元 。如圖。如圖2-7所示。所示。圖圖2-7 存儲(chǔ)單元的地址和內(nèi)容存儲(chǔ)單元的地址和內(nèi)容 由于字單元是由兩個(gè)相鄰的字節(jié)單元構(gòu)成的,由于字單元是由兩個(gè)相鄰的字節(jié)單元構(gòu)成的,那么對于同一個(gè)地址而言,它既可以看成字那么對于同一個(gè)地址而言,它既可以看成字節(jié)單元,又可以看成字單元。節(jié)單元,又可以看成字單元。 如把圖如把圖2-7中的字節(jié)單元中的字節(jié)單元3075AH看成是字單看成是字單元,則:元,則:(3075AH)=3412H存儲(chǔ)單元還分為偶地址單元和奇地址單元。存儲(chǔ)單元還分為偶地址單元和奇地址單元。例如圖例如圖2-7中的字節(jié)單元中的字節(jié)單元3075AH和字單
24、元和字單元37692H都是偶地址單元,而字節(jié)單元都是偶地址單元,而字節(jié)單元3075BH是奇地址單元。是奇地址單元。練習(xí):有若干個(gè)數(shù)據(jù)需要存放練習(xí):有若干個(gè)數(shù)據(jù)需要存放在存儲(chǔ)單元中,請畫圖表示,在存儲(chǔ)單元中,請畫圖表示,并標(biāo)出存儲(chǔ)單元的屬性。并標(biāo)出存儲(chǔ)單元的屬性。 (23560H) =37H (23562H) =2D18H (23620H) =12345678H 2.4.3 存儲(chǔ)器分段存儲(chǔ)器分段 1分段的概念分段的概念 8086CPU的地址寄存器只有的地址寄存器只有16位,如位,如果直接從地址寄存器中發(fā)出地址信號,果直接從地址寄存器中發(fā)出地址信號,所能訪問的存儲(chǔ)空間就只有所能訪問的存儲(chǔ)空間就只有
25、216=64KB,達(dá)不到達(dá)不到20位地址線所提供的地址范圍。位地址線所提供的地址范圍。將存儲(chǔ)器劃分為若干邏輯段,每段最將存儲(chǔ)器劃分為若干邏輯段,每段最大大64K字節(jié)單元。字節(jié)單元。邏輯段的大小可變,每段最少邏輯段的大小可變,每段最少16個(gè)個(gè)字節(jié)單元,也可以字節(jié)單元,也可以100個(gè)、個(gè)、1000個(gè)到個(gè)到最大可達(dá)最大可達(dá)65536個(gè)字節(jié)單元。個(gè)字節(jié)單元。段地址和偏移地址構(gòu)成邏輯地址。段地址和偏移地址構(gòu)成邏輯地址。例如:邏輯地址為例如:邏輯地址為1200:2650H1200:2650H。 在存儲(chǔ)器中,規(guī)定每在存儲(chǔ)器中,規(guī)定每16個(gè)字節(jié)單元為一個(gè)字節(jié)單元為一小段,每小段的第一個(gè)單元的物理地址小段,每小
26、段的第一個(gè)單元的物理地址稱為小段的首地址,稱為小段的首地址,8086的的1MB內(nèi)存空內(nèi)存空間的間的20位物理地址用十六進(jìn)制表示如下:位物理地址用十六進(jìn)制表示如下: 規(guī)定:存儲(chǔ)器分段時(shí),各段的起始地規(guī)定:存儲(chǔ)器分段時(shí),各段的起始地址必須是小段的首地址,即邏輯段必址必須是小段的首地址,即邏輯段必須從任一個(gè)小段的首單元開始,而不須從任一個(gè)小段的首單元開始,而不能從其它的字節(jié)單元開始。能從其它的字節(jié)單元開始。小段首地址的共同的特點(diǎn)是十六進(jìn)制表小段首地址的共同的特點(diǎn)是十六進(jìn)制表示的物理地址的最低位都是示的物理地址的最低位都是0,如果把,如果把0去掉(二進(jìn)制的地址去掉去掉(二進(jìn)制的地址去掉4個(gè)個(gè)0),就可
27、),就可以用以用16位段寄存器保存小段的首地址。位段寄存器保存小段的首地址。例例1 定義定義2個(gè)段,第一個(gè)段的段地址為個(gè)段,第一個(gè)段的段地址為0002H,共共16個(gè)單元;第二個(gè)段的段地址為個(gè)單元;第二個(gè)段的段地址為4123H,共共1024個(gè)單元。如圖標(biāo)出了各段首單元和個(gè)單元。如圖標(biāo)出了各段首單元和末單元的邏輯地址。末單元的邏輯地址。每一個(gè)段內(nèi)的偏移地址都每一個(gè)段內(nèi)的偏移地址都是從是從0000H開始的。開始的。第一段的首單元的物理地第一段的首單元的物理地址址00020H,末單元的物理地,末單元的物理地址址0002FH第二段的首單元的物理地第二段的首單元的物理地址為址為41230H,末單元的物理,
28、末單元的物理地址為地址為4162FH。2段的類型段的類型 8086匯編語言中把邏輯段分為四種類型,匯編語言中把邏輯段分為四種類型,分別是代碼段、數(shù)據(jù)段、附加段和堆棧段。分別是代碼段、數(shù)據(jù)段、附加段和堆棧段。 各段的邏輯地址對應(yīng)表:各段的邏輯地址對應(yīng)表: 段名段名段寄存器段寄存器偏移地址偏移地址代碼段代碼段CSIP數(shù)據(jù)段數(shù)據(jù)段DSBX、SI、DI等地址等地址寄存器寄存器附加段附加段ESBX、SI、DI等地址等地址寄存器寄存器堆棧段堆棧段SSSP或或BP例例1段寄存器與其偏移地址如下,寫出其相應(yīng)段寄存器與其偏移地址如下,寫出其相應(yīng)的物理地址及含義。的物理地址及含義。CS=1896H,IP=1655
29、H當(dāng)前要執(zhí)行的當(dāng)前要執(zhí)行的指令的指令的物理地址物理地址=18960H+1655H=19FB5H DS=2896H,EA=1655H當(dāng)前要訪問的當(dāng)前要訪問的數(shù)據(jù)的數(shù)據(jù)的物理地址物理地址=28960H+1655H=29FB5H ES=1896H,EA=2655H當(dāng)前要訪問的當(dāng)前要訪問的數(shù)據(jù)的數(shù)據(jù)的物理地址物理地址=18960H+2655H=1AFB5H SS=1896H,SP=3655H當(dāng)前要訪問的當(dāng)前要訪問的堆棧的堆棧的物理地址物理地址=18960H+3655H=1BFB5H例例2 段寄存器與內(nèi)存的分段情況如圖。觀察各段寄存器與內(nèi)存的分段情況如圖。觀察各段的大小及分布,判斷其地址范圍,標(biāo)出每個(gè)段
30、的大小及分布,判斷其地址范圍,標(biāo)出每個(gè)段首地址和末地址。段首地址和末地址。 代碼段共代碼段共64KB單元,它單元,它的地址范圍應(yīng)該是的地址范圍應(yīng)該是210E0H310DFH。附加段只有附加段只有2KB,地址范,地址范圍在圍在34600H34CFFH之間。之間。數(shù)據(jù)段為數(shù)據(jù)段為16KB,其地址,其地址范圍為范圍為34D00H38CFFH。堆棧段只有堆棧段只有512個(gè)字節(jié)單個(gè)字節(jié)單元,它的地址范圍是元,它的地址范圍是84180H8437FH。 你懂了嗎?你懂了嗎?2.5 實(shí)例二實(shí)例二 進(jìn)入計(jì)算機(jī)進(jìn)入計(jì)算機(jī)1DEBUG的主要命令的主要命令 2進(jìn)入進(jìn)入DOS 3. 進(jìn)入進(jìn)入DEBUG 2.5.1 調(diào)試
31、工具調(diào)試工具DEBUG 1DEBUG的主要命令的主要命令DEBUG命令有命令有20多個(gè),先學(xué)習(xí)最常用的命令。多個(gè),先學(xué)習(xí)最常用的命令。R 查看和修改寄存器查看和修改寄存器D 查看內(nèi)存單元查看內(nèi)存單元E 修改內(nèi)存單元修改內(nèi)存單元U 反匯編,將機(jī)器指令變?yōu)閰R編指令反匯編,將機(jī)器指令變?yōu)閰R編指令T /P單步執(zhí)行單步執(zhí)行G 連續(xù)執(zhí)行程序連續(xù)執(zhí)行程序A 輸入?yún)R編指令輸入?yún)R編指令Q 退出退出2進(jìn)入進(jìn)入DOSDEBUG要先進(jìn)入要先進(jìn)入DOS環(huán)境中再使用,在環(huán)境中再使用,在Windows下進(jìn)入下進(jìn)入DOS的方法可選擇兩種。的方法可選擇兩種。(1)在)在Windows桌面下單擊開始菜單,選擇桌面下單擊開始菜單,
32、選擇運(yùn)行命令;在彈出的文本框中輸入運(yùn)行命令;在彈出的文本框中輸入cmd;按;按確定后進(jìn)入確定后進(jìn)入DOS環(huán)境環(huán)境 。(2)選擇)選擇“開始開始程序程序附件附件命令命令提示符提示符”進(jìn)入進(jìn)入DOS。 (3)DOS命令命令本書用到的簡單的本書用到的簡單的DOS命令:命令:cd 首先要用首先要用cd 退回到根目錄退回到根目錄C下下dir 顯示文件列表顯示文件列表cd hb 進(jìn)入進(jìn)入hb子目錄子目錄cd . 退回到上一級目錄退回到上一級目錄e:進(jìn)入進(jìn)入e盤盤cls 清屏清屏DOS和和DEBUG命令都支持大小寫。命令都支持大小寫。 3. 進(jìn)入進(jìn)入DEBUG DEBUG的提示符是小短線的提示符是小短線 ,
33、在其后輸入,在其后輸入命令。命令。(1)R命令命令查看和修改寄存器查看和修改寄存器R命令有兩種用法:命令有兩種用法:直接鍵入直接鍵入R,將顯示,將顯示CPU所有的寄存器和標(biāo)所有的寄存器和標(biāo)志位;志位;修改寄存器:在修改寄存器:在R后跟寫寄存器名,則先顯后跟寫寄存器名,則先顯示寄存器的內(nèi)容,在冒號后可鍵入新的值示寄存器的內(nèi)容,在冒號后可鍵入新的值 邏輯地址機(jī)器指令匯編指令標(biāo)志位狀態(tài)(2)D命令命令查看內(nèi)存單元查看內(nèi)存單元 用用D命令可以查看存儲(chǔ)單元的地址和內(nèi)容。命令可以查看存儲(chǔ)單元的地址和內(nèi)容。 例如:例如:D DS:0 查看數(shù)據(jù)段,從查看數(shù)據(jù)段,從0號單元開始號單元開始D ES:0 查看附加段
34、,從查看附加段,從0號單元開始號單元開始D DS:100 查看數(shù)據(jù)段,從查看數(shù)據(jù)段,從100H號單元號單元開始開始 D 0200:5 15 查看查看0200H段的段的5號單元到號單元到15H號單元號單元 D命令的執(zhí)行情況如圖所示。命令的執(zhí)行情況如圖所示。 邏輯地址存儲(chǔ)單元內(nèi)容ASCII碼顯示(3)E命令命令修改內(nèi)存單元修改內(nèi)存單元用用E命令可以改寫多個(gè)存儲(chǔ)單元的內(nèi)容。格命令可以改寫多個(gè)存儲(chǔ)單元的內(nèi)容。格式為:式為:E 起始地址起始地址 修改值修改值 修改值修改值 例如:將數(shù)據(jù)段中的例如:將數(shù)據(jù)段中的0B05:3 0B05:5 三個(gè)三個(gè)單元的內(nèi)容修改為單元的內(nèi)容修改為14、15、16。命令為。命
35、令為 E DS:3 14 15 16 再如:再如: E 10 修改當(dāng)前數(shù)據(jù)段修改當(dāng)前數(shù)據(jù)段10H號單元內(nèi)號單元內(nèi)容容 E ES:100 修改附加段修改附加段100H號單元內(nèi)容號單元內(nèi)容 (4)U命令命令 反匯編反匯編程序員編寫的匯編語言源程序經(jīng)過匯編(編程序員編寫的匯編語言源程序經(jīng)過匯編(編譯)后生成了二進(jìn)制的機(jī)器指令代碼,而譯)后生成了二進(jìn)制的機(jī)器指令代碼,而U命令可將二進(jìn)制的機(jī)器指令變?yōu)橹浄问矫羁蓪⒍M(jìn)制的機(jī)器指令變?yōu)橹浄问降膮R編指令,因此稱之為的匯編指令,因此稱之為“反匯編反匯編”。多次鍵入多次鍵入U(xiǎn) U,可連續(xù)顯示后面的程序部分。,可連續(xù)顯示后面的程序部分。U U后跟偏移地址,則從該地址開始反匯編。后跟偏移地址,則從該地址開始反匯編。如:如:U 0 U 0 從代碼段從代碼段0 0號單元開始反匯編號單元開始反匯編 U100 U100 從代碼段從代碼段100H100H號單元開始反匯編號單元開始反匯編 (5)A 命令命令輸入?yún)R編指令輸入?yún)R編指令在在DEBUG中,使用中,使用A命令可以輸入?yún)R編指命令可以輸入?yún)R編指令,系統(tǒng)自動(dòng)地將鍵入的匯編指令翻譯成令,系統(tǒng)自動(dòng)地將鍵入的匯編指令翻譯成機(jī)器代碼,并相繼地存放在從指定地址開機(jī)器代碼,并相繼地存放在從指定地址開始的存
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年臨時(shí)倉儲(chǔ)設(shè)施租賃及管理服務(wù)合同
- 標(biāo)準(zhǔn)新工程設(shè)計(jì)合同樣本
- 2024年多人合伙共盈合同書范本
- 2024年度智能倉庫設(shè)備安裝合同
- 代銷協(xié)議書范例2024
- 全面房屋裝修合同模板集成
- 出口業(yè)務(wù)代理協(xié)議范本
- 2024物流合同范本
- 常見勞務(wù)派遣委托協(xié)議樣本
- 廣州建設(shè)工程裝修施工合同范例
- 雅魯藏布江大拐彎巨型水電站規(guī)劃方案
- 廣西基本醫(yī)療保險(xiǎn)門診特殊慢性病申報(bào)表
- 城市經(jīng)濟(jì)學(xué)習(xí)題與答案
- 國開成本會(huì)計(jì)第14章綜合練習(xí)試題及答案
- 幼兒園大班科學(xué):《樹葉為什么會(huì)變黃》課件
- 1到50帶圈數(shù)字直接復(fù)制
- 鐵路工程施工組織設(shè)計(jì)(施工方案)編制分類
- 幼兒園中班數(shù)學(xué)《有趣的圖形》課件
- 《規(guī)劃每一天》教案2021
- 草莓創(chuàng)意主題實(shí)用框架模板ppt
- 山大口腔頜面外科學(xué)課件第5章 口腔種植外科-1概論、口腔種植的生物學(xué)基礎(chǔ)
評論
0/150
提交評論