微機(jī)原理與接口技術(shù) 期末復(fù)習(xí)總結(jié)_第1頁(yè)
微機(jī)原理與接口技術(shù) 期末復(fù)習(xí)總結(jié)_第2頁(yè)
微機(jī)原理與接口技術(shù) 期末復(fù)習(xí)總結(jié)_第3頁(yè)
微機(jī)原理與接口技術(shù) 期末復(fù)習(xí)總結(jié)_第4頁(yè)
微機(jī)原理與接口技術(shù) 期末復(fù)習(xí)總結(jié)_第5頁(yè)
已閱讀5頁(yè),還剩112頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《微機(jī)原理與接口技術(shù)》復(fù)習(xí)參考資料

復(fù)習(xí)資料說(shuō)明:

1、標(biāo)有紅色星號(hào)“Q”的容為重點(diǎn)容

3、本資料末尾附有“《微機(jī)原理與接口技術(shù)》綜合練習(xí)題與答案錯(cuò)誤修正”和“《微機(jī)原理與接

口技術(shù)》綜合練習(xí)題與答案中不作要求的部分”,請(qǐng)注意查看。

第一章概述

一、計(jì)算機(jī)中的數(shù)制

1、無(wú)符號(hào)數(shù)的表示方法:

(1)十進(jìn)制計(jì)數(shù)的表示法

特點(diǎn):以十為底,逢十進(jìn)一;

共有0-9十個(gè)數(shù)字符號(hào)。

(2)二進(jìn)制計(jì)數(shù)表示方法:

特點(diǎn):以2為底,逢2進(jìn)位;

只有0和1兩個(gè)符號(hào)。

(3)十六進(jìn)制數(shù)的表示法:

特點(diǎn):以16為底,逢16進(jìn)位;

有0-9及A—F(表示10~15)共16個(gè)數(shù)字符號(hào)。

2、各種數(shù)制之間的轉(zhuǎn)換

(1)非十進(jìn)制數(shù)到十進(jìn)制數(shù)的轉(zhuǎn)換

按相應(yīng)進(jìn)位計(jì)數(shù)制的權(quán)表達(dá)式展開,再按十進(jìn)制求和。

(2)十進(jìn)制數(shù)制轉(zhuǎn)換為二進(jìn)制數(shù)制

十進(jìn)制一二進(jìn)制的轉(zhuǎn)換:

整數(shù)部分:除2取余;

小數(shù)部分:乘2取整。

十進(jìn)制一十六進(jìn)制的轉(zhuǎn)換:

整數(shù)部分:除16取余;

小數(shù)部分:乘16取整。

以小數(shù)點(diǎn)為起點(diǎn)求得整數(shù)和小數(shù)的各個(gè)位。

(3)二進(jìn)制與十六進(jìn)制數(shù)之間的轉(zhuǎn)換

用4位二進(jìn)制數(shù)表示1位十六進(jìn)制數(shù)

(4)二進(jìn)制與八進(jìn)制之間的轉(zhuǎn)換

八進(jìn)制一二進(jìn)制:一位八進(jìn)制數(shù)用三位二進(jìn)制數(shù)表示。

二進(jìn)制一八進(jìn)制:從小數(shù)點(diǎn)開始,分別向左右兩邊把三位二進(jìn)制數(shù)碼劃為一組,最

左和最右一組不足三位用0補(bǔ)充,然后每組用一個(gè)八進(jìn)制數(shù)碼代

替。

3、無(wú)符號(hào)數(shù)二進(jìn)制的運(yùn)算

無(wú)符號(hào)數(shù):機(jī)器中全部有效位均用來(lái)表示數(shù)的大小,例如N=1001,表示無(wú)符號(hào)數(shù)9

帶符號(hào)數(shù):機(jī)器中,最高位作為符號(hào)位(數(shù)的符號(hào)用0,1表示),其余位為數(shù)值位

機(jī)器數(shù):一個(gè)二進(jìn)制連同符號(hào)位在作為一個(gè)數(shù),也就是機(jī)器數(shù)是機(jī)器中數(shù)的表示形式

真值:機(jī)器數(shù)所代表的實(shí)際數(shù)值,一般寫成上迸制的形式

例:真值:Xi=+1010100B=+84x2=-1010100B=-84

機(jī)器數(shù):區(qū)]原=01010100的]原=11010100

4、二進(jìn)制數(shù)的邏輯運(yùn)算

特點(diǎn):按位運(yùn)算,無(wú)進(jìn)借位

(1)與運(yùn)算

只有A、B變量皆為1時(shí),與運(yùn)算的結(jié)果就是1

(2)或運(yùn)算

A、B變量中,只要有一個(gè)為1,或運(yùn)算的結(jié)果就是1

(3)非運(yùn)算

(4)異或運(yùn)算

A、B兩個(gè)變量只要不同,異或運(yùn)算的結(jié)果就是1

二、計(jì)算機(jī)中的碼制(重點(diǎn)A)

1、對(duì)于符號(hào)數(shù),機(jī)器數(shù)常用的表示方法有原碼、反碼和補(bǔ)碼三種。數(shù)X的原碼記作[X]原,

反碼記作[X]反,補(bǔ)碼記作[X]補(bǔ)。

注意:對(duì)正數(shù),三種表示法均相同。

它們的差別在于對(duì)負(fù)數(shù)的表示。

(1)原碼

定義:

符號(hào)位:0表示正,1表示負(fù);

數(shù)值位:真值的絕對(duì)值。

例:真值:X1=+1010100B=+84x2=-1010100B=-84

機(jī)器數(shù):[XI]原=01010100[x2]?=11010100

注意:數(shù)0的原碼不唯一

真值0有兩種不同的表示形式,+0或-0。[+0]原=0.00—010]原

=1.00...0

(2)反碼

定義:正數(shù)的反碼與其原碼相同,最高位為0表示正數(shù),其余位為數(shù)值位。

負(fù)數(shù)的反碼符號(hào)位為1,數(shù)值位為其原碼數(shù)值觸位取反

若X>0,則兇反=兇原

若X<0,則以]反=對(duì)應(yīng)原碼的符號(hào)位不變,數(shù)值部分按位求反

注意:數(shù)0的反碼也不唯一

(3)補(bǔ)碼

定義:

若x>0,則兇補(bǔ)=兇反=兇原

若X<0,則兇補(bǔ)=兇反X

注意:機(jī)器字長(zhǎng)為8時(shí),數(shù)0的補(bǔ)碼唯一,同為00000000

2、8位二進(jìn)制的表示圍:

原碼:-127-+127

反碼:-127-+127

補(bǔ)碼:-128~+127(因?yàn)?位二進(jìn)制數(shù)有28=256種表達(dá)方式,原碼,反碼都是+0~+127;

-0-127,而反碼的+0,—0的表達(dá)方式都為00000000,為+0~+127;-1-128)

3、特殊數(shù)10000000

該數(shù)在原碼中定義為:-0

在反碼中定義為:-127

在補(bǔ)碼中定義為:-128

對(duì)無(wú)符號(hào)數(shù):(10000000)2=128

補(bǔ)碼加法:[A+B、=[A]補(bǔ)+[B]補(bǔ)

補(bǔ)碼運(yùn)算步驟

1)將參加運(yùn)算的操作數(shù)用補(bǔ)碼表示。

2)進(jìn)行加法得到兩數(shù)和的補(bǔ)碼(符號(hào)位作為數(shù)的一部分參加運(yùn)算)

3)判斷是否溢出

①若沒有溢出,則可進(jìn)一步求和的真值:和為正數(shù)可直接求出,和為負(fù)數(shù),則

再次“求反加1",得到真值。

②溢出的判斷:

溢出:帶符號(hào)數(shù)運(yùn)算的結(jié)果超出計(jì)算機(jī)可以表示的圍,就是溢出。

兩個(gè)同符號(hào)數(shù)相加有可能產(chǎn)生溢出;

兩個(gè)負(fù)數(shù)補(bǔ)碼相加后得到正數(shù)的補(bǔ)碼,或兩個(gè)正數(shù)的補(bǔ)碼相加后到負(fù)數(shù)的補(bǔ)碼,

都是產(chǎn)生了溢出。

計(jì)算(-70)補(bǔ)+(-60)補(bǔ)

解:(-70)補(bǔ)+(-60)補(bǔ)

=10111010+11000100=101111110

兩個(gè)負(fù)數(shù)之和卻產(chǎn)生了正的結(jié)果,同樣是因?yàn)楫a(chǎn)生了溢出。因是超出了負(fù)的最大

圍,所以是負(fù)向溢出

③溢出的解決:擴(kuò)大數(shù)的表示國(guó)可以防止溢出。數(shù)的擴(kuò)展不能改變數(shù)的大小,只

能改變數(shù)的位數(shù)。

正數(shù)擴(kuò)展:高位全部加0;

負(fù)數(shù)擴(kuò)展:高位全部加1o

如:-70-?(10111010)H^>(1111111110111010)H

三、信息的編碼

1、十進(jìn)制數(shù)的二進(jìn)制數(shù)編碼

用4位二進(jìn)制數(shù)表示一位十進(jìn)制數(shù)。有兩種表示法:壓縮BCD碼和非壓縮BCD碼。

(1)壓縮BCD碼的每一位用4位二進(jìn)制表示,00007001表示0~9,一個(gè)字節(jié)表示兩位

十進(jìn)制數(shù)。

(2沸壓縮BCD碼用一個(gè)字節(jié)表示一位十進(jìn)制數(shù),高4位總是0000低4位的00007001

表示0~9

2、字符的編碼

計(jì)算機(jī)采用7位二進(jìn)制代碼對(duì)字符進(jìn)行編碼

(1)數(shù)字0~9的編碼是0110000—0111001,它們的高3位均是011,后4位正好與其對(duì)

應(yīng)的二進(jìn)制代碼(BCD碼)相符。

(2)英文字母A-Z的ASCII碼從1000001(41H)開始順序遞增,字母a-z的ASCII碼

從1100001(61H)開始順序遞增,這樣的排列對(duì)信息檢索十分有利。

(4位二進(jìn)制數(shù)表示1位十進(jìn)制數(shù))

四、微型計(jì)算機(jī)基礎(chǔ)

微處理器

①利用超大規(guī)模集成電路技術(shù)把運(yùn)堡1和控制量集成在一個(gè)半導(dǎo)體芯片上形成微處理器,

也稱CPU,是計(jì)算機(jī)的核心部件。

②組成運(yùn)算器ALU(ArithmeticLogicUnit)控制器CL)(ControlUnit);寄存器組Registers

③按照微型計(jì)算機(jī)數(shù)據(jù)總線的寬度,也就是按照一次操作所能傳送的二進(jìn)制數(shù)位數(shù)的最大

值來(lái)進(jìn)行劃分,可分為4位,8位,32位,64位

④字長(zhǎng):是微型計(jì)算機(jī)能夠直接處理的二進(jìn)制數(shù)據(jù)的位數(shù)。字長(zhǎng)越長(zhǎng),能表示數(shù)值的有效

位數(shù)越多,在同樣的運(yùn)算速度下精度也越高。

主存容量:主存儲(chǔ)器所能存儲(chǔ)的最大信息總量為主存容量,是衡量微型計(jì)算機(jī)處理能力

大小的一個(gè)重要指標(biāo)

主頻:決定計(jì)算機(jī)的處理速度,頻率越高,處理速度越快

運(yùn)算速度:計(jì)算機(jī)每秒運(yùn)算的次數(shù)

第二章微機(jī)組成原理

第一節(jié)、微機(jī)的結(jié)構(gòu)

1、計(jì)算機(jī)的經(jīng)典結(jié)構(gòu)——馮.諾依曼結(jié)構(gòu)

(1)計(jì)算機(jī)由運(yùn)算器、控制器、輸入設(shè)備和輸出設(shè)備五大部分組成(運(yùn)算器和控制器又稱

為CPU)

(2)數(shù)據(jù)和程序以二進(jìn)制代碼形式不加區(qū)分地存放在存儲(chǔ)器總,存放位置由地址指定,數(shù)

制為二進(jìn)制。

(3)控制器是根據(jù)存放在存儲(chǔ)器中的指令序列來(lái)操作的,并由一個(gè)程序計(jì)數(shù)器控制指令的

執(zhí)行。

3、系統(tǒng)總線的分類

(1)數(shù)據(jù)總線(DataBus),它決定了處理器的字長(zhǎng)。用來(lái)傳送數(shù)據(jù),數(shù)據(jù)既可從CPU送

往其他部件,也可以從其他部件送往CPU,故為雙向總線。

(2)地址總線(AddressBus),它決定系統(tǒng)所能直接訪問的存儲(chǔ)器空間的容量。用來(lái)傳送

地址信息,使由CPU送出的單向總線

(3)控制總線(ControlBus),用來(lái)傳輸控制信號(hào),包括CPU送往其他部件的控制信號(hào),

如讀信號(hào),寫信號(hào);也包括其他部件送往CPU的,如中斷請(qǐng)求信號(hào),總線請(qǐng)求信號(hào)。為雙

向總線

第二節(jié)、8086微處理器

1、8086與8088是一種單片微處理芯片,其部數(shù)據(jù)總線的寬度是16位,8086外部數(shù)據(jù)總

線寬度也是16位,8088的外部數(shù)據(jù)總線是8位,為準(zhǔn)16位CPU

8086地址總線的寬度為20位,有1MB(農(nóng)。)尋址空間。

2、8086CPU由總線接口部件BIU和執(zhí)行部件EU組成。BIU和EU的操作是異步的,是

并行的,為8086取指令和執(zhí)行指令的并行操作體統(tǒng)硬件支持。

BIU是CPU與存儲(chǔ)器和I/O設(shè)備的接口,負(fù)責(zé)與存儲(chǔ)器,I/O接口進(jìn)行數(shù)據(jù)傳送

8086CPU的BIU中的指令隊(duì)列為6字節(jié),可以預(yù)取6字節(jié)的指令代碼:8088CPU為4字

節(jié)。BIU要保證指令隊(duì)列始終是滿的,當(dāng)指令隊(duì)列有2個(gè)空字節(jié)(8088為1個(gè))時(shí),BIU

將自動(dòng)取指令到指令隊(duì)列。遵循的是先進(jìn)先出原則(按順序存放,并按順序取到EU中去)

而堆棧是先進(jìn)后出

3、8086處理器的啟動(dòng)

4、寄存器結(jié)構(gòu)(重點(diǎn)層)

8086微處理器包含有13個(gè)16位的寄存器和9位標(biāo)志位。

4個(gè)通用寄存器(AX,BX,CX,DX)

4個(gè)段寄存器(CS,DS,SS,ES)

4個(gè)指針和變址寄存器(SP,BP,SI,DI)

指令指針(IP)

1\通用寄存器

(1)8086含4個(gè)16位數(shù)據(jù)寄存器,它們又可分為8個(gè)8位寄存器,即:

AX->AH,AL

BX?BH,BL

CXfCH,CL

DX-DH,DL

常用來(lái)存放參與運(yùn)算的操作數(shù)或運(yùn)算結(jié)果

(2)數(shù)據(jù)寄存器特有的習(xí)慣用法

AX:Accumulator累加器。多用于存放中間運(yùn)算結(jié)果。所有I/O指令必須都通過AX與接

口傳送信息;

BX:(BaseRegister)基址寄存器。在間接尋址中用于存放基地址;

CX(CountRegister計(jì)數(shù)寄存器用于在循環(huán)或串操作指令中存放循環(huán)次數(shù)或重復(fù)次數(shù);

DX:DataRegister數(shù)據(jù)寄存器。在32位乘除法運(yùn)算時(shí),存放高16位數(shù);在間接尋址的

I/O指令中存放I/O端口地址。

2X指針和變址寄存器(專用寄存器)(16位)

SP:(StackPointer)堆棧指針寄存器,其容為淺項(xiàng)的偏移地址;

BP:(BasePointer)基址指針寄存器,常用于在訪問狂時(shí)存放存單元的偏移地址。

SI:(SourceIndex)源變址寄存器(傳送數(shù)退串時(shí)用)

DI:(DestinationIndex)目標(biāo)變址寄存器(傳送教調(diào)串時(shí)用)

變址寄存器常用于指令的間接尋址或變址尋址。

3X段寄存器(屬于BIU)

CS:(CodeSegment)代碼段寄存器,代碼段用于存放指令代碼

DS:(DataSegment)數(shù)據(jù)段寄存器(與SI.DI共用)

ES:(ExtraSegment)附加段寄存器,數(shù)據(jù)段和附加段用來(lái)存放操作數(shù)

SS:(StackSegment)堆棧段寄存器,堆棧段用于存放返回地址,保存寄存器容,傳遞

參數(shù)(與SP.BP共用)主要功能是暫時(shí)存放數(shù)據(jù)和地址,通常用來(lái)保護(hù)斷點(diǎn)和現(xiàn)場(chǎng)。

4X指令指針(IP)

16位指令指針寄存器,其容為下一條要執(zhí)行的揖金的偏移地址。(與CS共同表示)

5\標(biāo)志寄存器

(1)狀態(tài)標(biāo)志:

進(jìn)位標(biāo)志位(CF):運(yùn)算結(jié)果的重直便有進(jìn)位或有借位,則CF=1

輔助進(jìn)位標(biāo)志位(AF):運(yùn)算結(jié)果的低四位有進(jìn)位或借位,則AF=1(一般在BCD碼運(yùn)算

中)

溢出標(biāo)志位(OF):運(yùn)算結(jié)果有溢出,則0F=1

零標(biāo)志位(ZF):反映指令的執(zhí)行是否產(chǎn)生一個(gè)為零的結(jié)果

符號(hào)標(biāo)志位(SF):指出該指令的執(zhí)行是否產(chǎn)生一個(gè)負(fù)的結(jié)果,當(dāng)最高位為1時(shí),SF=1,

奇偶標(biāo)志位(PF):表示指令運(yùn)算結(jié)果的皿魚T個(gè)數(shù)是否為偶數(shù),則PF=1

(2)控制標(biāo)志位

中斷允許標(biāo)志位(IF):表示CPU是否能夠響應(yīng)外部亙縣邀中斷請(qǐng)求,IF=1,允許中斷

跟蹤標(biāo)志(TF):CPU單步執(zhí)行

方向標(biāo)志(DF):若用指令STD將DF=1,數(shù)據(jù)串操作過程中地址自動(dòng)遞減

5、8086的引腳及其功能(重點(diǎn)掌握以下引腳)

AD15~AD0:雙向三態(tài)的地址總線,輸入/輸出信號(hào)。傳送地址時(shí),單向,三態(tài)輸出;傳

送數(shù)據(jù),雙向,三態(tài)輸入輸出

INTR:可屏蔽中斷請(qǐng)求輸入信號(hào),高電平有效??赏ㄟ^設(shè)置IF的值來(lái)控制。

NMI:非屏蔽中斷輸入信號(hào)。不能用軟件進(jìn)行屏蔽。

RESET:復(fù)位輸入信號(hào),高電平有效。復(fù)位的初始狀態(tài)見

MN/MX:最小最大模式輸入控制信號(hào)。

最小工作模式,指系統(tǒng)中只有8088/8086CPU一個(gè)微處理器,最小模式也稱為單處理器模

式(MN/MX接電源)

最大工作模式,指系統(tǒng)包含兩個(gè)或兩個(gè)以上的微處理器(MN/MX接地)

6.存儲(chǔ)器組織

字:低位字節(jié)放在低地址中,高位字節(jié)放在高地址中

地址從上到下,從低到高

字:1123H

當(dāng)一個(gè)字存入存儲(chǔ)器時(shí)需要占用兩個(gè)存儲(chǔ)單元,字單元的地址采用它的低地址來(lái)表示

FOOOOH23H例如(0004H)=1234H,即字單元:(0004H)單元存放的是

F0001H11H

34H,(0005H)單元存放的是12Ho而(0004H)=34H為字

FFFFDHA9H節(jié)單元

FFFFEH09H

FFFFFH64H雙字:(32位),高位字存段地址,低位字存偏移量

物理地址存放的數(shù)據(jù)

規(guī)則字:低位字節(jié)存放在偶數(shù)地址(高位字節(jié)放在奇數(shù)地址)

(如FOOOOH.FFFFEH為偶數(shù)地址)

非規(guī)則字:低位字節(jié)存放在奇數(shù)地址

讀寫一個(gè)字節(jié)時(shí),只需訪問某個(gè)存儲(chǔ)體(奇地址存儲(chǔ)體或偶地址存儲(chǔ)體),相應(yīng)的8位數(shù)據(jù)

在數(shù)據(jù)總線上有效,而另外一個(gè)字節(jié)數(shù)據(jù)被忽略,只需要一個(gè)總線周期

讀寫一個(gè)字時(shí),若該字單元地址是從偶地址開始的,即其高字節(jié)在奇地址單元,低地址在偶

地址單元,則只需執(zhí)行一個(gè)總線讀寫周期便可完成對(duì)改字的讀寫操作

若該字地址從奇地址開始,則CPU需要執(zhí)行連續(xù)的兩個(gè)讀寫周期才能完成對(duì)該字的讀寫操

作,第一次取奇地址存儲(chǔ)體上的事數(shù)據(jù),偶地址存儲(chǔ)體上的8位數(shù)據(jù)被忽略,第二次取偶

地址存儲(chǔ)體上的數(shù)據(jù),奇地址存儲(chǔ)體上的8位數(shù)據(jù)被忽略,要兩個(gè)總線讀寫周期

為了加快運(yùn)行速度,通常從偶地址開始存放字?jǐn)?shù)據(jù)

存儲(chǔ)器操作涉及的類正常使用段基址可使用段基址偏移地址

取指令CS無(wú)IP

堆棧操作SS無(wú)SP

變?DSCS.ES.SS有效地址

源數(shù)據(jù)用DSCS.ES.SSSI

目的數(shù)據(jù)用ES無(wú)PI

作為基址寄存器使用SSCS.DS.ES有效地址

第三章8086指令系統(tǒng)

說(shuō)明:8086指令系統(tǒng)這章為重點(diǎn)章節(jié),對(duì)下面列出的指令都要求掌握。

8086尋址方式

一、數(shù)據(jù)尋址方式(重點(diǎn)Q)

8086指令格式:

操作碼目的操作數(shù)源操作數(shù)

無(wú)操作數(shù):控制類指令,如HLT(暫停指令)

單操作數(shù):只給出一個(gè)操作數(shù)地址,該操作數(shù)可在寄存器或存儲(chǔ)器中,或指令直接給出立即

數(shù),如INCAL;將AL中的容加1(增■指令)

雙操作數(shù):目的操作數(shù)源操作數(shù);一個(gè)操作數(shù)在寄存器中,另一個(gè)在寄存器或存儲(chǔ)器中,

或指令中直接給出立即數(shù),不允許兩個(gè)都在存儲(chǔ)器中,目的操作數(shù)是一個(gè)地址

操作數(shù)的來(lái)源:

1.指令中:MOVAX,1234H

2.寄存器中:MOVAX,BX

3.存儲(chǔ)器中:MOVAX,[1234H]

1、立即尋址

操作數(shù)(為一常數(shù))直接由指令給出(此操作數(shù)稱為立即數(shù))

立即尋址只能用于源操作數(shù)(立即數(shù)可以是8位,或16位)

例:MOVAX,1C8FH

MOVBYTEPTR[2A00H],8FH(BYTEPTR指字節(jié)單元)

MOVAL,01H

錯(cuò)誤例:

xMOV2A00H.AX;錯(cuò)誤!

指令操作例:MOVAX,3102H;AX-?3102H

執(zhí)行后,(AH)=31H,(AL)=02H

主要用來(lái)給寄存器賦初值

2、寄存器尋址

(1)操作數(shù)放在某個(gè)寄存器中

(2)源操作數(shù)與目的操作數(shù)字長(zhǎng)要相同

(3)寄存器尋址與段地址無(wú)關(guān)

(4)注意:CS不能當(dāng)目的操作數(shù)!

例:

MOVAX,BX

MOV[3F00H],AX

MOVCL,AL

錯(cuò)誤例:

xMOVAX,BL;字長(zhǎng)不同

xMOVES:AX,DX;寄存器與段無(wú)關(guān)

3、直接尋址

(1)指令中直接給出操作數(shù)的16位偏移地址偏移地址也稱為有效地址(EA,Effective

Address)

(2)默認(rèn)的段寄存器為DS,但也可以顯式地指定其他段寄存器——稱為段超越前綴

(3)偏移地址也可用符號(hào)地址來(lái)表示,如ADDR、VAR

例:MOVAL,[2A00H](2A00H容存入AL中)

MOVAX,[2A00H](2A00H容存入AL中,2A01H容存入AH中)

MOVDX,ES:[2A00H](段超前)P54

MOVSI,TABLE_PTR

加了[]表示存儲(chǔ)單元的地址,

4、間接尋址

操作數(shù)的偏移地址(有效地址EA)放在寄存器中

以SI、DI、BX間接尋址,操作數(shù)在當(dāng)前數(shù)據(jù)段(DS)區(qū)域中,即數(shù)據(jù)段寄存器DS乘

以16加上SI.DI或BX中的16位偏移量后作為操作數(shù)的物理地址例如指令MOVAX,[SI]

中,源操作數(shù)的物理地址是DSx16+SI

以寄存器BP間接尋址時(shí),操作數(shù)在堆棧段(SS)區(qū)域中,即堆棧寄存器SS乘以16與

BP的容相加作為操作數(shù)的物理地址。若在指令中規(guī)定是段超越的,則BP的容也可以與其

他段寄存器相加,如MOVAX,DS:[BP]的源操作數(shù)的物理地址是DSF6+BP

例:MOVAX,[BX]

MOVCL,CS:[DI]

錯(cuò)誤例:xMOVAX,[DX]

xMOVCL,[AX]

xMOV[SP],AX

5、寄存器變址尋址

EA=間址寄存器的容加上一個(gè)8/16位的位移量

例:MOVAX,[BX+8]

MOVCX,TABLE[SI]

MOVAX,[BP];默認(rèn)段寄存器為SS

指令操作例:MOVAX,DATA[BX]

若(DS)=6000H,(BX)=1000H,DATA=2A00H,

(63A00H)=66H,(63A01H)=55H

則物理地址=60000H+1000H+2A00H=63A00H

指令執(zhí)行后:(AX)=5566H

6、相對(duì)基址變址尋址

在基址-變址尋址的基礎(chǔ)上再加上一個(gè)相對(duì)位移量

EA=(BX)+(SI)或(DI)+8位或16位位移量;

EA=(BP)+(SI)或(DI)+8位或16位位移量

若操作數(shù)的偏移地址:

由基址寄存器(BX或BP)給出——基址尋址方式

由變址寄存器(SI或DI)給出——變址尋址方式

同一組的寄存器不能同時(shí)出現(xiàn)。

注意:除了有段跨越前綴的情況外,當(dāng)基址寄存器為BX時(shí),操作數(shù)應(yīng)該存放在數(shù)據(jù)段DS

中,當(dāng)基址寄存器為BP時(shí),操作數(shù)應(yīng)放在堆棧段SS中。例:

MOVAX,[BX+SI]

MOVAX,DS:[BP][DI]

指令操作例:MOVAX,[BX][SI]

假定:(DS)=8000H,(BX)=2000H,SI=1000H

貝物理地址=80000H+2000H+1000H=83000H

指令執(zhí)行后:(AL)=[83000H]

(AH)=[83001H]

指令操作例:MOVAX,DATA[DI][BX]

若(DS)=8000H,(BX)=2000H,(DI)=1000H,DATA=200H

則指令執(zhí)行后(AH)=[83021H],(AL)=[83020H]

尋址方式操作數(shù)默認(rèn)段

寄存器

立即尋址Data無(wú)

寄存器尋址寄存器無(wú)

直接尋址[Data]DS

存寄存器間接尋址[BX],[SI],[DI]DS

儲(chǔ)相對(duì)基址/變址尋址偏移量DS

器[BP]+偏移量SS

|BP]+[SI],[DIJSS

基址變址尋址[BX]+[SI],[DI]DS

相對(duì)基址變址尋址[BX][SIorD“+偏移量DS

[BPJ[SIorDI]+偏移量SS

寄存器間接、寄存器相對(duì)、基址變址、相對(duì)基址變址四種尋址方式的比較:

尋址方式指令操作數(shù)形式

寄存器間接只有一個(gè)寄存器(BX/BP/SI/DI之一)

寄存器相對(duì)一個(gè)寄存器加上位移量

基址一變址兩個(gè)不同類別的寄存器

相對(duì)基址-變址兩個(gè)不同類別的寄存器加上位移量

二、地址尋址方式(了解有4類,能判斷)

簡(jiǎn)要判斷依據(jù)(指令中間的單詞):

段直接short,near

段間接word

段間直接far

段間間接dword

第一節(jié)8086指令系統(tǒng)

一、數(shù)據(jù)傳送指令(重點(diǎn)2)

1、通用傳送指令

(1)MOVdest,src;dest-src

傳送的是字節(jié)還是字取決于指令中涉及的寄存器是8位還是16位。

傳送指令不影響標(biāo)志位

具體來(lái)說(shuō)可實(shí)現(xiàn):

①寄存器間(除CSJP)實(shí)現(xiàn)數(shù)據(jù)任意傳送

MOVBX,AX

MOVBH,AL

MOVSI,BP

指令中兩操作數(shù)中至少有一個(gè)為寄存器

②立即數(shù)送寄存器

MOVBX,50H;

MOVBX,500H;

MOVAX,0(AX清零)

MOVAX,12H=MOVAL,12H

MOVAL,1000Hx

③立即數(shù)送存儲(chǔ)單元

MOV[BX],500H(將00H送入存儲(chǔ)器數(shù)據(jù)段中偏移地址BX的字節(jié)單元;將05H

送入偏移地址為BX+1的字節(jié)單元)

MOVBYTEPTR[2000H],25H(完成將存儲(chǔ)器數(shù)據(jù)段中偏移地址為2000H的字

節(jié)單元賦值為25H)

MOVWORDPTR[2000H],25H(將存儲(chǔ)器數(shù)據(jù)段偏移地址為2000H的字節(jié)單元

賦值為25H同時(shí)將偏移地址為2001H的字節(jié)單元賦值為0)

物理地址=段基址*10H+EA

④存儲(chǔ)單元送寄存器

MOVAX,[BX]取數(shù)據(jù)(將存儲(chǔ)器偏移地址為BX所指的字節(jié)單元容送AL,BX+1

所指的字節(jié)容送AH)

⑤寄存器送存儲(chǔ)單元

MOV[BX],AX(將AL的字節(jié)單元容送偏移地址為BX,AH的字節(jié)容送BX+1)

⑥存儲(chǔ)單元/寄存器送段寄存器

MOV[BX],DS保護(hù)段地址

MovDS,[BX]給地址賦值

⑦段寄存器送存儲(chǔ)單元/寄存器

MOVDS,AX給段地址賦值

MOVAX,DS保護(hù)段地址

立即數(shù)

儲(chǔ)通用寄存器

器AXBXCXDX

BPSPSIDI3

段寄存器

DSESSS

MOV指令的使用規(guī)則

1.兩個(gè)操作數(shù)的類型必須一致;

2.兩個(gè)操作數(shù)不能同時(shí)為存儲(chǔ)器操作數(shù);可寫成:MOVAX,[SI];MOV[DI],AX

3.不能用CS做旦典操作數(shù);

4.不允許用立即數(shù)做旦蚪操作數(shù);要寫成:MOVAX,~H;MOVDS,AX

5.不允許立即數(shù)直接向段寄存器傳送數(shù)據(jù);

6.不允許在段寄存器之間直接傳送數(shù)據(jù)。

7.MOV指令可傳送8位數(shù)據(jù),也可傳送16位數(shù)據(jù)

(2\堆棧指令

什么是堆棧?

按“后進(jìn)先出(LIFO)”方式工作的存儲(chǔ)區(qū)域。堆棧以字為單位進(jìn)行壓入彈出操作。

規(guī)定由SS指示堆棧段的段基址,堆棧指針SP始終指向堆棧的頂部,SP的初值規(guī)定了

所用堆棧區(qū)的大小。堆棧的最高地址叫棧底。

棧頂是堆棧操作的唯一出口,是棧地址較小的一端,棧底是不變的,為加快堆棧操作的速

度,均以字為單位進(jìn)行,一次操作只能是SP+2(出棧)或SP-2(入棧)

①壓棧指令PUSH

PUSHsrc;src為16位操作數(shù)

(因?yàn)橄热氲臄?shù)據(jù)會(huì)被壓入棧底,而后的數(shù)據(jù)地址會(huì)越來(lái)越小)

例:PUSHAX;將AX容壓棧

執(zhí)行操作:SP-(SP)-1

[SP]一高字節(jié)AH

SP-(SP)-1

[SP]一低字節(jié)AL

故(SP)-(SP)-2

注意進(jìn)棧方向是高地址向低地址發(fā)展。'

②出棧指令POP

POPdest

執(zhí)行操作:OPRD的低字節(jié)~[SP]

SP+SP+1

OPRD的高字節(jié)-[SP]

SP-SP+1

例:POPBX;將棧頂容彈至BX

執(zhí)行操作:(BL)一(SP)

(BH)+(SP)+1

(SP)-(SP)+2

堆棧指令在使用時(shí)需注意的幾點(diǎn):

①堆棧操作總是按字進(jìn)行

②不能從棧頂彈出一個(gè)字給CS

③堆棧指針為SS:SP,SP永遠(yuǎn)指向棧頂

@SP自動(dòng)進(jìn)行增減量(-2,+2)

(3X交換指令XCHG

格式:XCHGreg,mem/reg

功能:交換兩操作數(shù)的容。

要求:兩操作數(shù)中必須有一個(gè)在寄存器中;

操作數(shù)不能為段寄存器和立即數(shù);

源和目地操作數(shù)類型要一致。

舉例:XCHGAX,BX將AX與BX的值相交換

XCHG[2000],CL將CL與數(shù)據(jù)段中偏移地址為2000H的單元交換

(4)查表指令XLAT

執(zhí)行的操作:AL-[(BX)+(AL)]

又叫查表轉(zhuǎn)換指令,它可根據(jù)表項(xiàng)序號(hào)查出表中對(duì)應(yīng)代碼的容。執(zhí)行時(shí)先將地直典偏

移地址)送到BX中,待查的碼存于AL中。(使用之前要有相應(yīng)的設(shè)置)

實(shí)驗(yàn)一(8255)中涉及

2、累加器輸入輸出指令

只限于用累加器AL或AX來(lái)傳送信息。

功能:(累加器)--I/O端口

(1)輸入指令I(lǐng)N

格式:

IN累加器,端口端口號(hào)0~255(OOH-FFH)(28-1)8位立即數(shù)直接給出

IN累加器,DX;DX表示的端口圍達(dá)64K

例:INAL,80H;(AL)一(80H端口)字節(jié)

INAL,DX;(AL)一((DX))

INALn(從端口地址為n的端口)

INAX,n(AH-[n+1],AL-[n])

INAL,DX(從端口地址DX指明的端口讀一個(gè)字節(jié)直接送AL)

INAX,DX(AH-[DX+1],ALTDX])字,相鄰的兩個(gè)單位的容送到AX中

例INAL,40H,CS=1000H,IP=0050H,8位端口40H中容為55H

端口40H的容55H送入寄存器AL中

⑵輸出指令OUT

格式:OUT端口,累加器

OUTDX,累加器

(CPU寫數(shù)據(jù)到外設(shè)當(dāng)中)

例:OUT68H,AX;(69H,68H)-(AX)

OUTDX,AL;((DX))-(AL)

在使用間接尋址的IN/OUT指令時(shí),要事先用傳送指令把I/。端口號(hào)設(shè)置到DX寄存器

如:MOVDX,220H

INAL,DX;將220H端口容讀入AL

如OUTDX,AL,(AL=66H);將累加器AL中的數(shù)據(jù)字節(jié)66H,輸出到DX指定的端口

3、目標(biāo)地址傳送指令

(1)LEA

傳送偏移地址

格式:LEAreg,mem;將指定存單元的偏移地址送到指定寄存器

LEABX,[2000H];把2000H單元的偏移地址送到BX,執(zhí)行后BX=2000H

要求:

1)源操作數(shù)必須是一個(gè)存儲(chǔ)器操作數(shù);

2)目的操作數(shù)必須是一個(gè)16位的通用寄存器。

例:LEABX,[SI+10H]

設(shè):(SI)=1000H

則執(zhí)行該指令后,(BX)=1010H

注意以下二條指令差別:

LEABX,BUFFER

MOVBX,BUFFER

前者表示將符號(hào)地址為BUFFER的存儲(chǔ)單元的偏移地址取到BX中;后者表示將BUFFER

存儲(chǔ)單元中的容取到BX中。

下面兩條指令等效:

LEABX,BUFFER

MOVBX,OFFSETBUFFER

其中OFFSETBUFFER表示存儲(chǔ)器單元BUFFER的偏移地址。

二者都可用于取存儲(chǔ)器單元的偏移地址,但LEA指令可以取動(dòng)態(tài)的地址,OFFSET只能取

靜態(tài)的地址。

(2)LDS

功能:完成一個(gè)地址指針的傳送,地址指針包括段地址部分和偏移量部分。前兩個(gè)字節(jié)偏移

量部分送入一個(gè)16位的指針寄存器或變址寄存器,后兩字節(jié),段地址送入DS,

例如:指令“LDSSIJ2000H]”,將當(dāng)前數(shù)據(jù)段2000H及2001H單元的容送SI,同時(shí)將2002H

及2003H單元的容送DS

(3)LES

功能:除將段地址送入ES外,其他與LDS指令相同

標(biāo)志寄存器傳送

⑴LAHF(LOADAHWITHFLAG)

將標(biāo)志寄存器中的SF、ZF、AF、PF和CF(即低8位)傳送至AH寄存器的指定位,

空位沒有定義。

(2)SAHF(STOREAHWITHFLAG)

將寄存器AH的指定位,送至標(biāo)志寄存器的SF、ZF、AF、PF和CF位。根據(jù)AH的

容,影響上述標(biāo)志位,對(duì)0、D和I無(wú)影響。

(3)PUSHF(Pushflag)

將標(biāo)志寄存器壓入堆棧頂部,同時(shí)修改堆棧指針(此指令不影響標(biāo)志寄存器)

(4)POPF(Popflag)

將堆棧頂部的一個(gè)字傳送到標(biāo)志寄存器中,同時(shí)修改堆棧指針

(完成出棧入棧的地址應(yīng)該相同PUSHF與POPF是成對(duì)出現(xiàn)的,入棧指針前SP送入

標(biāo)志寄存器,出棧后將SP送入寄存器,看標(biāo)志寄存器的值是否相同)

二、算術(shù)運(yùn)算指令(會(huì)影響標(biāo)志位)

1、加法指令

(1)不帶進(jìn)位的加法指令A(yù)DD

格式:ADD0PRD1.0PRD2

源操作數(shù):8/16位通用寄存器,存儲(chǔ)器,立即數(shù)

目的操作數(shù):8/16位通用寄存器,存儲(chǔ)器

ADD寄存器,立即數(shù)

ADDAL,30AL與立即數(shù)30相加,結(jié)果放在AL中

ADD存儲(chǔ)器1/寄存器1,存儲(chǔ)器2/寄存器2

實(shí)例:

ADDAL,30H(AL與立即數(shù)30相加,結(jié)果放在AL中)

ADDSI,[BX+20H](SI與BX+20H及BX+21H兩單元組成的一個(gè)字相

加,結(jié)果放在SI中)

ADDCX,SI(SI的容與CX的容相加,結(jié)果放在CX中)

ADD[DI],200H(立即數(shù)200H與存儲(chǔ)器容相加,結(jié)果放在存儲(chǔ)器中)

?ADD指令對(duì)6個(gè)狀態(tài)標(biāo)志均產(chǎn)生影響。

例:已知(BX)=D75FH

指令A(yù)DDBX,8046H執(zhí)行后,狀態(tài)標(biāo)志各是多少?

D75FH=1110011101011111

8046H=1000000001000110

111111

0110011110100101

結(jié)果:因?yàn)樽罡呶挥羞M(jìn)位,故CF=1;最后8位有4個(gè)1,故PF=1;最后4位向第5位有

進(jìn)位,故AF=1;運(yùn)算結(jié)果不全為0,故ZF=0;最高位為0,故SF=0;有溢出,故OF=1

加法指令結(jié)果存放在0PRD1

判斷溢出與進(jìn)位(重點(diǎn)層)

從硬件的角度:默認(rèn)參與運(yùn)算的操作數(shù)都是有符號(hào)數(shù),當(dāng)兩數(shù)的符號(hào)位相同,而和的結(jié)果相

異時(shí)有溢出,貝I0F=1,否貝ijOF=0

(2)帶進(jìn)位的加法ADC

ADC指令在形式上和功能上與ADD類似,只是相加時(shí)還要包括進(jìn)位標(biāo)志CF的容,例如:

ADCAL,68H;AL-(AL)+68H+(CF)

ADCAX,CX;AX-(AX)+(CX)+(CF)

ADCBX,[DI];BX-(BX)+[DI+1][DI]+(CF)

ADC指令一般用于16位以上的多字節(jié)數(shù)字相加

(3)加1指令I(lǐng)NC

格式:INCreg/mem

功能:類似于C語(yǔ)言中的++操作:對(duì)指定的操作數(shù)加1

例:INCAL

INCSI

INCBYTEPTR[BX+4](知道字節(jié)力口1)

注:本指令不影響CF標(biāo)志。

(4)非壓縮BCD碼加法調(diào)整指令A(yù)AA

AAA指令的操作:

如果AL的低4位>9或AF=1,貝ij:

①AL~(AL)+6,(AH)-(AH)+1,AF-1

②AL高4位清零

③CF-AF

否則AL高4位清零

(5)壓縮BCD碼加法調(diào)整指令DAA

兩個(gè)壓縮BCD碼相加結(jié)果在AL中,通過DAA調(diào)整得到一個(gè)正確的壓縮BCD碼.

指令操作(調(diào)整方法):

若AL的低4位>9或AF=1

則(AL)-(AL)+6,AF-1

若AL的高4位>9或CF=1

則(AL)*(AL)+60H,CF-1

除OF外,DAA指令影響所有其它標(biāo)志。

DAA指令應(yīng)緊跟在ADD或4OC指令之后。

2、減法指令

(1)不考慮借位的減法指令SUB

格式:SUBOPRD1.OPRD2

操作:dest^OPRD1-OPRD2

注:1.源和目的操作數(shù)不能同時(shí)為存儲(chǔ)器操作數(shù)

2.立即數(shù)不能作為目的操作數(shù)

3.不能進(jìn)行段寄存器減法

指令例子:

SUBAL,60H

SUB[BX+20H],DX

SUBAX,CX

(2)考慮借位的減法指令SBB

SBB指令主要用于多字節(jié)的減法。

格式:SBBdest,sre

操作:dest?-(dest)-(src)-(CF)

指令例子:

SBBAX,CX

SBBWORDPTR[SI],2080H

SBB[SI],DX

(3)減1指令DEC

作用類似于C語(yǔ)言中的“--”操作符。

格式:DECopr

操作:opr-(opr)-1

在循環(huán)程序中,該指令對(duì)地址指針和循環(huán)計(jì)數(shù)值進(jìn)行修改(執(zhí)行一次,減1,直到位0)

指令例子:

DECCL

DECWORDPTR[DI+2]由DI+2尋址的數(shù)據(jù)段中,字存儲(chǔ)單元容減1

DECSI

(4)求補(bǔ)指令NEG

格式:NEGopr

操作:opr-O-(opr)(相當(dāng)于用0作被減數(shù)的SUB指令一樣,但進(jìn)位標(biāo)志為1)

對(duì)一個(gè)操作數(shù)取補(bǔ)碼相當(dāng)于用0減去此操作數(shù),故利用NEG指令可得到負(fù)數(shù)的絕對(duì)值。

相當(dāng)于:NOTopr

INCopr

例:若(AL)=0FCH,則執(zhí)行NEGAL后,

(AL)=04H,CF=1

(5)比較指令CMP

格式:CMPOPRD1,OPRD2

操作:OPRD1-OPRD2

CMP也是執(zhí)行兩個(gè)操作數(shù)相減,但結(jié)果不送目標(biāo)操作數(shù),其結(jié)果只反映在標(biāo)志位上。

有符號(hào)數(shù),進(jìn)行比較后,溢出標(biāo)志位OF與符號(hào)標(biāo)志位SF的值相同時(shí),則OPRD1N

OPRD2,否貝ijOPRD1<OPRD2

無(wú)符號(hào)數(shù),CF=0,貝ijOPRD1>OPRD2,若CF=1,OPRD1<OPRD2

指令例子:

CMPAL,0AH

CMPCX,SI

CMPDI,[BX+03]

(2)源操作數(shù)和目的操作數(shù)不能同時(shí)為存儲(chǔ)器

(6)十進(jìn)制調(diào)制指令

例如十進(jìn)制數(shù)12,用BCD碼表示00010010,十進(jìn)制的每一位用二進(jìn)制數(shù)表示(4

位4位是二進(jìn)制,而相鄰的四位卻是十進(jìn)制的),故要調(diào)整

一類為壓縮BCD碼,即規(guī)定每個(gè)字節(jié)表示兩位BCD數(shù);另一類為非壓縮BCD碼,

即用一個(gè)字節(jié)表示1位BCD數(shù),因0~9可以用4位二進(jìn)制數(shù)表示(在字節(jié)的高4位

用0填充卜例如,十進(jìn)制數(shù)25,壓縮BCD數(shù)時(shí)為25H,非壓縮BCD數(shù)為0205H

減法調(diào)整指令A(yù)AS

對(duì)AL中由兩個(gè)非壓縮的BCD碼相減的結(jié)果進(jìn)行調(diào)整。調(diào)整操作為:

若AL的低4位>9或AF=1廁:

①AL~(AL)-6,AH*(AH)-1,AF-1

②AL的高4位清零

③CF-AF

否則:AL的高4位清零

壓縮BCD碼減法調(diào)整指令DAS

對(duì)AL中由兩個(gè)壓縮BCD碼相減的結(jié)果進(jìn)行調(diào)整。調(diào)整操作為:

若AL的低4位>9或AF=1,則:

AL-(AL)-6,且AF-1

若AL的高4位>9或CF=1,貝IJ:

AL-(AL)-60H,且CF-1

DAS對(duì)OF無(wú)定義,但影響其余標(biāo)志位。

DAS指令要求跟在減法指令之后。

3、乘法指令

進(jìn)行乘法時(shí):8位*8位-16位乘積

16位*16位->32位乘積

相乘后是雙倍長(zhǎng)的積

(1)無(wú)符號(hào)數(shù)的乘法指令MUL(MEM/REG)

格式:MULOPRD

操作:字節(jié)操作數(shù)(AX)*(AL)x(src)

其16位積的高8位放在AH中,低8位放在AL中(因?yàn)閮蓴?shù)相乘可以為10位或以上)

字操作數(shù)(DX,AX)*(AX)x(src)

其32位積的高16位放在DX中,低16位放在AX中

其中一個(gè)操作數(shù)默認(rèn)放在AL或AX中,而另外一個(gè)由OPRD給出,注意OPRD不能是其

即數(shù)

高位字節(jié)或高位字無(wú)效:即AH=0或DX=0,將CF和OF兩標(biāo)志位同時(shí)0(因?yàn)楦呶蝗珵?/p>

0,肯定不存在溢出和進(jìn)位)

高位字節(jié)或高位字有效:即AH*0,或DX*0,即將CF和OF同時(shí)置1(高位不全為1)

指令例子:

MULBL;(AL)x(BL),乘積在AX中

MULCX;(AX)x(CX),乘積在DX.AX中

MULBYTEPTR[BX]

(2)有符號(hào)數(shù)乘法指令I(lǐng)MUL

格式與MUL指令類似,只是要求兩操作數(shù)均為線苣數(shù)。

指令例子:

IMULBL;(AX)-(AL)x(BL)

IMULWORDPTR[SI];

(DX,AX)HAX)X([SI+1][SI])

注意:MUL/IMUL指令中

?AL(AX)為隱含的乘數(shù)寄存器;(其中一個(gè)操作數(shù)默認(rèn)放在AL或AX中,而另一個(gè)操作數(shù)

由指令給出)

?AX(DX,AX)為隱含的乘積寄存器;

?OPRD不能為立即數(shù);

?除CF和OF外,對(duì)其它標(biāo)志位無(wú)定義。

?8位數(shù)相乘,結(jié)果16位數(shù)放在AX中,16位數(shù)相乘結(jié)果為32位數(shù),其中高16位放在

DX中,低16位放在AX中。

4、除法指令

進(jìn)行除法時(shí):16位/8位-8位商

32位/16位f16位商

對(duì)被除數(shù)、商及余數(shù)存放有如下規(guī)定:

被除數(shù)商余數(shù)

字節(jié)除法AXALAH

字除法DX:AXAXDX

字節(jié)運(yùn)算時(shí)被除數(shù)放在AX中,運(yùn)算結(jié)果商放在AL中,而余數(shù)放在AH中;字運(yùn)算時(shí)被除

數(shù)位DX與AX構(gòu)成32位數(shù)(DX中放高16位),運(yùn)算結(jié)果的商放在AX中,而余數(shù)放在

DX中

(1)無(wú)符號(hào)數(shù)除法指令DIV

格式:DIVsrc

操作:字節(jié)操作(AL)一(AX)/(SRC)的商

(AH)=(AX)/(SRC)的余數(shù)

字操作(AX)一(DX,AX)/(SRC)的商

(DX)-(DX,AX)/(SRC)的余數(shù)

指令例子:

DIVCL

DIVWORDPTR[BX]

(2)有符號(hào)數(shù)除法指令I(lǐng)DIV

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。