版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
匯編語(yǔ)言程序設(shè)計(jì)教程第三版適用于計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)卜艷萍周偉編著1/31/20241精選課件ppt內(nèi)容簡(jiǎn)介第1章和第2章介紹匯編語(yǔ)言基礎(chǔ)知識(shí)和80x86機(jī)型的功能與系統(tǒng)結(jié)構(gòu)。第3章詳細(xì)介紹IBMPC機(jī)的尋址方式和指令系統(tǒng)。第4章介紹偽指令、匯編語(yǔ)言程序格式等知識(shí)。第5章講述順序程序設(shè)計(jì)、分支程序設(shè)計(jì)和循環(huán)程序設(shè)計(jì)的基本方法。第6章詳細(xì)介紹子程序設(shè)計(jì)及參數(shù)傳遞的方法。第7章是輸入/輸出程序設(shè)計(jì)技術(shù)和方法。第8章介紹高級(jí)匯編技術(shù),包括宏匯編、條件匯編和重復(fù)匯編等。第9章講述DOS功能調(diào)用和BIOS功能調(diào)用知識(shí)。第10章是匯編語(yǔ)言程序設(shè)計(jì)上機(jī)實(shí)驗(yàn)指導(dǎo)部分。1/31/20242精選課件ppt課程的性質(zhì)與基本要求匯編語(yǔ)言是一門實(shí)踐性很強(qiáng)的課程,在教學(xué)過(guò)程中要訓(xùn)練學(xué)生掌握指令的操作過(guò)程、程序設(shè)計(jì)的基本規(guī)則和方法以及上機(jī)調(diào)試的能力。匯編語(yǔ)言適合于編制在時(shí)間和空間要求都很高的程序。匯編語(yǔ)言是能夠利用計(jì)算機(jī)所有硬件特性的一門語(yǔ)言,在涉及到硬件設(shè)計(jì)的系統(tǒng)中,一般都用匯編語(yǔ)言完成接口部分程序的設(shè)計(jì)。本課程的開(kāi)設(shè),對(duì)于訓(xùn)練學(xué)生掌握微型計(jì)算機(jī)的結(jié)構(gòu)、指令的操作過(guò)程、匯編語(yǔ)言程序設(shè)計(jì)技術(shù)以及應(yīng)用匯編語(yǔ)言編制實(shí)用程序都有重要的作用。1/31/20243精選課件ppt本課程與其它課程的關(guān)系匯編語(yǔ)言是計(jì)算機(jī)科學(xué)專業(yè)語(yǔ)言類最基礎(chǔ)的課程之一,《計(jì)算機(jī)文化基礎(chǔ)》、《計(jì)算機(jī)編程基礎(chǔ)》等作為本課程的前導(dǎo)課程。學(xué)好這門課程,可為學(xué)習(xí)相關(guān)的專業(yè)課打下基礎(chǔ),它是《微機(jī)原理及接口技術(shù)》、《操作系統(tǒng)》、《計(jì)算機(jī)組成原理》、《編譯原理》和《單片機(jī)原理及應(yīng)用》等的前導(dǎo)課程。1/31/20244精選課件ppt第1章匯編語(yǔ)言基礎(chǔ)知識(shí)第2章微型計(jì)算機(jī)體系結(jié)構(gòu)第3章微型計(jì)算機(jī)的指令系統(tǒng)第4章偽指令與匯編語(yǔ)言程序結(jié)構(gòu)設(shè)計(jì)第5章匯編語(yǔ)言程序設(shè)計(jì)第6章子程序設(shè)計(jì)第7章輸入/輸出程序設(shè)計(jì)第8章高級(jí)匯編技術(shù)第9章DOS/BIOS功能調(diào)用第10章匯編語(yǔ)言上機(jī)實(shí)驗(yàn)?zāi)夸?/31/20245精選課件ppt第1章匯編語(yǔ)言基礎(chǔ)知識(shí)1.1計(jì)算機(jī)基礎(chǔ)知識(shí)1.2計(jì)算機(jī)的基本結(jié)構(gòu)與組成1.3計(jì)算機(jī)中的數(shù)制與碼制1/31/20246精選課件ppt1.1計(jì)算機(jī)基礎(chǔ)知識(shí)1.1.1計(jì)算機(jī)的發(fā)展史1.1.2計(jì)算機(jī)的特性1.1.3計(jì)算機(jī)的分類1.1.4計(jì)算機(jī)的主要技術(shù)指標(biāo)1/31/20247精選課件ppt計(jì)算機(jī)的發(fā)展史第一代:電子管計(jì)算機(jī)時(shí)代(從1946年第一臺(tái)計(jì)算機(jī)研制成功到50年代后期),其主要特點(diǎn)是采用電子管作為基本器件。第二代:晶體管計(jì)算機(jī)時(shí)代(從50年代中期到60年代后期),這時(shí)期計(jì)算機(jī)的主要器件逐步由電子管改為晶體管。第三代:集成電路計(jì)算機(jī)時(shí)代(從60年代中期到70年代前期),隨著半導(dǎo)體器件生產(chǎn)工藝與技術(shù)上的進(jìn)步,在一片半導(dǎo)體基片上,可以生產(chǎn)出多個(gè)晶體管,并用它們形成具有一定處理功能的邏輯器件,這就是集成電路。第四代:大規(guī)模集成電路計(jì)算機(jī)時(shí)代(70年代初開(kāi)始)。1/31/20248精選課件ppt計(jì)算機(jī)的特性
高速高精度通用準(zhǔn)確智能化體積小、重量輕1/31/20249精選課件ppt計(jì)算機(jī)的分類
計(jì)算機(jī)按其用途來(lái)分可以分成專用機(jī)和通用機(jī)兩類。專用機(jī)是專門用于某種用途的,它對(duì)于特定用途而言最經(jīng)濟(jì)、最快速、最有效,但適應(yīng)性差,而通用機(jī)適應(yīng)性強(qiáng)。1/31/202410精選課件ppt計(jì)算機(jī)的主要技術(shù)指標(biāo)
機(jī)器字長(zhǎng)是指該計(jì)算機(jī)能進(jìn)行多少位二進(jìn)制數(shù)的并行運(yùn)算,實(shí)際上是指該計(jì)算機(jī)中的運(yùn)算器有多少位,通常計(jì)算機(jī)的數(shù)據(jù)總線和寄存器的位數(shù)與機(jī)器字長(zhǎng)一致。CPU速度是指單位時(shí)間(秒)內(nèi)能夠執(zhí)行指令的條數(shù)。主頻又稱為主時(shí)鐘頻率,是指CPU在單位時(shí)間(秒)內(nèi)產(chǎn)生的時(shí)鐘脈沖數(shù),以MHz(兆赫茲)為單位。存儲(chǔ)器容量的大小不僅影響著存儲(chǔ)程序和數(shù)據(jù)的多少,而且也影響著運(yùn)行這些程序的速度。存儲(chǔ)器完成一次數(shù)據(jù)的讀(取)或?qū)懀ù妫┎僮魉枰臅r(shí)間稱為存儲(chǔ)器的存?。ɑ蛟L問(wèn))時(shí)間。存儲(chǔ)器執(zhí)行一次完整的讀/寫操作所需要的時(shí)間稱為存取周期。系統(tǒng)的可靠性通常用平均無(wú)故障時(shí)間MTBF和平均故障修復(fù)時(shí)間MTTR來(lái)表示。計(jì)算機(jī)的數(shù)據(jù)傳輸率還常用帶寬表示,它反映計(jì)算機(jī)的通信能力。數(shù)據(jù)傳輸率的單位是bps,bps代表每秒傳輸一位或一比特。1/31/202411精選課件ppt存儲(chǔ)器的容量1/31/202412精選課件ppt1.2計(jì)算機(jī)的基本結(jié)構(gòu)與組成1.2.1計(jì)算機(jī)的硬件1.2.2計(jì)算機(jī)的軟件1.2.3計(jì)算機(jī)的程序設(shè)計(jì)語(yǔ)言1.2.4計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)1/31/202413精選課件ppt計(jì)算機(jī)硬件組成1/31/202414精選課件ppt計(jì)算機(jī)硬件組成運(yùn)算器是對(duì)信息或數(shù)據(jù)進(jìn)行處理和運(yùn)算的部件,可以實(shí)現(xiàn)各種算術(shù)運(yùn)算和邏輯運(yùn)算??刂破鳎–ontrolUnit,CU)主要用來(lái)實(shí)現(xiàn)計(jì)算機(jī)本身運(yùn)行過(guò)程的自動(dòng)化,即實(shí)現(xiàn)程序的自動(dòng)執(zhí)行,是計(jì)算機(jī)的管理機(jī)構(gòu)和指揮中心。存儲(chǔ)器是計(jì)算機(jī)的存儲(chǔ)和記憶裝置,用來(lái)存儲(chǔ)程序和數(shù)據(jù),由存儲(chǔ)單元組成。計(jì)算機(jī)的輸入輸出設(shè)備(Input/OutputDevice)簡(jiǎn)稱I/O設(shè)備或者外設(shè)。位于主機(jī)之外,實(shí)現(xiàn)計(jì)算機(jī)與外部設(shè)備或者計(jì)算機(jī)與人進(jìn)行信息交換,所以又稱為外圍設(shè)備(PeripheralDevice)。1/31/202415精選課件ppt微型計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)1/31/202416精選課件ppt系統(tǒng)總線地址總線:在該組信號(hào)線上,CPU輸出將要訪問(wèn)的內(nèi)存單元或I/O端口的地址信息。數(shù)據(jù)總線:CPU進(jìn)行讀操作時(shí),主存或外設(shè)的數(shù)據(jù)通過(guò)該組信號(hào)線輸入到CPU內(nèi)部;CPU進(jìn)行寫操作時(shí),CPU內(nèi)部的數(shù)據(jù)通過(guò)該組信號(hào)線輸出到主存或外設(shè)??刂瓶偩€:控制信號(hào)線用于協(xié)調(diào)系統(tǒng)中各部件的操作。其中,有些信號(hào)線將CPU的控制信號(hào)或狀態(tài)信號(hào)送往外界;有些信號(hào)線將外界的請(qǐng)求或聯(lián)絡(luò)信號(hào)送往CPU。1/31/202417精選課件ppt計(jì)算機(jī)的軟件計(jì)算機(jī)的軟件是指運(yùn)行、維護(hù)、管理、應(yīng)用計(jì)算機(jī)所需要的各種程序及其有關(guān)的文檔資料。即指計(jì)算機(jī)系統(tǒng)所用的各種程序的集合,包括系統(tǒng)軟件和應(yīng)用軟件兩大類。系統(tǒng)軟件的核心稱為操作系統(tǒng)(OperatingSystem)。操作系統(tǒng)是系統(tǒng)軟件的指揮中樞,它的主要作用是統(tǒng)一管理計(jì)算機(jī)的所有資源。用戶軟件是用戶在自己的業(yè)務(wù)范圍內(nèi)為解決特定的問(wèn)題而自行編制、開(kāi)發(fā)的程序。1/31/202418精選課件ppt計(jì)算機(jī)的程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言:計(jì)算機(jī)能夠直接識(shí)別的是二進(jìn)制數(shù)0和1組成的代碼。機(jī)器指令就是用二進(jìn)制編碼的指令,一條機(jī)器指令控制計(jì)算機(jī)完成一個(gè)操作。匯編語(yǔ)言:匯編語(yǔ)言是一種符號(hào)語(yǔ)言,它用助記符表示操作碼,比機(jī)器語(yǔ)言容易理解和掌握,助記符一般是表明指令功能的英語(yǔ)單詞或其縮寫。高級(jí)語(yǔ)言:高級(jí)語(yǔ)言比較接近于人類自然語(yǔ)言的語(yǔ)法習(xí)慣及數(shù)學(xué)表達(dá)形式,它與具體的計(jì)算機(jī)硬件無(wú)關(guān),更容易被廣大計(jì)算機(jī)工作者掌握和使用。1/31/202419精選課件ppt匯編語(yǔ)言的應(yīng)用程序要具有較快的執(zhí)行時(shí)間,或者只能占用較小的存儲(chǔ)容量。程序與計(jì)算機(jī)硬件密切相關(guān),程序要直接、有效地控制硬件。大型軟件需要提高性能、優(yōu)化處理的部分。例如計(jì)算機(jī)系統(tǒng)頻繁調(diào)用的子程序、動(dòng)態(tài)連接庫(kù)等。沒(méi)有合適的高級(jí)語(yǔ)言或只能采用匯編語(yǔ)言的時(shí)候。例如,開(kāi)發(fā)最新的處理器程序時(shí),暫時(shí)沒(méi)有支持新指令的編譯程序。匯編語(yǔ)言還有許多實(shí)際應(yīng)用,例如分析具體系統(tǒng)尤其是該系統(tǒng)的低層軟件、加密解密軟件、分析和防治計(jì)算機(jī)病毒等。1/31/202420精選課件ppt計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)1/31/202421精選課件ppt計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)數(shù)字邏輯層是計(jì)算機(jī)系統(tǒng)的最底層,它涉及計(jì)算機(jī)硬件的最基礎(chǔ)的數(shù)字邏輯和數(shù)字門電路知識(shí),解決了如何存儲(chǔ)信息、如何傳送信息以及如何運(yùn)算與加工信息等方面的問(wèn)題。微體系結(jié)構(gòu)層要實(shí)現(xiàn)執(zhí)行指令所需要的所有功能部件,如運(yùn)算、控制、存儲(chǔ)、輸入/輸出、接口和總線部件等。在指令系統(tǒng)層,需要定義機(jī)器的指令集,規(guī)定每一條指令的格式和功能。操作系統(tǒng)層主要承擔(dān)計(jì)算機(jī)系統(tǒng)中的資源管理與分配,也向使用者和程序設(shè)計(jì)人員提供簡(jiǎn)單、方便、高效的服務(wù)。1/31/202422精選課件ppt計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)匯編語(yǔ)言是面向計(jì)算機(jī)硬件本身的,程序設(shè)計(jì)人員可以使用的一種符號(hào)式的計(jì)算機(jī)語(yǔ)言,匯編語(yǔ)言的語(yǔ)句可以直接訪問(wèn)CPU、存儲(chǔ)器和I/O設(shè)備,它是除機(jī)器語(yǔ)言外實(shí)現(xiàn)速度最快的一種計(jì)算機(jī)編程語(yǔ)言。匯編語(yǔ)言的程序必須經(jīng)過(guò)匯編程序的翻譯才能在機(jī)器上執(zhí)行。高級(jí)語(yǔ)言不像匯編語(yǔ)言那樣“靠近”計(jì)算機(jī)的指令系統(tǒng),而是著重面向解決實(shí)際問(wèn)題所用的算法,更多的是為方便程序設(shè)計(jì)人員寫出自己解決問(wèn)題的處理方案和解題過(guò)程的程序。在高級(jí)語(yǔ)言層之上,還可以有應(yīng)用層,這一層是為了使計(jì)算機(jī)滿足某種用途而專門設(shè)計(jì)的,它由面向問(wèn)題的應(yīng)用語(yǔ)言和解決實(shí)際問(wèn)題的處理程序組成。1/31/202423精選課件ppt1.3計(jì)算機(jī)中的數(shù)制與碼制1.3.1數(shù)制及數(shù)制轉(zhuǎn)換1.3.2機(jī)器數(shù)的編碼1.3.3定點(diǎn)數(shù)與浮點(diǎn)數(shù)1.3.4碼制1/31/202424精選課件ppt數(shù)制及數(shù)制轉(zhuǎn)換進(jìn)位計(jì)數(shù)制基本概念:基數(shù)(Radix)、權(quán)(Weight)、N=Dn-1
+Dn-2Rn-2
+…+D0R0+D-1R-1+…+D-mR-M
=DiRi
常用計(jì)數(shù)制:二進(jìn)制(R=2);八進(jìn)制(R=8);十進(jìn)制(R=10);十六進(jìn)制(R=16)。1/31/202425精選課件ppt常用的進(jìn)位計(jì)數(shù)制二進(jìn)制R=2基本符號(hào)0,1八進(jìn)制R=8基本符號(hào)0,1,2,3,4,5,6,7十進(jìn)制R=10基本符號(hào)0,1,2,3,4,5,6,7,8,9十六進(jìn)制R=16基本符號(hào)0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F(xiàn)1/31/202426精選課件ppt進(jìn)位計(jì)數(shù)制間的相互轉(zhuǎn)換(1)二進(jìn)制、八進(jìn)制、十六進(jìn)制轉(zhuǎn)換為十進(jìn)制數(shù)。(按權(quán)相加)10101101.101B=
27+25+23+22+20+2-1+2-3=128+32+8+4+1+0.5+0.125=173.625D(2)十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制、八進(jìn)制、十六進(jìn)制。(按R取余)36512D
/16=22822282/16=142142/16=88/16=0(a0=9)(a1=10)(a2=14)(a3=8)∴36521D=8EA9H(3)二進(jìn)制數(shù)與八進(jìn)制、十進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換。10101001.01101B=(1010)(1001).(0110)(1000)BA968∴10101001.01101B=A9.68H1/31/202427精選課件ppt機(jī)器數(shù)的編碼原碼反碼補(bǔ)碼數(shù)的最高位表示符號(hào)位,其余各位表示真值的絕對(duì)值。符號(hào)位為0表示該數(shù)為正數(shù),符號(hào)位為1表示該數(shù)為負(fù)數(shù)。正數(shù)的反碼與原碼相同,負(fù)數(shù)的反碼其符號(hào)位仍用1表示,其余數(shù)值位則按位取反。用于解決減法轉(zhuǎn)換為加法的問(wèn)題,簡(jiǎn)化計(jì)算機(jī)運(yùn)算電路。常用方法之一:先取原數(shù)反碼,再末位加1即得到補(bǔ)碼。1/31/202428精選課件ppt原碼、反碼和補(bǔ)碼的比較如果真值x為正數(shù),則有[x]原=[x]反=[x]補(bǔ)。如果真值x為負(fù)數(shù),則[x]原、[x]反、[x]補(bǔ)有不同的表示。如果真值x=0,則[x]補(bǔ)有唯一的編碼,[x]原和[x]反都有兩個(gè)不同的編碼。定點(diǎn)小數(shù)中,原碼和反碼所能表示數(shù)的范圍為-1<x<1,補(bǔ)碼所能表示的數(shù)的范圍為-1≤x<1。用[x]原、[x]反、[x]補(bǔ)表示的機(jī)器數(shù),最高一位表示符號(hào)位,正數(shù)用“0”表示,負(fù)數(shù)用“1”表示。1/31/202429精選課件ppt定點(diǎn)數(shù)與浮點(diǎn)數(shù)定點(diǎn)數(shù):是指小數(shù)點(diǎn)在數(shù)中的位置是固定不變的,以定點(diǎn)法表示的實(shí)數(shù)叫做定點(diǎn)數(shù)。通常定點(diǎn)數(shù)的表示有兩種形式:一種是定點(diǎn)整數(shù),小數(shù)點(diǎn)在數(shù)的最右方,即為純整數(shù);另一種是定點(diǎn)小數(shù),小數(shù)點(diǎn)在符號(hào)位之后,即為純小數(shù)。1/31/202430精選課件ppt浮點(diǎn)數(shù)浮點(diǎn)數(shù)是指計(jì)算機(jī)中數(shù)的小數(shù)點(diǎn)位置不是固定的,而是“浮動(dòng)”的。任意一個(gè)二進(jìn)制數(shù)N總可以寫成下面的形式:式中:2稱為基數(shù),E稱為階碼,S稱為尾數(shù)。浮點(diǎn)數(shù)在機(jī)器中的表示形式為:1/31/202431精選課件ppt碼制ASCII碼:字母、數(shù)字、符號(hào)等各種字符也必須按特定的規(guī)則,用二進(jìn)制編碼才能在計(jì)算機(jī)中表示。ASCII碼可以表示27即128個(gè)字符。其中包括34個(gè)控制字符、52個(gè)英文大小寫字母、10個(gè)阿拉伯?dāng)?shù)字、32個(gè)標(biāo)點(diǎn)符號(hào)和運(yùn)算符號(hào)。BCD碼:一位十進(jìn)制數(shù)用四位二進(jìn)制編碼來(lái)表示,表示的方法可以極多,較常用的是8421BCD碼。1/31/202432精選課件ppt漢字編碼漢字也是字符,但它比西文字符量多且復(fù)雜,給計(jì)算機(jī)處理帶來(lái)了困難。漢字處理技術(shù)必須解決漢字的編碼問(wèn)題。漢字編碼主要分為四類:漢字輸入碼、漢字交換碼、漢字機(jī)內(nèi)碼和漢字字形碼。1/31/202433精選課件ppt漢字的輸入編碼數(shù)字編碼:數(shù)字編碼就是用數(shù)字串代表一個(gè)漢字的輸入,常用的是國(guó)標(biāo)區(qū)位碼,也可用電報(bào)碼。拼音編碼:拼音編碼是以漢語(yǔ)拼音為基礎(chǔ)的輸入方法。這種編碼方法存在的問(wèn)題是:漢字中同音字多,重碼率高,因此在按拼音輸入后還需進(jìn)行同音字的選擇,漢字的輸入速度受到影響。字形編碼:字形編碼是以漢字的形狀確定的編碼。漢字總數(shù)雖然很多,但是由一筆一劃組成,全部漢字的部件和筆劃是有限的。音形編碼:除字形編碼外,還有一些編碼方法是利用漢字字形、字音兩個(gè)屬性的特點(diǎn)并使其結(jié)合的混合編碼方法。1/31/202434精選課件ppt漢字交換碼在不同漢字信息處理系統(tǒng)間進(jìn)行漢字交換時(shí)所使用的編碼,就是國(guó)標(biāo)碼。無(wú)論采用哪種方法輸入漢字,一旦輸入到計(jì)算機(jī)中,必須采用統(tǒng)一的國(guó)標(biāo)碼標(biāo)識(shí)每個(gè)漢字。1/31/202435精選課件ppt漢字機(jī)內(nèi)碼漢字機(jī)內(nèi)碼是漢字在設(shè)備或信息處理系統(tǒng)內(nèi)部最基本的表達(dá)形式,是在設(shè)備和信息處理系統(tǒng)內(nèi)部存儲(chǔ)、處理、傳輸漢字用的編碼。漢字機(jī)內(nèi)碼表示有許多種,要考慮的因素有以下幾點(diǎn):碼位盡量短;表示的漢字要足夠多;碼值要連續(xù)有序,以便于操作運(yùn)算。1/31/202436精選課件ppt漢字字形碼字形編碼也稱為字模碼,是用點(diǎn)陣表示的漢字字形代碼,它是漢字的輸出形式。計(jì)算機(jī)顯示或打印輸出漢字時(shí)是通過(guò)點(diǎn)陣形式表示漢字的。字模點(diǎn)陣是以字節(jié)為單位存儲(chǔ),所占用存儲(chǔ)空間也很大,以16×16點(diǎn)陣為例,每個(gè)漢字就要占用32個(gè)字節(jié),兩級(jí)漢字大約占用256KB的空間。漢字字形碼只能用來(lái)構(gòu)成“字庫(kù)”,而不能用于機(jī)內(nèi)存儲(chǔ)。字庫(kù)中存儲(chǔ)了每個(gè)漢字的點(diǎn)陣代碼,當(dāng)顯示輸出時(shí)才檢索字庫(kù),輸出字模點(diǎn)陣,得到字形。1/31/202437精選課件ppt各種漢字編碼之間的邏輯關(guān)系返回1/31/202438精選課件ppt第2章微型計(jì)算機(jī)體系結(jié)構(gòu)2.18086/8088微處理器2.2微機(jī)的主板結(jié)構(gòu)2.380x86微處理器1/31/202439精選課件ppt2.18086/8088微處理器2.1.18086/8088的功能結(jié)構(gòu)2.1.28086/8088的寄存器組織2.1.38086/8088的存儲(chǔ)器組織1/31/202440精選課件ppt8086/8088微處理器8086是Intel系列的16位微處理器,它是采用HMOS工藝技術(shù)制造的,內(nèi)部包含約29000個(gè)晶體管。8086有16根數(shù)據(jù)線和20根地址線,其尋址的地址空間可達(dá)1MB。8088的內(nèi)部寄存器、內(nèi)部運(yùn)算部件以及內(nèi)部操作都是按16位設(shè)計(jì)的,但對(duì)外的數(shù)據(jù)總線只有8條。8086/8088的指令是以字節(jié)為基礎(chǔ)構(gòu)成的,它的性能提高,主要依賴于采取了一些以下的特殊措施。建立指令預(yù)取隊(duì)列設(shè)立地址段寄存器在結(jié)構(gòu)上和指令設(shè)置方面支持多處理器系統(tǒng)1/31/202441精選課件ppt8088CPU內(nèi)部結(jié)構(gòu)1/31/202442精選課件ppt8088微處理器8088微處理器內(nèi)部分為兩個(gè)部分:執(zhí)行單元(EU)和總線接口單元(BIU)。BIU單元用來(lái)實(shí)現(xiàn)EU的所有總線操作。它由地址加法器,段寄存器CS、DS、SS、ES,指令指針I(yè)P,指令隊(duì)列緩沖器和總線控制邏輯組成。BIU負(fù)責(zé)CPU與存儲(chǔ)器或外部設(shè)備之間的信息交換。EU單元負(fù)責(zé)指令的執(zhí)行,由算術(shù)邏輯單元ALU、標(biāo)志寄存器FLAG、通用寄存器及EU控制器等組成,主要進(jìn)行16位的各種運(yùn)算及有效地址的計(jì)算。1/31/202443精選課件ppt8位微機(jī)指令執(zhí)行過(guò)程1/31/202444精選課件pptEU與BIU并行工作的情形1/31/202445精選課件ppt8086/8088的寄存器組織1/31/202446精選課件ppt數(shù)據(jù)寄存器8086/8088有4個(gè)16位的數(shù)據(jù)寄存器:AX,BX,CX,DX。它們都可以分為兩個(gè)獨(dú)立的8位寄存器:AH/AL,BH/BL,CH/CL,DH/DL。AX稱為累加器,使用頻度最高,用于算術(shù)、邏輯運(yùn)算以及與外設(shè)傳送信息等;BX稱為基址寄存器,常用作存放存儲(chǔ)器地址;CX稱為計(jì)數(shù)器,作為循環(huán)和串操作等指令中的隱含計(jì)數(shù)器;DX稱為數(shù)據(jù)寄存器,常用來(lái)存放雙字長(zhǎng)數(shù)據(jù)的高16位,或存放外設(shè)端口地址。1/31/202447精選課件ppt變址與指針寄存器變址與指針寄存器包括SI,DI,BP,SP四個(gè)16位寄存器,常用于存儲(chǔ)器尋址時(shí)提供地址。SI是源變址寄存器,DI是目標(biāo)變址寄存器,一般與DS聯(lián)用確定數(shù)據(jù)段中某一存儲(chǔ)單元地址。SP為堆棧指針寄存器,指示棧頂?shù)钠频刂?;BP為基址指針寄存器,表示堆棧段中的基地址。1/31/202448精選課件ppt8086/8088的專用寄存器在8088中采用了存儲(chǔ)器分段的概念,將1MB分為若干個(gè)邏輯段,每個(gè)邏輯段最大為64KB。段寄存器的值指出了當(dāng)前正在使用的段的基地址。當(dāng)前的代碼段基地址由代碼段寄存器CS指出,當(dāng)前的數(shù)據(jù)段基地址由數(shù)據(jù)段寄存器DS指出,當(dāng)前的堆棧段基地址由堆棧段寄存器SS指出,當(dāng)前的源串所在段的基地址由DS指出,當(dāng)前的目標(biāo)串所在段的基地址由附加段ES指出。指令指針寄存器:專用寄存器組中的指令寄存器IP只能與CS寄存器相互結(jié)合,才能形成指令的物理地址。標(biāo)志用于反映指令執(zhí)行結(jié)果或控制指令執(zhí)行形式。它是匯編語(yǔ)言程序設(shè)計(jì)中必須特別注意的一個(gè)方面。許多指令執(zhí)行之后將影響有關(guān)的標(biāo)志位,有些指令的執(zhí)行要利用某些標(biāo)志。1/31/202449精選課件ppt標(biāo)志寄存器FLAGS的結(jié)構(gòu)CF——進(jìn)位標(biāo)志(CarryFlag)。若CF=1,表示算術(shù)運(yùn)算時(shí)產(chǎn)生進(jìn)位或借位,否則CF=0。PF——奇偶標(biāo)志(ParityFlag)。若PF=1,表示操作結(jié)果中“1”的個(gè)數(shù)為偶數(shù),否則PF=0。AF——輔助進(jìn)位標(biāo)志(AuxiliaryCarryFlag)。若AF=1表示字節(jié)運(yùn)算產(chǎn)生低半字節(jié)向高半字節(jié)的進(jìn)位或借位,否則AF=0。ZF——全零標(biāo)志(ZeroFlag)。若ZF=1,表示操作結(jié)果全為零,否則ZF=0。SF——符號(hào)標(biāo)志(SignFlag)。若SF=1,表示符號(hào)數(shù)運(yùn)算后的結(jié)果為負(fù)數(shù),否則SF=0。OF——溢出標(biāo)志(OverflowFlag)。若OF=1,表示當(dāng)進(jìn)行算術(shù)運(yùn)算時(shí),結(jié)果超過(guò)了最大范圍,否則OF=0。IF——中斷允許標(biāo)志(InterruptEnableFlag)。若IF=1,則CPU可以響應(yīng)外部可屏蔽中斷的中斷請(qǐng)求;若IF=0,則CPU不允許響應(yīng)中斷請(qǐng)求。DF——方向標(biāo)志(DirectionFlag)。若DF=1,表示執(zhí)行字符串操作時(shí)按著從高地址向低地址方向進(jìn)行;否則DF=0。TF——單步標(biāo)志(TraceFlag)。又稱跟蹤標(biāo)志。1/31/202450精選課件ppt狀態(tài)標(biāo)志位的符號(hào)表示1/31/202451精選課件ppt8086/8088的存儲(chǔ)器組織在微機(jī)系統(tǒng)中,一位二進(jìn)制位用bit來(lái)表示,8位二進(jìn)制數(shù)用Byte(即一個(gè)字節(jié))來(lái)表示。它們的關(guān)系為:1Byte=8bit。16位二進(jìn)制位或兩個(gè)字節(jié)組成一個(gè)字Word。對(duì)于存儲(chǔ)器的每一個(gè)存儲(chǔ)單元給出一個(gè)唯一的編號(hào),這編號(hào)通常是順序排列的,稱做該存儲(chǔ)單元的地址。存儲(chǔ)器地址的編碼范圍取決于給定的二進(jìn)制地址碼的位數(shù)。一個(gè)存儲(chǔ)單元中存放的信息稱為該存儲(chǔ)單元的內(nèi)容。1/31/202452精選課件ppt8086/8088物理地址形成1/31/202453精選課件ppt2.2微機(jī)的主板結(jié)構(gòu)CPU插槽內(nèi)存插槽芯片組二級(jí)高級(jí)緩沖存儲(chǔ)器CMOS芯片總線擴(kuò)展槽AGP顯示卡插槽外接接口插座串行和并行端口主板跳線系統(tǒng)監(jiān)控1/31/202454精選課件ppt2.380x86微處理器2.3.1Intel80x86微處理器的發(fā)展2.3.2IA-32CPU功能結(jié)構(gòu)2.3.3IA-32CPU寄存器組2.3.4IA-32CPU存儲(chǔ)器管理1/31/202455精選課件pptIntel80x86微處理器的發(fā)展1978年,Intel正式推出了16位的8086CPU,這是該公司生產(chǎn)的第一個(gè)16位芯片。1982年,Intel推出了80286CPU,時(shí)鐘頻率6MHz~20MHz,16位內(nèi)、外數(shù)據(jù)總線,地址總線32位,物理存儲(chǔ)器具有16MB的容量。1993年,Intel制成了俗稱586的微處理器,取名Pentium(奔騰)。Pentium仍為32位結(jié)構(gòu),地址總線為32位,但外部數(shù)據(jù)線為64位,內(nèi)部時(shí)鐘頻率60MHz~200MHz。2006年Intel推出IntelCoreDuo處理器和IntelCoreSolo處理器。CoreSolo是單核處理器,而CoreDuo處理器采用了雙核技術(shù),它們具有低功耗,高性能的特點(diǎn)。1/31/202456精選課件pptIA-32CPU功能結(jié)構(gòu)80386是典型的32位IntelCPU,在它之后的32位Intel80x86微處理器又有新的發(fā)展,但是所有的32位微處理器呈現(xiàn)給程序員的功能結(jié)構(gòu)都是相似的。IA-32CPU由總線接口單元、指令預(yù)取單元、指令譯碼單元、執(zhí)行單元、分段部件和分頁(yè)部件六個(gè)功能部分組成。1/31/202457精選課件pptIA-32CPU功能結(jié)構(gòu)1/31/202458精選課件pptIA-32CPU寄存器組IA-32CPU的寄存器可以分為基本體系結(jié)構(gòu)寄存器、系統(tǒng)級(jí)寄存器和調(diào)試與測(cè)試寄存器三類。其中,基本體系結(jié)構(gòu)寄存器和浮點(diǎn)寄存器應(yīng)用程序可以直接訪問(wèn),一般稱作程序可見(jiàn)寄存器。其他寄存器在應(yīng)用程序設(shè)計(jì)期間不能直接尋址,只有特權(quán)級(jí)為0級(jí)的程序才可以使用它們,一般稱為程序不可見(jiàn)寄存器。1/31/202459精選課件pptIA-32CPU常用寄存器1/31/202460精選課件ppt標(biāo)志寄存器EFLAGS
1/31/202461精選課件ppt系統(tǒng)級(jí)寄存器
IA-32CPU中的系統(tǒng)級(jí)寄存器包括內(nèi)存管理寄存器和控制寄存器。它們對(duì)于用戶應(yīng)用程序是透明的,只有在優(yōu)先級(jí)為0的層次上所運(yùn)行的程序才可以改變這些寄存器。1/31/202462精選課件ppt系統(tǒng)地址寄存器
1/31/202463精選課件ppt系統(tǒng)地址寄存器中信息位的定義
1/31/202464精選課件ppt控制寄存器
IA-32CPU中有四個(gè)32位的控制寄存器CR0、CR1、CR2和CR3,這四個(gè)控制寄存器的作用是保存全局性的機(jī)器狀態(tài)和設(shè)置控制位??刂萍拇嫫鰿R0的含義如下:1/31/202465精選課件ppt控制寄存器CR1保留,不能使用,否則將引起無(wú)效指令操作異常。CR2是頁(yè)故障線性地址寄存器,它保存一個(gè)32位的線性地址,該地址是由最后檢測(cè)出的頁(yè)故障所產(chǎn)生的。CR3是頁(yè)目錄基址寄存器,它包含了頁(yè)目錄表的物理基地址。由分頁(yè)硬件使用,其中低12位總是0。因此,CPU的頁(yè)目錄表總是按頁(yè)對(duì)齊,即每頁(yè)均為4KB。1/31/202466精選課件ppt調(diào)試與測(cè)試寄存器
IA-32CPU中設(shè)置了8個(gè)32位的調(diào)試寄存器,命名為DR0~DR7,它們?yōu)槌绦蛘{(diào)試提供了硬件支持。IA-32CPU中設(shè)置了2個(gè)32位的測(cè)試寄存器,命名為TR6和TR7。測(cè)試寄存器用于控制對(duì)分頁(yè)單元中轉(zhuǎn)換后備緩沖器TLB的測(cè)試。1/31/202467精選課件pptIA-32CPU存儲(chǔ)器管理
IA-32CPU中共有三種內(nèi)存管理模型:實(shí)地址模型、分段管理模型和平展模型。在不同的處理器操作模式下,IA-32CPU以不同的方式管理內(nèi)存。1/31/202468精選課件ppt實(shí)地址模型
實(shí)地址模型下,IA-32CPU使用20位地址線,可以訪問(wèn)1MB的內(nèi)存,其范圍從00000H~FFFFFH,它是早期16位處理器8086的內(nèi)存模型。實(shí)地址模型規(guī)定段起始地址低4位均為0,每段最大不超過(guò)64KB。但是,每段并不要求必須是64KB,各段之間并不要求完全分開(kāi)。兩個(gè)邏輯段可以部分重疊,甚至完全重疊。當(dāng)然各段的內(nèi)容是不允許發(fā)生沖突的。1/31/202469精選課件ppt保護(hù)模式下的分段管理模型
保護(hù)模式的分段管理模型下IA-32CPU支持32條地址線,因此每個(gè)程序可以尋址4GB的內(nèi)存,地址范圍為00000000H~FFFFFFFFH,這個(gè)地址空間叫做線性內(nèi)存空間。在保護(hù)模型下,段基地址和偏移地址都是32位的。在保護(hù)模式下,段寄存器中存放的不是段基地址本身,而是一個(gè)16位的段選擇器。段選擇器索引說(shuō)明段信息的段描述符,段描述符存放有段基地址信息。1/31/202470精選課件ppt段選擇器和描述符
1/31/202471精選課件ppt段寄存器和段描述符高速緩沖寄存器
在保護(hù)模式的分段管理模型下,每個(gè)段寄存器都有一個(gè)與它相聯(lián)系的但程序員不可見(jiàn)的段描述符高速緩沖寄存器。它們用來(lái)存放描述該段的基地址、段大小以及段屬性等的段描述符。1/31/202472精選課件ppt平展模型
平展模型實(shí)質(zhì)上是分段存儲(chǔ)模型的一種特例。當(dāng)采用平展模型時(shí),在程序員看來(lái),整個(gè)內(nèi)存空間是一個(gè)單一的、連續(xù)的線性地址空間。代碼、數(shù)據(jù)和過(guò)程堆棧全都包含在此地址空間中。這種內(nèi)存模型易于使用,只需要一個(gè)32位地址。在80386以上的IA-32CPU上運(yùn)行的應(yīng)用程序,廣泛采用平展模型。1/31/202473精選課件ppt分頁(yè)和虛擬內(nèi)存
在分頁(yè)機(jī)制中,一個(gè)段可以被分為不同的頁(yè),所有頁(yè)的集合稱為虛擬內(nèi)存。虛擬內(nèi)存可以轉(zhuǎn)換為實(shí)際的物理地址空間。IA-32CPU的頁(yè)大小固定為4K字節(jié),每一頁(yè)的邊界地址必須是4K的倍數(shù)。返回1/31/202474精選課件ppt第3章微型計(jì)算機(jī)的指令系統(tǒng)
3.1尋址方式3.28086/8088指令系統(tǒng)3.380x86指令系統(tǒng)介紹1/31/202475精選課件ppt機(jī)器指令
計(jì)算機(jī)只能識(shí)別由二進(jìn)制編碼表示的指令,稱為機(jī)器指令。一條機(jī)器指令應(yīng)包含兩部分內(nèi)容,其一般格式為:操作碼部分指出此指令要完成何種操作;操作數(shù)部分則指出參與操作的對(duì)象是什么。在指令中可以直接給出操作數(shù)的值或者操作數(shù)存放在何處,操作的結(jié)果應(yīng)送往何處等信息。操作碼操作數(shù)1/31/202476精選課件ppt3.1尋址方式3.1.1操作數(shù)的種類3.1.28086/8088的機(jī)器代碼格式3.1.3與數(shù)據(jù)有關(guān)的尋址方式3.1.4與轉(zhuǎn)移地址有關(guān)的尋址方式1/31/202477精選課件ppt操作數(shù)的種類
數(shù)據(jù)操作數(shù)是指指令中操作的對(duì)象是數(shù)據(jù)。數(shù)據(jù)操作數(shù)的類型有以下幾種。立即數(shù)操作數(shù):指令中要操作的數(shù)據(jù)在指令中。寄存器操作數(shù):指令中要操作的數(shù)據(jù)存放在指定的寄存器中。存儲(chǔ)器操作數(shù):指令中要操作的數(shù)據(jù)存放在指定的存儲(chǔ)單元中。I/O操作數(shù):指令中要操作的數(shù)據(jù)來(lái)自或送到I/O端口。地址操作數(shù)是指指令中操作的對(duì)象是地址。1/31/202478精選課件ppt8086/8088的機(jī)器代碼格式
操作碼占1或2字節(jié),后面的各字節(jié)指明操作數(shù)。其中,“modregr/m”字節(jié)表明尋找操作數(shù)的方式(即采用的尋址方式),“位移量”字節(jié)給出某些尋址方式需要的相對(duì)基地址的偏移量,“立即數(shù)”字節(jié)給出立即尋址方式需要的數(shù)值本身。1/31/202479精選課件ppt8086/8088指令的尋址方式字節(jié)編碼
1/31/202480精選課件ppt8086/8088指令的尋址方式字節(jié)編碼reg字段表示一個(gè)采用寄存器尋址的操作數(shù),reg占用3位,不同編碼指示8個(gè)8位(w=0)或16位(w=1)通用寄存器之一;mod和r/m字段表示另一個(gè)操作數(shù)的尋址方式,分別占用2位或3位。mod=00時(shí)為無(wú)位移量的存儲(chǔ)器尋址方式。但其中,當(dāng)r/m=110時(shí)為直接尋址方式,此時(shí)該字節(jié)后跟16位有效地址D16。mod=01時(shí)為帶有8位位移量的存儲(chǔ)器尋址方式。此時(shí)該字節(jié)后跟1個(gè)字節(jié),表示8位位移量D8,它是一個(gè)有符號(hào)數(shù)。mod=10時(shí)為帶有16位位移量的存儲(chǔ)器尋址方式。此時(shí)該字節(jié)后跟兩個(gè)字節(jié),表示16位位移量D16,它也是一個(gè)有符號(hào)數(shù)。mod=11時(shí)為寄存器尋址方式,由r/m指定寄存器,此時(shí)的編碼與reg相同。1/31/202481精選課件ppt與數(shù)據(jù)有關(guān)的尋址方式
操作數(shù)包含在指令中,稱為立即尋址。操作數(shù)包含在CPU的內(nèi)部寄存器中,稱為寄存器尋址。操作數(shù)在內(nèi)存的數(shù)據(jù)區(qū)中,這時(shí)指令中的操作數(shù)字段包含著此操作數(shù)的地址,稱為存儲(chǔ)器尋址。1/31/202482精選課件ppt立即數(shù)尋址方式
立即數(shù)尋址方式所提供的操作數(shù)緊跟在操作碼的后面,與操作碼一起放在指令代碼段中。立即數(shù)可以是8位數(shù)或16位數(shù)。如果是16位數(shù),則低位字節(jié)存放在低地址中,高位字節(jié)存放在高地址中。立即數(shù)尋址方式只能用于源操作數(shù)字段,不能用于目的操作數(shù)字段,經(jīng)常用于給寄存器賦初值。1/31/202483精選課件ppt寄存器尋址方式
在寄存器尋址方式中,操作數(shù)包含于CPU的內(nèi)部寄存器之中。這種尋址方式大都用于寄存器之間的數(shù)據(jù)傳輸。對(duì)于16位操作數(shù),寄存器可以是AX、BX、CX、DX、SI、DI、SP和BP等;對(duì)于8位操作數(shù),寄存器可以是AL、AH、BL、BH、CL、CH、DL和DH。寄存器尋址方式可以取得較高的運(yùn)算速度。1/31/202484精選課件ppt存儲(chǔ)器尋址方式
存儲(chǔ)器尋址方式,也稱為主存尋址方式。在存儲(chǔ)器尋址方式下,指令中給出的是有關(guān)操作數(shù)的主存地址信息。由于8086/8088的存儲(chǔ)器是分段管理的,所以這里給出的地址只是偏移地址(即有效地址EA),而段地址在默認(rèn)的或用段超越前綴指定的段寄存器中。為了方便各種數(shù)據(jù)結(jié)構(gòu)的存取,8086/8888設(shè)計(jì)了多種主存尋址方式。1/31/202485精選課件ppt直接尋址方式
直接尋址方式是操作數(shù)地址的16位偏移量直接包含在指令中,和指令操作碼一起放在代碼段,而操作數(shù)則在數(shù)據(jù)段中。操作數(shù)的地址是數(shù)據(jù)段寄存器DS中的內(nèi)容左移4位后,加上指令給定的16位地址偏移量。將操作數(shù)的偏移地址稱為有效地址EA,則物理地址=16d×(DS)+EA。直接尋址方式適合于處理單個(gè)數(shù)據(jù)變量。1/31/202486精選課件ppt寄存器間接尋址方式
在寄存器間接尋址方式中,操作數(shù)在存儲(chǔ)器中。操作數(shù)的有效地址由變址寄存器SI、DI或基址寄存器BX、BP提供。這又分成兩種情況:如果指令中指定的寄存器是BX、SI、DI,則用DS寄存器的內(nèi)容作為段地址,即操作數(shù)的物理地址為:
物理地址=10H×(DS)+(BX、SI或DI三者之一)如指令中用BP寄存器,則操作數(shù)的段地址在SS中,即堆棧段,所以操作數(shù)的物理地址為:
物理地址=10H×(SS)+(BP)1/31/202487精選課件ppt寄存器相對(duì)尋址方式
該尋址方式是以指定的寄存器內(nèi)容,加上指令中給出的位移量(8位或16位),并以一個(gè)段寄存器為基準(zhǔn),作為操作數(shù)的地址。指定的寄存器一般是一個(gè)基址寄存器或變址寄存器。與寄存器間接尋址方式類似,對(duì)于寄存器為BX、SI、DI的情況,段寄存器用DS;當(dāng)寄存器為BP時(shí),則使用SS段寄存器的內(nèi)容作為段地址。1/31/202488精選課件ppt基址加變址尋址方式
在基址加變址尋址方式中,通常把BX和BP看作是基址寄存器,把SI和DI看作變址寄存器,可把兩種方式組合起來(lái)形成一種新的尋址方式?;芳幼冎返膶ぶ贩绞绞前岩粋€(gè)基址寄存器BX或BP的內(nèi)容,加上變址寄存器SI或DI的內(nèi)容,并以一個(gè)段寄存器作為地址基準(zhǔn),作為操作數(shù)的地址。兩個(gè)寄存器均由指令指定。當(dāng)基址寄存器為BX時(shí),段寄存器使用DS,則物理地址為:
物理地址=10H×(DS)+(BX)+(SI或DI)當(dāng)基址寄存器為BP時(shí),段寄存器用SS,此時(shí)物理地址為:
物理地址=10H×(SS)+(BP)+(SI或DI)1/31/202489精選課件ppt相對(duì)基址變址尋址方式
在相對(duì)基址變址尋址方式中,通常把BX和BP看作是基址寄存器,把SI和DI看作變址寄存器。它是把一個(gè)基址寄存器BX或BP的內(nèi)容,加上變址寄存器SI或DI的內(nèi)容,再加上指令中給定的8位或16位位移量,并以一個(gè)段寄存器作為地址基準(zhǔn),作為操作數(shù)的地址。當(dāng)基址寄存器為BX時(shí),段寄存器使用DS,則物理地址為:
物理地址=10H×(DS)+(BX)+(SI或DI)+8位(或16位)位移量當(dāng)基址寄存器為BP時(shí),段寄存器則用SS。因此物理地址為:
物理地址=10H×(SS)+(BP)+(SI或DI)+8位(或16位)位移量
1/31/202490精選課件ppt與轉(zhuǎn)移地址有關(guān)的尋址方式
微機(jī)指令系統(tǒng)中有轉(zhuǎn)移指令及子程序調(diào)用等非順序執(zhí)行指令。這類指令所指出的地址是程序轉(zhuǎn)移到的指定的轉(zhuǎn)移地址,然后再依次順序執(zhí)行程序。這種提供轉(zhuǎn)移地址的方法稱為程序轉(zhuǎn)移地址的尋址方式。它分為段內(nèi)直接尋址、段內(nèi)間接尋址、段間直接尋址和段間間接尋址四種情況。1/31/202491精選課件ppt段內(nèi)直接尋址
這種尋址方式是將當(dāng)前IP寄存器的內(nèi)容和指令中指定的8位或16位位移量之和作為轉(zhuǎn)向的有效地址。一般用相對(duì)于當(dāng)前IP值的位移量來(lái)表示轉(zhuǎn)向有效地址,所以它是一種相對(duì)尋址方式。這種尋址方式適用于條件轉(zhuǎn)移及無(wú)條件轉(zhuǎn)移指令,但是當(dāng)它用于條件轉(zhuǎn)移指令時(shí),位移量只允許8位。指令格式為:
JMPNEARPTRADDR1JMPSHORTADDR2ADDR1和ADDR2都是轉(zhuǎn)向的符號(hào)地址,在機(jī)器指令中,用位移量來(lái)表示。1/31/202492精選課件ppt段內(nèi)間接尋址
段內(nèi)間接尋址的轉(zhuǎn)向有效地址是一個(gè)寄存器或一個(gè)存儲(chǔ)單元的內(nèi)容,并且可以用數(shù)據(jù)尋址方式中除立即數(shù)以外的任何一種尋址方式取得轉(zhuǎn)向的有效地址。指令格式可以表示為:
JMPBXJMPWORDPTR[BP+DISP]其中WORDPTR為操作符,用以指出其后的尋址方式所取得的轉(zhuǎn)向地址是一個(gè)字的有效地址,也就是說(shuō)它是一種段內(nèi)轉(zhuǎn)移。1/31/202493精選課件ppt段間直接尋址
這種尋址方式直接提供轉(zhuǎn)向的段地址(16位)和偏移地址(16位),所以需要32位的地址信息。只要用指令中指定的偏移地址取代IP寄存器的內(nèi)容,用指定的段地址取代CS寄存器的內(nèi)容就完成了從一個(gè)段到另一個(gè)段的轉(zhuǎn)移操作。指令格式可表示為:
JMPFARPTRANOSEG其中,ANOSEG為轉(zhuǎn)向的符號(hào)地址,F(xiàn)ARPTR則是表示段間轉(zhuǎn)移的操作符。1/31/202494精選課件ppt段間間接尋址
為了達(dá)到段間轉(zhuǎn)移,這種尋址方式是用存儲(chǔ)器中的兩個(gè)相繼字的內(nèi)容來(lái)取代IP和CS。內(nèi)存單元的地址是由指令指定的除立即尋址和寄存器尋址方式以外的任何一種數(shù)據(jù)尋址方式取得。指令格式可表示為:
JMPDWORDPTR[DISP+BX]其中,[DISP+BX]說(shuō)明數(shù)據(jù)尋址方式為寄存器間接尋址方式,DWORDPTR為雙字操作符,以滿足段間轉(zhuǎn)移地址的要求。1/31/202495精選課件ppt3.28086/8088指令系統(tǒng)3.2.1數(shù)據(jù)傳送類指令3.2.2算術(shù)運(yùn)算類指令3.2.3邏輯操作類指令3.2.4程序控制類指令3.2.5串操作類指令3.2.6處理器控制類指令3.2.7輸入輸出類指令1/31/202496精選課件ppt8086/8088指令系統(tǒng)
計(jì)算機(jī)的指令系統(tǒng)就是指該計(jì)算機(jī)能夠執(zhí)行的全部指令的集合。8086/8088指令系統(tǒng)的指令分為7類,即數(shù)據(jù)傳送類、算術(shù)運(yùn)算類、邏輯操作類、程序控制類、數(shù)據(jù)串操作類、處理器控制類以及輸入輸出類指令。在學(xué)習(xí)指令系統(tǒng)過(guò)程中,以下幾個(gè)方面是需要注意的。掌握指令的功能分析指令支持的尋址方式清楚指令對(duì)標(biāo)志位的影響其他特征1/31/202497精選課件ppt數(shù)據(jù)傳送類指令
數(shù)據(jù)傳送是計(jì)算機(jī)中最基本、最重要的一種操作。傳送指令也是最常使用的一類指令,可以實(shí)現(xiàn)數(shù)據(jù)從一個(gè)位置到另一個(gè)位置的移動(dòng),如執(zhí)行寄存器與寄存器之間、寄存器與主存單元之間的字或字節(jié)的多種傳送操作。1/31/202498精選課件ppt數(shù)據(jù)傳送指令MOV
指令格式:MOVOPRD1,OPRD2OPRD1為目的操作數(shù),可以是寄存器、存儲(chǔ)器、累加器。OPRD2為源操作數(shù),可以是寄存器、存儲(chǔ)器、累加器和立即數(shù)。本指令的功能是將一個(gè)8位或16位的源操作數(shù)(字或字節(jié))送到目的操作數(shù)中,即:OPRD1←OPRD2,本指令不影響狀態(tài)標(biāo)志位。1/31/202499精選課件ppt數(shù)據(jù)傳送指令MOV
使用MOV指令傳送數(shù)據(jù),必須注意以下幾點(diǎn):立即數(shù)只能作為源操作數(shù),不允許作目的操作數(shù),立即數(shù)也不能送至段寄存器。通用寄存器可以與段寄存器、存儲(chǔ)器互相傳送數(shù)據(jù),寄存器之間也可以互相傳送數(shù)據(jù)。但是CS不能作為目的操作數(shù)。存儲(chǔ)器與存儲(chǔ)器之間不能進(jìn)行數(shù)據(jù)直接傳送。若要實(shí)現(xiàn)存儲(chǔ)單元之間的數(shù)據(jù)傳送,可以借助于通用寄存器作為中介來(lái)進(jìn)行。1/31/2024100精選課件ppt數(shù)據(jù)交換指令XCHG
數(shù)據(jù)傳送指令單方向地將源操作數(shù)送至目的操作數(shù)存儲(chǔ)單元,而數(shù)據(jù)交換指令則將兩個(gè)操作數(shù)相互交換位置,例如:
XCHGOPRD1,OPRD2指令中的OPRD1為目的操作數(shù),OPRD2為源操作數(shù),該指令把源操作數(shù)OPRD2與目的操作數(shù)OPRD1交換。OPRD1及OPRD2可為通用寄存器或存儲(chǔ)器。XCHG指令不支持兩個(gè)存儲(chǔ)器單元之間的數(shù)據(jù)交換,但通過(guò)中間寄存器,可以很容易地實(shí)現(xiàn)兩個(gè)存儲(chǔ)器操作數(shù)的交換。1/31/2024101精選課件ppt換碼指令XLAT
指令格式:XLATTABLE
XLAT以上兩種格式是完全等效的。本指令的功能是把待查表格的一個(gè)字節(jié)內(nèi)容送到AL累加器中。其中TABLE為一待查表格的首地址,在執(zhí)行該指令前,應(yīng)將TABLE先送至BX寄存器中,然后將待查字節(jié)與在表格中距表首地址位移量送AL。1/31/2024102精選課件ppt堆棧操作指令PUSH和POP
堆棧被定義為一種先進(jìn)后出的數(shù)據(jù)結(jié)構(gòu),即最后進(jìn)棧的元素將被最先彈出來(lái)。堆棧從一個(gè)稱為棧底的位置開(kāi)始,數(shù)據(jù)進(jìn)入堆棧的操作稱為入棧(或壓棧),數(shù)據(jù)退出堆棧的操作稱為出棧,每進(jìn)行一次出棧操作,堆棧就減少一個(gè)元素,最后一次入棧的元素,稱為棧頂元素,入棧操作和出棧操作都是對(duì)棧頂元素進(jìn)行的基本操作。8086/8088的堆棧段的開(kāi)始位置由(SS)
10H+0000H決定,堆棧段最大為64KB。SP稱為堆棧指針,確切地講是指向棧頂元素的地址指針,由SP的值就可以知道棧頂元素的位置。1/31/2024103精選課件ppt入棧操作指令
實(shí)現(xiàn)入棧操作的指令是PUSH指令,其格式為:
PUSHOPRD其中OPRD為16位(字)操作數(shù),可以是寄存器或存儲(chǔ)器操作數(shù)。PUSH的操作過(guò)程是:(SP)←(SP)-2,((SP))←OPRD即先修改堆棧指針SP(入棧時(shí)為自動(dòng)減2),然后,將指定的操作數(shù)送入新的棧頂位置。此處的((SP))←OPRD1/31/2024104精選課件ppt出棧操作指令
實(shí)現(xiàn)出棧操作的指令是POP指令,其格式為:
POPOPRD其中OPRD為16位(字)操作數(shù),可以是寄存器或存儲(chǔ)器操作數(shù)。POP指令的操作過(guò)程是:
OPRD←((SP)),(SP)←(SP)+2它與入棧操作相反,是先彈出棧頂?shù)臄?shù)據(jù),然后再修改指針SP的內(nèi)容(自動(dòng)加2)。1/31/2024105精選課件ppt標(biāo)志傳送指令
取FLAGS標(biāo)志寄存器低8位至AH指令LAHF指令格式:LAHF
將AH存至FLAGS低8位指令SAHF指令格式:SAHF
將FLAGS內(nèi)容入棧指令PUSHF指令格式:PUSHF
從堆棧中彈出一個(gè)數(shù)據(jù)字送至FLAGS中的指令POPF指令格式:POPF
1/31/2024106精選課件ppt地址傳送指令
(1)有效地址傳送指令LEA指令格式:LEAOPRD1,OPRD2指令中的OPRD1為目的操作數(shù),可為任意一個(gè)16位的通用寄存器。OPRD2為源操作數(shù),可為變量名、標(biāo)號(hào)或地址表達(dá)式。本指令的功能是將源操作數(shù)給出的有效地址傳送到指定的寄存器中。(2)從存儲(chǔ)器取出32位地址的指令LDS及LES指令格式:LDSOPRD1,OPRD2
LESOPRD1,OPRD2其中OPRD1為任意一個(gè)16位的寄存器,OPRD2指定了主存的連續(xù)4字節(jié)作為邏輯地址,即32位的地址指針。1/31/2024107精選課件ppt算術(shù)運(yùn)算類指令
算術(shù)運(yùn)算類指令用來(lái)執(zhí)行二進(jìn)制及十進(jìn)制的算術(shù)運(yùn)算,主要包括加、減、乘、除指令。二進(jìn)制數(shù)運(yùn)算分為帶符號(hào)數(shù)運(yùn)算和不帶符號(hào)數(shù)運(yùn)算。帶符號(hào)數(shù)的最高位是符號(hào)位,不帶符號(hào)數(shù)所有位都是有效位。十進(jìn)制數(shù)用BCD碼表示,又分為非壓縮的BCD碼和壓縮的BCD碼兩種形式。算術(shù)運(yùn)算指令會(huì)根據(jù)運(yùn)算結(jié)果影響狀態(tài)標(biāo)志,有時(shí)要利用某些標(biāo)志才能得到正確的結(jié)果。該類指令主要影響6個(gè)標(biāo)志位,即CF、AF、SF、ZF、PF和OF。1/31/2024108精選課件ppt加法指令加法指令A(yù)DD格式:ADDOPRD1,OPRD2帶進(jìn)位加法指令A(yù)DC格式:同ADD加1指令I(lǐng)NC格式:INCOPRD1/31/2024109精選課件ppt加法指令A(yù)DD格式:ADDOPRD1,OPRD2功能:OPRD1←OPRD1+OPRD2OPRD1為任一通用寄存器或存儲(chǔ)器操作數(shù),可以是任意一個(gè)通用寄存器,而且還可以是任意一個(gè)存儲(chǔ)器操作數(shù)。OPRD2為立即數(shù),也可以是任意一個(gè)通用寄存器或存儲(chǔ)器操作數(shù)。立即數(shù)只能用于源操作數(shù)。1/31/2024110精選課件ppt帶進(jìn)位加法指令A(yù)DC指令格式:ADCOPRD1,OPRD2OPRD1←OPRD1+OPRD2+CF其中OPRD1、OPRD2同指令A(yù)DD中的含義。1/31/2024111精選課件ppt加1指令I(lǐng)NC格式:INCOPRDOPRD為寄存器或存儲(chǔ)器操作數(shù)。這條指令的功能是對(duì)給定的操作數(shù)加1后,再返回該操作數(shù),即:OPRD←OPRD+1,可以實(shí)現(xiàn)字節(jié)加1或字加1。1/31/2024112精選課件ppt減法指令減法指令SUB格式:SUBOPRD1,OPRD2帶借位減法指令SBB格式:同上減1指令DEC格式:DECOPRD取補(bǔ)指令NEG格式:NEGOPRD比較指令CMP格式:CMPOPRD1,OPRD2AAS指令格式:AASDAS指令格式:DAS1/31/2024113精選課件ppt減法指令SUB格式:SUBOPRD1,OPRD2指令的功能是進(jìn)行兩個(gè)操作數(shù)的相減,即:OPRD1←OPRD1―OPRD2本指令的類型及對(duì)標(biāo)志位的影響與ADD指令相同,注意立即數(shù)不能用于目的操作數(shù),兩個(gè)存儲(chǔ)器操作數(shù)之間不能直接相減。操作數(shù)可為8位或16位的無(wú)符號(hào)數(shù)或帶符號(hào)數(shù)。1/31/2024114精選課件ppt帶借位減法指令SBB格式:SBBOPRD1,OPRD2其中OPRD1、OPRD2的含義及指令對(duì)標(biāo)志位的影響等均與SUB指令相同。完成的操作為:
OPRD1←OPRD1―OPRD2―CF1/31/2024115精選課件ppt減1指令DEC格式:DECOPRD其中OPRD的含義與INC指令相同,本指令的功能是:
OPRD←OPRD
11/31/2024116精選課件ppt取補(bǔ)指令NEG格式:NEGOPRDOPRD為任意通用寄存器或存儲(chǔ)器操作數(shù)。本指令用來(lái)對(duì)操作數(shù)OPRD進(jìn)行取補(bǔ)操作,然后將結(jié)果送回OPRD。即求一個(gè)數(shù)的相反數(shù)的補(bǔ)碼。1/31/2024117精選課件ppt比較指令CMP格式:CMPOPRD1,OPRD2其中,OPRD1為任意通用寄存器或存儲(chǔ)器操作數(shù)。OPRD2為任意通用寄存器或存儲(chǔ)器操作數(shù),立即數(shù)也可用作源操作數(shù)OPRD2。本指令對(duì)標(biāo)志位的影響同SUB指令,完成的操作與SUB指令類似,唯一的區(qū)別是不將OPRD1―OPRD2的結(jié)果送回OPRD1,而只是比較。因而不改變OPRD1和OPRD2的內(nèi)容,該指令用于改變標(biāo)志位。1/31/2024118精選課件ppt比較指令CMP以CMPDX,CX為例,對(duì)標(biāo)志位的影響如下:(DX)=(CX)時(shí),則ZF=1;兩個(gè)無(wú)符號(hào)數(shù)比較:若(DX)>(CX),則CF=0,即無(wú)借位;若(DX)<(CX),則CF=1,即有借位;兩個(gè)帶符號(hào)數(shù)比較:可以通過(guò)溢出標(biāo)志OF及符號(hào)標(biāo)志SF共同來(lái)判斷兩個(gè)數(shù)的大小。當(dāng)OF=0,即無(wú)溢出時(shí),若SF=0,則(DX)>(CX)若SF=1,則(DX)<(CX)當(dāng)OF=1,即有溢出時(shí),若SF=1,則(DX)>(CX)若SF=0,則(DX)<(CX)1/31/2024119精選課件ppt乘法和除法指令乘法指令除法指令無(wú)符號(hào)數(shù)乘法指令MUL格式:MULOPRD帶符號(hào)數(shù)乘法指令I(lǐng)MUL格式:IMULOPRD無(wú)符號(hào)數(shù)除法指令DIV格式:DIVOPRD帶符號(hào)數(shù)除法指令I(lǐng)DIV格式:IDIVOPRD字節(jié)擴(kuò)展指令CBW格式:CBW字?jǐn)U展指令CWD格式:CWD1/31/2024120精選課件ppt無(wú)符號(hào)數(shù)乘法指令MUL格式:MULOPRD其中OPRD為源操作數(shù),即作乘數(shù);目的操作數(shù)是隱含的,即被乘數(shù)總是指定為累加器AX或AL的內(nèi)容。16位乘法時(shí),AX中為被乘數(shù);8位乘法時(shí),AL為被乘數(shù)。當(dāng)16位乘法時(shí),32位的乘積存于DX及AX中;8位乘法的16位乘積存于AX中。字節(jié)相乘:(AX)←(AL)×OPRD,當(dāng)結(jié)果的高位字節(jié)(AH)≠0時(shí),則CF=1、OF=1。字相乘:(DX)(AX)←(AX)×OPRD,當(dāng)(DX)≠0時(shí),則CF=1、OF=1。1/31/2024121精選課件ppt帶符號(hào)數(shù)乘法指令I(lǐng)MUL格式:IMULOPRD其中OPRD為任一通用寄存器或存儲(chǔ)器操作數(shù)。本指令的功能是完成兩個(gè)帶符號(hào)數(shù)的相乘。1/31/2024122精選課件ppt無(wú)符號(hào)數(shù)除法指令DIV格式:DIVOPRD本指令的功能是實(shí)現(xiàn)兩個(gè)無(wú)符號(hào)二進(jìn)制除法運(yùn)算。字節(jié)相除,被除數(shù)在AX中;字相除,被除數(shù)在DX、AX中,除數(shù)在OPRD中。操作過(guò)程:字節(jié)除法:(AL)←(AX)/OPRD,(AH)←(AX)MOD
OPRD字除法:(AX)←(DX)(AX)/OPRD,(DX)←(DX)(AX)MOD
OPRD1/31/2024123精選課件ppt帶符號(hào)數(shù)除法指令I(lǐng)DIV
指令格式:IDIVOPRD其中OPRD為任一通用寄存器或存儲(chǔ)器操作數(shù)。隱含操作數(shù)的定義與DIV指令相同。本指令的功能是實(shí)現(xiàn)兩個(gè)帶符號(hào)數(shù)的二進(jìn)制除法運(yùn)算,余數(shù)的符號(hào)與被除數(shù)符號(hào)相同。1/31/2024124精選課件ppt字節(jié)擴(kuò)展指令CBW
指令格式:CBW本指令的功能是將字節(jié)擴(kuò)展為字,即把AL寄存器的符號(hào)位擴(kuò)展到AH中。即兩個(gè)字節(jié)相除時(shí),先使用本指令形成一個(gè)雙字節(jié)長(zhǎng)的被除數(shù)。1/31/2024125精選課件ppt字?jǐn)U展指令CWD
指令格式:CWD本指令的功能是將字?jǐn)U展為雙字長(zhǎng),即把AX寄存器的符號(hào)位擴(kuò)展到DX中。即兩個(gè)字或字節(jié)相除時(shí),先使用本指令形成一個(gè)雙字長(zhǎng)的被除數(shù)。符號(hào)擴(kuò)展指令常用來(lái)獲得除法指令所需要的被除數(shù)。例如AX=FF00H,它表示有符號(hào)數(shù)
256;執(zhí)行CWD指令后,則DX=FFFFH,DX,AX仍表示有符號(hào)數(shù)
256。1/31/2024126精選課件ppt十進(jìn)制調(diào)整指令
8086/8088提供了一組十進(jìn)制數(shù)調(diào)整指令。這組指令對(duì)二進(jìn)制運(yùn)算的結(jié)果進(jìn)行十進(jìn)制調(diào)整,以得到十進(jìn)制的運(yùn)算結(jié)果。在進(jìn)行十進(jìn)制數(shù)算術(shù)運(yùn)算時(shí),應(yīng)分兩步進(jìn)行:先按二進(jìn)制數(shù)運(yùn)算規(guī)則進(jìn)行運(yùn)算,得到中間結(jié)果;再用十進(jìn)制調(diào)整指令對(duì)中間結(jié)果進(jìn)行修正,得到正確的結(jié)果。1/31/2024127精選課件ppt十進(jìn)制調(diào)整指令
(1)DAA指令指令格式DAADAA指令為無(wú)操作數(shù)指令。用以完成對(duì)壓縮的BCD碼加法運(yùn)算進(jìn)行校正。一般在ADD指令之后,緊接著用一條DAA指令加以校正,在AL中可以得到正確的結(jié)果。(2)DAS指令指令格式DASDAS指令為無(wú)操作數(shù)指令。用以完成對(duì)壓縮的BCD碼相減的結(jié)果進(jìn)行校正,得到正確的壓縮的十進(jìn)制差。一般在SUB指令之后,緊接著用一條DAS指令加以校正,在AL中可以得到正確的結(jié)果。1/31/2024128精選課件ppt十進(jìn)制調(diào)整指令
(3)AAA指令指令格式AAAAAA指令為無(wú)操作數(shù)指令。AAA指令對(duì)在AL中的兩個(gè)非壓縮的十進(jìn)制數(shù)相加后的結(jié)果進(jìn)行校正。兩個(gè)非壓縮的十進(jìn)制數(shù)可以直接用ADD指令相加,但要得到正確的非壓縮的十進(jìn)制結(jié)果,必須在ADD指令之后,用一條AAA指令加以校正,在AX中可以得到正確的結(jié)果。1/31/2024129精選課件ppt十進(jìn)制調(diào)整指令(4)AAS指令指令格式AASAAS指令為無(wú)操作數(shù)指令。AAS指令把AL中兩個(gè)非壓縮的十進(jìn)制數(shù)相減后的結(jié)果進(jìn)行校正,產(chǎn)生一個(gè)正確的非壓縮的十進(jìn)制數(shù)差。(5)AAM指令指令格式AAMAAM指令執(zhí)行的操作為:把AL中的積調(diào)整到非壓縮的BCD格式后送給AX寄存器。這條指令之前必須執(zhí)行MUL指令把兩個(gè)非壓縮的BCD碼相乘(此時(shí)要求其高4位為0),結(jié)果放在AL寄存器中。本指令的調(diào)整方法是:把AL寄存器的內(nèi)容除以0AH,商放在AH寄存器中,余數(shù)保存在AL寄存器中。本指令根據(jù)AL寄存器的內(nèi)容設(shè)置標(biāo)志位SF、ZF和PF,但對(duì)OF、CF和AF標(biāo)志位無(wú)影響。1/31/2024130精選課件ppt十進(jìn)制調(diào)整指令(6)AAD指令指令格式AAD如果被除數(shù)是存放在AX寄存器中的兩位非壓縮BCD數(shù),AH中存放十位數(shù),AL中存放個(gè)位數(shù),而且要求AH和AL中的高4位均為0。除數(shù)是一位非壓縮的BCD數(shù),同樣要求高4位為0。在把這兩個(gè)數(shù)用DIV指令相除以前,必須先用AAD指令把AX中的被除數(shù)調(diào)整成二進(jìn)制數(shù),并存放在AL寄存器中。1/31/2024131精選課件ppt邏輯操作類指令
邏輯操作類指令是按位操作指令,可以對(duì)8位或16位的寄存器或存儲(chǔ)單元的內(nèi)容按位操作。該類指令包括邏輯運(yùn)算指令、移位指令和循環(huán)移位指令。1/31/2024132精選課件ppt邏輯運(yùn)算指令邏輯與運(yùn)算指令A(yù)ND邏輯或運(yùn)算指令OR邏輯非運(yùn)算指令NOT邏輯異或運(yùn)算指令XOR測(cè)試指令TEST格式:ANDOPRD1,OPRD2格式:OROPRD1,OPRD2格式:NOTOPRD格式:XOROPRD1,OPRD2格式:TESTOPRD1,OPRD21/31/2024133精選課件ppt邏輯與運(yùn)算指令A(yù)ND其中目的操作數(shù)OPRD1為任一通用寄存器或存儲(chǔ)器操作數(shù)。源操作數(shù)OPRD2為立即數(shù)、任一通用寄存器或存儲(chǔ)器操作數(shù)。功能:對(duì)兩個(gè)操作數(shù)實(shí)現(xiàn)按位邏輯與運(yùn)算,結(jié)果送至目的操作數(shù)。本指令可以進(jìn)行字節(jié)或字的“與”運(yùn)算。格式:ANDOPRD1,OPRD21/31/2024134精選課件ppt邏輯或運(yùn)算指令OROR指令完成對(duì)兩個(gè)操作數(shù)按位“或”的運(yùn)算,結(jié)果送至目的操作數(shù)中。本指令可以進(jìn)行字節(jié)或字的“或”運(yùn)算。格式:OROPRD1,OPRD21/31/2024135精選課件ppt邏輯非運(yùn)算指令NOT本指令的功能是完成對(duì)操作數(shù)的按位求反運(yùn)算,結(jié)果送回給原操作數(shù),本指令可以進(jìn)行字節(jié)或字的“非”運(yùn)算,不影響標(biāo)志位。格式:NOTOPRD1/31/2024136精選課件ppt邏輯異或運(yùn)算指令XOR本指令的功能是實(shí)現(xiàn)兩個(gè)操作數(shù)按位“異或”的運(yùn)算,結(jié)果送至目的操作數(shù)中。XOR指令可以進(jìn)行字節(jié)或字的“異或”運(yùn)算。格式:XOROPRD1,OPRD21/31/2024137精選課件ppt測(cè)試指令TEST該指令與AND指令一樣,也是對(duì)兩個(gè)操作數(shù)進(jìn)行按位的“與”運(yùn)算,唯一不同之處是不將相“與”的結(jié)果送目的操作數(shù)。本指令對(duì)兩個(gè)操作數(shù)的內(nèi)容均不進(jìn)行修改,僅是在邏輯“與”操作后,對(duì)標(biāo)志位重新置位。格式:TESTOPRD1,OPRD21/31/2024138精選課件ppt邏輯移位指令
移位指令循環(huán)操作指令邏輯左移指令SHL格式:SHLOPRD1,COUNT邏輯右移指令SHR格式:SHROPRD1,COUNT算術(shù)左移指令SAL格式:SALOPRD1,COUNT算術(shù)右移指令SHR格式:SAROPRD1,COUNTROLOPRD1,COUNTRCLOPRD1,COUNTROROPRD1,COUNTRCROPRD1,COUNT1/31/2024139精選課件ppt邏輯左移指令SHL格式:SHLOPRD1,COUNT其中OPRD1為目的操作數(shù),可以是通用寄存器或存儲(chǔ)器操作數(shù)。COUNT代表移位的次數(shù)(或位數(shù))。移位一次,COUNT=1,移位多于一次時(shí),COUNT=(CL),(CL)中為移位的次數(shù)。本指令的功能是對(duì)給定的目的操作數(shù)(8位或16位)左移COUNT次,每次移位時(shí)最高位移入標(biāo)志位CF中,最低位補(bǔ)零。1/31/2024140精選課件ppt邏輯右移指令SHR格式:SHROPRD1,COUNT其中OPRD1、COUNT與指令SHL中意義相同。本指令實(shí)現(xiàn)由COUNT決定次數(shù)的邏輯右移操作,每次移位時(shí),最高位補(bǔ)零,最低位移至標(biāo)志位CF中。1/31/2024141精選課件ppt算術(shù)左移指令SAL格式:SALOPRD1,COUNT其中OPRD1、COUNT與指令SHL中意義相同。本指令與SHL的功能也完全相同,這是因?yàn)檫壿嬜笠浦噶钆c算術(shù)左移指令所要完成的操作是一樣的。SAL可用于帶符號(hào)數(shù)的倍增運(yùn)算,SHL只能用于無(wú)符號(hào)數(shù)的倍增運(yùn)算。1/31/2024142精選課件ppt算術(shù)右移指令SHR格式:SAROPRD1,COUNT其中OPRD1、COUNT與指令SHL中意義相同。本指令通常用于對(duì)帶符號(hào)數(shù)減半的運(yùn)算中,因而在每次右移時(shí),保持最高位(符號(hào)位)不變,最低位右移至CF中。1/31/2024143精選課件ppt移位指令操作示意圖1/31/2024144精選課件ppt循環(huán)移位指令這組指令只對(duì)標(biāo)志位CF和OF有影響。CF由移入CF的內(nèi)容決定,OF取決于移位一次后符號(hào)位是否改變,如改變,則OF=1。由于是循環(huán)移位,所以對(duì)字節(jié)移位8次;對(duì)字移位16次,就可恢復(fù)為原操作數(shù)。由于帶CF的循環(huán)移位,可以將CF的內(nèi)容移入,所以可以利用它實(shí)現(xiàn)多字節(jié)的循環(huán)。ROLOPRD1,COUNTROROPRD1,COUNTRCLOPRD1,COUNTRCROPRD1,COUNT1/31/2024145精選課件ppt循環(huán)移位指令操作示意圖1/31/2024146精選課件ppt程序控制類指令
控制轉(zhuǎn)移類指令通過(guò)修改CS和IP寄存器的值來(lái)改變程序的執(zhí)行順序,包括五組指令:無(wú)條件轉(zhuǎn)移指令、有條件轉(zhuǎn)移指令、循環(huán)指令、過(guò)程調(diào)用和返回指令以及中斷指令。利用程序控制類指令,可以實(shí)現(xiàn)分支、循環(huán)、子程序等程序結(jié)構(gòu)。1/31/2024147精選課件ppt無(wú)條件轉(zhuǎn)移指令JMP
指令格式:JMPOPRD其中OPRD為轉(zhuǎn)移的目的地址。程序轉(zhuǎn)移到目的地址所指向的指令后繼續(xù)向下執(zhí)行。無(wú)條件轉(zhuǎn)移,就是無(wú)任何先決條件就能使程序改變執(zhí)行順序。處理器只要執(zhí)行無(wú)條件轉(zhuǎn)移指令JMP,就能使程序轉(zhuǎn)移到指定的目標(biāo)地址處。目標(biāo)地址操作數(shù)的尋址方法可以是相對(duì)尋址、直接尋址或間接尋址。JMP指令根據(jù)目標(biāo)地址不同的提供方法和內(nèi)容,可以分成四種格式。段內(nèi)轉(zhuǎn)移,相對(duì)尋址段內(nèi)轉(zhuǎn)移,間接尋址段間轉(zhuǎn)移,直接尋址段間轉(zhuǎn)移,間接尋址1/31/2024148精選課件ppt條件轉(zhuǎn)移指令JCC
指令格式:JCCOPRD條件轉(zhuǎn)移指令只有一個(gè)操作數(shù)OPRD,用以指明轉(zhuǎn)移的目的地址。指令助記符中的“CC”表示條件。這種指令的執(zhí)行包括兩個(gè)過(guò)程:第一步,測(cè)試規(guī)定的條件;第二步,如果條件滿足,則轉(zhuǎn)移到目標(biāo)地址;否則,繼續(xù)順序執(zhí)行。條件轉(zhuǎn)移指令的操作數(shù)必須是一個(gè)短標(biāo)號(hào),也就是說(shuō),所有的條件轉(zhuǎn)移指令都是2字節(jié)指令,轉(zhuǎn)移指令的下一條指令到目標(biāo)地址之間的距離必須為
128~127。如果指令規(guī)定的條件滿足,則將這個(gè)位移量加到IP寄存器上,以實(shí)現(xiàn)程序的轉(zhuǎn)移。絕大多數(shù)條件轉(zhuǎn)移指令(除JCXZ指令外)將狀態(tài)標(biāo)志位的狀態(tài)作為測(cè)試的條件。因此,首先應(yīng)該執(zhí)行影響有關(guān)的狀態(tài)標(biāo)志位的指令,然后才能用條件轉(zhuǎn)移指令測(cè)試這些標(biāo)志,以確定程序是否轉(zhuǎn)移。CMP和TEST指令常常與條件轉(zhuǎn)移指令配合使用。1/31/2024149精選課件ppt條件轉(zhuǎn)移指令
1/31/2024150精選課件ppt循環(huán)控制指令
循環(huán)是一種特殊的轉(zhuǎn)移流程,當(dāng)滿足(不滿足)某條件時(shí),反復(fù)執(zhí)行一系列操作,直到不滿足(滿足)條件為止。循環(huán)流程的條件一般是循環(huán)計(jì)數(shù),指令約定用CX寄存器作為計(jì)數(shù)器。在程序中用循環(huán)計(jì)數(shù)來(lái)控制循環(huán)次數(shù)。這類指令屬于段內(nèi)SHORT短類型轉(zhuǎn)移,目的地址必須距本指令在-127~128個(gè)字節(jié)的范圍內(nèi)。1/31/2024151精選課件ppt循環(huán)指令LOOP
指令的一般格式為:LOOP標(biāo)號(hào)功能:(CX)←(CX)-1,(CX)≠0,則轉(zhuǎn)移至標(biāo)號(hào)處循環(huán)執(zhí)行,直至(CX)=0,繼續(xù)執(zhí)行后續(xù)程序。LOOP指令的操作是先將CX的內(nèi)容減1,如結(jié)果不等于零,則轉(zhuǎn)到指令中指定的短標(biāo)號(hào)處;否則,順序執(zhí)行下一條指令。因此,在循環(huán)程序開(kāi)始前,應(yīng)將循環(huán)次數(shù)送CX寄存器。1/31/2024152精選課件ppt條件循環(huán)指令LOOPZ/LOOPE
指令的一般格式為:LOOPZ/LOOPE標(biāo)號(hào)功能:(CX)←(CX)-1,(CX)≠0,且ZF=1時(shí),轉(zhuǎn)移至標(biāo)號(hào)處循環(huán)。LOOPZ和LOOPE實(shí)際上代表同一條指令。本指令的操作也是先將CX寄存器的內(nèi)容減1,如結(jié)果不為零,且零標(biāo)志ZF=1,則轉(zhuǎn)移到指定的短標(biāo)號(hào)處。1/31/2024153精選課件ppt條件循環(huán)指令LOOPNZ/LOOPNE
指令的一般格式為:LOOPNZ/LOOPNE標(biāo)號(hào)功能:(CX)←(CX)-1,(CX)≠0,且ZF=0時(shí),轉(zhuǎn)移至標(biāo)號(hào)處循環(huán)。本指令也同樣有兩種表示形式。指令的操作是將CX寄存器的內(nèi)容減1,如結(jié)果不為零,且零標(biāo)志ZF=0(表示“不相等”或“不等于零”),則轉(zhuǎn)移到指定的短標(biāo)號(hào)處。1/31/2024154精選課件ppt過(guò)程調(diào)用和返回指令
如果有一些程序段需要在不同的地方多次反復(fù)地出現(xiàn),則可以將這些程序段設(shè)計(jì)成為過(guò)程(相當(dāng)于子程序),每次需要時(shí)進(jìn)行調(diào)用。過(guò)程結(jié)束后,再返回到原來(lái)調(diào)用的地方。(1)過(guò)程調(diào)用指令CALL指令格式:CALLOPRD其中OPRD為過(guò)程的目的地址。過(guò)程調(diào)用可以分為段內(nèi)調(diào)用和段間調(diào)用兩種。尋址方式也可以分為直接尋址和間接尋址兩種。(2)返回指令RET指令格式:RET本指令的作用是:當(dāng)調(diào)用的過(guò)程結(jié)束后實(shí)現(xiàn)從過(guò)程返回至原調(diào)用程序的下一條指令。1/31/2024155精選課件ppt中斷指令
在程序運(yùn)行時(shí),遇到某些緊急情況或一些嚴(yán)重的錯(cuò)誤(如溢出),當(dāng)前程序應(yīng)能夠暫停,處理器中止當(dāng)前程序運(yùn)行,轉(zhuǎn)去執(zhí)行處理這些緊急情況的程序段。這種情況叫做“中斷”。轉(zhuǎn)去執(zhí)行的處理中斷的子程序叫做“中斷服務(wù)程序”或“中斷處理程序”。當(dāng)前程序被中斷的地方稱為“斷點(diǎn)”。中斷服
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《心臟解剖及血供》課件
- 2021年四川省雅安市公開(kāi)招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2023年遼寧省遼陽(yáng)市公開(kāi)招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2022年遼寧省遼陽(yáng)市公開(kāi)招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2022年浙江省嘉興市公開(kāi)招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 《漢字拼音復(fù)習(xí)攻略》課件
- 2025年行政訴訟法知識(shí)競(jìng)賽題庫(kù)與答案(完整版)
- 2024年P(guān)ET改性及合金材料項(xiàng)目投資申請(qǐng)報(bào)告代可行性研究報(bào)告
- 2024年石油產(chǎn)品添加劑:燃料油添加劑項(xiàng)目資金申請(qǐng)報(bào)告
- 關(guān)于銀行實(shí)習(xí)日記范文錦集八篇
- 呼吸科主任述職報(bào)告
- 旅游法規(guī)期末試卷與參考答案匯編
- 11054-國(guó)家開(kāi)放大學(xué)2023年春期末統(tǒng)一考試《流通概論》答案
- 晉江物流行業(yè)分析
- 編譯原理考試題及答案匯總
- 【蘇州市軌道交通安全管理現(xiàn)狀、問(wèn)題及優(yōu)化建議分析4300字(論文)】
- 國(guó)家開(kāi)放大學(xué)2023年7月期末統(tǒng)一試《11132衛(wèi)生管理》試題及答案-開(kāi)放本科
- 咽喉癌病歷書寫
- 2023年自然資源部所屬事業(yè)單位招聘(208人)筆試參考題庫(kù)(共500題)答案詳解版
- 自身免疫性肝炎診斷和治療指南(2021版)解讀
- 淺析小班幼兒角色游戲的年齡特點(diǎn)及游戲指導(dǎo)
評(píng)論
0/150
提交評(píng)論