微機原理第四章:指令系統(tǒng)_第1頁
微機原理第四章:指令系統(tǒng)_第2頁
微機原理第四章:指令系統(tǒng)_第3頁
微機原理第四章:指令系統(tǒng)_第4頁
微機原理第四章:指令系統(tǒng)_第5頁
已閱讀5頁,還剩85頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第四章80X86CPU的指令系統(tǒng)內(nèi)容提要:★

從指令尋址方式出發(fā),介紹數(shù)據(jù)操作數(shù)、地址操作數(shù)的類型和尋址方式、8086的指令格式和指令機器碼的概念;★

重點講述8086中指令的功能和對標志位的影響等;★

簡單程序的編制。學(xué)習(xí)要點:

掌握8086指令中操作數(shù)的類型、指令格式、尋址方式;

掌握常用指令的功能和使用方法;

掌握指令的助記符,操作數(shù)的正確書寫法;

了解指令執(zhí)行后對標志的影響。本章主要內(nèi)容:1.了解:指令系統(tǒng)的一般概念★指令及指令系統(tǒng)★指令的格式★指令中的操作數(shù)類型2.掌握:對操作數(shù)的尋址方式3.掌握:六大類指令的操作原理

★操作碼的含義

★指令對操作數(shù)的要求

★指令執(zhí)行的結(jié)果第四章80X86CPU的指令系統(tǒng)基本概念1.指令:控制計算機完成某種操作的命令。2.指令系統(tǒng):處理器所能識別的所有指令的集合。3.指令的兼容性:同一系列機的指令都是兼容的,不同系列計算機有不同的指令系統(tǒng)。4.指令的符號:用規(guī)定的英文字母組成,稱為助記符。5.指令系統(tǒng)的特點:

指令語言是面向機器的語言,與計算機硬件有對應(yīng)關(guān)系;

用指令進行編程能充分開發(fā)計算機硬件資源,它產(chǎn)生的程序目標代碼短、運行速度快;

在運動控制、智能儀器儀表、監(jiān)測等領(lǐng)域應(yīng)用非常廣泛。4.18086的尋址方式

有關(guān)尋址的基本概念:1.尋址方式:指令中用于說明求出操作數(shù)有效地址的方法;2.尋址操作:根據(jù)尋址方式求出操作數(shù)有效地址的過程;3.為滿足程序設(shè)計需要,程序設(shè)計中可采用多種尋址方式:★指令中可直接寫出操作數(shù)本身★指令中可給出操作數(shù)的地址★指令中可給出操作數(shù)所在地址的地址4.8086指令系統(tǒng)中,按操作數(shù)的類型大致分為三類:★數(shù)據(jù)操作數(shù)★

(轉(zhuǎn)移)地址操作數(shù)★

I/O操作數(shù)4.18086的尋址方式一、數(shù)據(jù)操作數(shù)

指與數(shù)據(jù)有關(guān)的操作數(shù),即指令中操作的對象是數(shù)據(jù)。根據(jù)數(shù)據(jù)操作數(shù)在計算機中的不同位置可分為:1.立即數(shù)操作數(shù):指令中要操作的數(shù)據(jù)包含在指令中2.寄存器操作數(shù):指令中要操作的數(shù)據(jù)在指定的寄存器中3.存儲器操作數(shù):指令中要操作的數(shù)據(jù)在指定的存儲單元中4.I/O操作數(shù):指令中要操作的數(shù)據(jù)來自或送到I/O端口?!?/p>

本節(jié)著重講解數(shù)據(jù)操作數(shù)尋址方式4.18086的尋址方式二、地址操作數(shù)

地址操作數(shù)是與程序轉(zhuǎn)移地址有關(guān)的操作數(shù),即指令中操作的對象不是數(shù)據(jù),而是要轉(zhuǎn)移的目標地址?!锼部梢苑譃椋?/p>

1.立即數(shù)操作數(shù):即要轉(zhuǎn)移的目標地址包含在指令中

2.寄存器操作數(shù):轉(zhuǎn)移的目標地址存放在寄存器中

3.存儲器操作數(shù):轉(zhuǎn)移的目標地址存放在存儲單元之中★

在調(diào)用指令或轉(zhuǎn)移指令中,這類操作數(shù)指出是:程序要轉(zhuǎn)移的目的地址?!锏刂凡僮鲾?shù)的尋址方式將在轉(zhuǎn)移指令中介紹。4.18086的尋址方式三、指令中操作數(shù)的個數(shù)★對于數(shù)據(jù)操作數(shù)▲一些指令只有一個操作數(shù),或沒有(或隱含)操作數(shù)▲有些指令具有兩個操作數(shù):一個稱為源操作數(shù),在操作過程中其值不改變;另一個稱為目的操作數(shù),操作后一般被操作結(jié)果代替?!?/p>

對于地址操作數(shù)

指令中只有一個操作數(shù),它是一個供程序轉(zhuǎn)移的目標地址。4.18086的尋址方式四、數(shù)據(jù)操作數(shù)尋址的方式:八種基本的尋址方式1.立即尋址:操作數(shù)在指令中→立即操作數(shù)2.寄存器尋址:操作數(shù)在寄存器中→寄存器操作數(shù)3.直接尋址4.寄存器間接尋址5.寄存器相對尋址操作數(shù)在存儲器中→存儲器操作數(shù)6.基址變址尋址7.相對基址變址尋址8.I/O

操作數(shù)尋址:操作數(shù)在I/O端口中→I/O端口操作數(shù)★

3~7

種尋址方式屬于存儲器尋址,需通過計算的方法來確定操作數(shù)所在存儲單元的有效地址EA★

I/O

操作數(shù)尋址將在輸入輸出指令部分介紹4.1.1立即數(shù)的尋址方式

立即尋址:即指令中直接給出操作數(shù)。操作數(shù)與指令代碼一起放在碼段中。例如:MOVAX,1234H;AX1234H

源操作數(shù)的尋址方式為立即尋址。執(zhí)行過程如下圖所示:

立即尋址通常用于二地址指令中,且只能是源操作數(shù)?!飻?shù)據(jù)傳送應(yīng)理解為復(fù)制傳送,源操作數(shù)不會因為傳送而丟失。4.1.2寄存器數(shù)的尋址方式

★寄存器尋址:操作數(shù)在寄存器中,指令中給出寄存器名。例如:MOVAX,1234H;目的操作數(shù)采用寄存器尋址

MOVDX,AX;目的和源操作數(shù)均采用寄存器尋址★

16位操作數(shù),寄存器可用:

AX、BX、CX、DX、SI、DI、SP、BP、CS、DS、ES、SS;★

8位操作數(shù),寄存器可用:

AH、AL、BH、BL、CH、CL、DH、DL;4.1.2寄存器數(shù)的尋址方式寄存器尋址特點:1.因操作數(shù)在寄存器中,指令執(zhí)行時的操作就在

CPU的內(nèi)部進行,不需要通過訪問存儲器來獲得操作數(shù),因而

執(zhí)行速度快。2.寄存器代碼符號比內(nèi)存地址短,匯編后機器碼長度最短。3.dst

和SRC

均可采用寄存器尋址方式,也可以同時采用寄存器尋址方式。4.當指令中的

dst和

SRC

均為寄存器操作數(shù)時,必須采用同樣長度(字或字節(jié))的寄存器;5.兩個操作數(shù)不能同時為段寄存器;6.目的操作數(shù)不能是代碼段寄存器

CS。4.1.3存儲器數(shù)的尋址方式

一、直接尋址

★當操作數(shù)在存儲器中時,有下面

5種尋址方式,統(tǒng)稱為:存儲器尋址方式?!镫p操作數(shù)指令中的兩個操作數(shù)不能同時為存儲器操作數(shù)?!?/p>

指令中給出操作數(shù)所在存儲單元的有效地址,默認為數(shù)據(jù)段?!?/p>

為了區(qū)別于立即數(shù),有效地址

EA

用方括號“[

]”括起。例如:MOVAX,[2000H]

;

MOV[1200H],AX;

MOVES:[0100H],AL

;

★根據(jù)指令中給出的有效地址

EA,得到存儲單元的物理地址:

PA=DS×16+EA4.1.3存儲器數(shù)的尋址方式直接尋址舉例:MOVAX,[2000H]1.指令中給出:EA=2000H

假設(shè):DS=4000H

物理地址:PA=42000H2.字在內(nèi)存中占兩個單元:低字節(jié)在前(低地址)高字節(jié)在后(高地址)3.以低字節(jié)的地址作為字的地址。4.把數(shù)據(jù)段中該內(nèi)存單元中的內(nèi)容送到AX中;4.1.3存儲器數(shù)的尋址方式一、直接尋址★

也允許在附加段、堆棧段、代碼段存取數(shù)據(jù),稱為“段跨越”。如例MOVES:[0100H],AL

;

ES:

段前綴操作符

操作數(shù)物理地址:PA=ESx16+0100H★

在匯編語言指令中,可以用符號地址代替數(shù)值地址如例VALUEDB12H,67H,100;數(shù)據(jù)定義

MOVAL,VALUE

尋址過程如圖所示:4.1.3存儲器數(shù)的尋址方式二、寄存器間接尋址操作數(shù)的EA在REG中,指令中給出存放EA的寄存器名1.因為

EA是16位,存放

EA所使用的寄存器必須是16位的;2.用于間接尋址的寄存器有:基址寄存器BX、BP

;變址寄存器SI、DI。3.為了區(qū)別于寄存器尋址,寄存器名用“[

]”括起。4.不同的寄存器所隱含對應(yīng)的段不同。

★采用

SI、DI、BX

寄存器時,在數(shù)據(jù)段尋址;★采用

BP

寄存器時,在堆棧段尋址;★操作數(shù)的物理地址為:

PA=DS16+SI/DI/BXPA=SS10H+BP4.1.3存儲器數(shù)的尋址方式二、寄存器間接尋址例

MOVAX,[SI]MOV[BX],1234HMOVBX,[BP]寄存器間接尋址的過程如圖所示4.1.3存儲器數(shù)的尋址方式三、寄存器相對尋址:EA由兩部分組成例

MOVAL,8[BX]MOVAX,COUNT[SI]ADDAX,

[BP

+20H]INC[1000H+BP]MOV[BX]+50

,DI▲

一部分存于指令中給出的寄存器中;▲一部分以位移量的方式直接在指令中給出。☆

位移量是符號數(shù):如

8、20H、50、1000H或符號常量

COUNT☆

8位位移量的范圍為:0H~0FFH(+127~-128)

16位位移量的范圍為:0H~0FFFFH(+32765~-32768)

根據(jù)所用寄存器的不同,對應(yīng)的段不同。規(guī)律同寄存器尋址。4.1.3存儲器數(shù)的尋址方式三、寄存器相對尋址:例:MOVAL,

[BX

+8]設(shè):DS=3000HBX=100H寄存器相對尋址過程如圖所示4.1.3存儲器數(shù)的尋址方式四、基址變址尋址:EA由兩部分構(gòu)成1.一部分在基址寄存器

BX

或BP

中;一部分在變址寄存器

DX

DI

中;在指令中分別給出兩個寄存器名。操作數(shù)的有效地址

EA

為:

EA1=BX+SI/DI

或:EA2=BP+SI/DI2.當基址寄存器使用

BX時,約定在數(shù)據(jù)段尋址;3.當基址寄存器使用

BP時,約定在堆棧段尋址;

操作數(shù)的

物理地址

PA

為:

PA1=DSX10H+EA1

PA2=SSX10H+EA24.1.3存儲器數(shù)的尋址方式四、基址變址尋址

例:

MOVAX,ES:[BX+DI]MOVAL,[BP][SI]基址變址的尋址過程

設(shè):SS=3000HBP=100H,SI=5存儲單元的

PA為:SSX16+BP+SI內(nèi)存單元中的數(shù)據(jù)送到AL中

4.1.3存儲器數(shù)的尋址方式五、相對基址加變址尋址:EA由三部分構(gòu)成1.一部分在基址寄存器

BX或

BP中;一部分在于變址寄存器

SI或

DI中;一部分為位移量。在指令中分別給出兩個寄存器名及

8位或

16位的偏移量操作數(shù)的

有效地址

EA

為:

EA1=BX+SI/DI+D8/D16

或:EA2=BP+SI/DI+D8/D162.當基址寄存器選用

BX時,數(shù)據(jù)隱含存于數(shù)據(jù)段中;3.當基址寄存器選用

BP時,數(shù)據(jù)隱含存于堆棧段中,操作數(shù)的

物理地址

PA為:

PA1=DSX10H+EA1

PA2=SSX10H+EA14.1.3存儲器數(shù)的尋址方式五、相對基址加變址尋址

例MOVAX,[BX+SI+5]MOVAL,5[BP][SI]內(nèi)存單元中的數(shù)據(jù)送到AL中

存儲單元的

PA為SSX16+BP+SI+5

設(shè):SS=2000HBP=1000HSI=100H相對基址變址的尋址過程4.1.3存儲器數(shù)的尋址方式——

小結(jié)

1.除立即尋址和寄存器尋址外,其它五種尋址的操作數(shù)均來自存儲器,指令中提供了

EA

EA

的計算方法。2.只有

BX、BP、SI、DI

可以出現(xiàn)在方括號[]中。3.BX

BP、SI

和DI

不能同時出現(xiàn)在方括號[]中。4.方括號[]

內(nèi)包括多項內(nèi)容時,它們只能做加法運算。5.若方括號[]

內(nèi)包括有

BP

時,則約定在堆棧段尋址,其余均在數(shù)據(jù)段內(nèi)尋址。6.存儲器操作數(shù)的物理地址

PA

,需通過地址加法器計算才能獲得。4.1.3存儲器數(shù)的尋址方式——

小結(jié)說明:disp表示符號地址、8位或16位的位移量基址變址接尋址PA=DS×16+PA=SS×16+BX+SIBX+DIBP+SIBP+DI相對基址變址尋址PA=DS×16+PA=SS×16+BX+SI+dispBX+DI+dispBP+SI+dispBP+DI+disp寄存器間接尋址BXSIDIPA=DS×16+PA=SS×16+BPBX+dispSI+dispDI+disp

PA=DS×16+PA=SS×16+BP+disp寄存器相對尋址4.28086的指令格式

4.2.1指令的基本格式與構(gòu)成★

匯編語言的指令語句與機器指令一一對應(yīng)的,經(jīng)匯編程序?qū)⑵浞g成指令代碼(目標代碼),讓CPU

執(zhí)行某種操作。★指令中應(yīng)包含的信息:執(zhí)行的操作;運算數(shù)據(jù)的來源;運算結(jié)果的去向。一、指令的基本格式指令的編寫必須滿足一定格式,便于機器能夠識別指令,

8086的每條指令由1~4個部分組成,格式如下:[標識符]指令助記符[操作數(shù)][;注解]

每部分之間用空格分開;方括號中的部分,可有可無。4.2.1指令的基本格式與構(gòu)成一、指令的基本格式標識符指令助符操作數(shù);注釋,8086指令的基本格式也可用下圖來表示:圓頭方框表示是語句中的關(guān)鍵字重復(fù)項之間用逗號隔開由后向前的箭頭表示是重復(fù)項由前向后的箭頭表示是可選項4.2.1指令的基本格式與構(gòu)成一、指令的基本格式標識符指令助符操作數(shù);注釋,★

指令語句中的關(guān)鍵字,不可缺?。皇侵噶畈僮黝愋偷拇矸枴镏噶钪浄那懊婵杉由隙鄠€“前綴”,從而實現(xiàn)某些附加操作1.標識符2.指令助記符★給指令或某一存儲單元所在地址起的名字。由字母、數(shù)字、下劃線組成,首字符不能為數(shù)字,最長為31個字符★標識符后跟冒號時,表示是標號。代表該行指令的起始地址★標識符后不帶冒號時,表示變量。偽指令前的標識符不加冒號

4.2.1指令的基本格式與構(gòu)成一、指令的基本格式標識符指令助符操作數(shù);注釋,3.操作數(shù)4.注釋

是參加本指令運算的對象,有些指令不需要操作數(shù),可以缺省;★有些指令需要兩個操作數(shù),這時必須用逗號將兩個操作數(shù)分開;★有些操作數(shù)可以用表達式來表示?!?/p>

是可選項,允許缺?。蝗绻麕ё⑨寗t必須用分號開頭;★注釋用來對指令功能以說明,方便閱讀程序,匯編程序不對它做任何處理。4.2.1指令的基本格式與構(gòu)成二、指令的構(gòu)成指令系統(tǒng)通常由幾十種或百余種指令組成,每種指令都是由兩個字段——操作碼字段和操作數(shù)字段所構(gòu)成。

操作碼操作數(shù)或操作數(shù)的地址★指出指令執(zhí)行操作所需要的操作數(shù)★操作數(shù)字段中,可以是操作數(shù)本身,也可以是操作數(shù)的地址或者是操作數(shù)地址的計算方法。1.操作碼字段★指示計算機所要執(zhí)行的操作類型★由一組二進制代碼表示,在匯編語言中又用助記符代表。2.操作數(shù)字段4.2.1指令的基本格式與構(gòu)成二、指令的構(gòu)成2.操作數(shù)字段:★指令中此字段通常可有一個或兩個操作數(shù),或無操作數(shù)。一個操作數(shù)稱為:單操作數(shù)指令;兩個操作數(shù)稱為:雙操作數(shù)指令;無操作數(shù)稱為:零操作數(shù)指令。★雙操作數(shù)又分別被稱為:目的操作數(shù)

dst(在前);

源操作數(shù)

src(在后)?!镌谥噶顖?zhí)行之前,

src和

dst均為參加運算處理的兩個操作數(shù),指令執(zhí)行后,

dst中存放的是運算處理的結(jié)果,源操作數(shù)不便。

4.2.2通用指令代碼格式★

8086的指令長度可在

1~6字節(jié)的范圍,如下圖所示

★B1、B2為基本字節(jié),B3~B6根據(jù)不同指令作相應(yīng)的安排B1B2B3B4B5B6OPREGR/MDWMOD543210767210LODDISP或DATAHIGHDISP或DATALODDATAHIGHDATA指令操作碼

尋址方式D=1:REG為dstD=0:REG為src

W=1:字指令

W=0:字節(jié)指令當MOD≠11時,有一個操作數(shù)位于存儲器中:

MOD=

00時:存儲器數(shù)無位移量

MOD=

01時:存儲器數(shù)有8位位移量

MOD=

10時:存儲器數(shù)有16位位移量R/M字段

4.2.2通用指令代碼格式B1B2B3B4B5B6OPREGR/MDWMOD543210767210LODDISP或DATAHIGHDISP或DATALODDATAHIGHDATAREG字段MOD=11時:此字段給出指令中第二個操作數(shù)所在的寄存器編碼;MOD≠11時:此字段指出指令中存儲器操作數(shù)的

PA的計算方法。表示指令中的一個寄存器操作數(shù)的編碼☆給出存儲器操作數(shù)地址的位移量或立即操作數(shù)?!钣蒑OD來決定位移量是

8位,還是

16位?!盍⒓床僮鲾?shù)位于位移量的后面?!钊糁噶钪袩o位移量,立即數(shù)就位于

B3B4字節(jié)B3~B6字節(jié)擁有133條基本指令,按功能分成六類:

1.數(shù)據(jù)傳送指令

2.算術(shù)運算指令

3.邏輯運算指令

4.串操作指令

5.控制轉(zhuǎn)移指令

6.處理器控制指令8086CPU的指令系統(tǒng)4.3數(shù)據(jù)傳送類指令★功能:用以實現(xiàn)

——數(shù)據(jù)傳送:★指令均含有兩個操作數(shù),該類指令按功能可分為

4小類:①通用數(shù)據(jù)傳送指令;②累加器專用傳送指令;③標志操作指令;④地址傳送指令?!锍?/p>

SAHF、POPF指令外,其它指令均不影響狀態(tài)標志位。

CPU的內(nèi)部寄存器之間;CPU的內(nèi)部寄存器和存儲器之間;CPU的內(nèi)部寄存器和

I/O端口之間的。4.3.1通用數(shù)據(jù)傳送指令1.傳送指令:MOV

格式:MOVdst,src功能:dst

src

MEM

SEG

immCS、IP除外CS、IP除外

REG

src:源操作數(shù);dst:目的操作數(shù)寄存器操作數(shù)立即操作數(shù)段寄存器操作數(shù)存儲器操作數(shù)4.3.1通用數(shù)據(jù)傳送指令2.堆棧操作指令入棧格式:PUSHsrc;src:{MEM,REG,SEG}

功能:將src指示的字數(shù)據(jù)壓入當前棧頂。出棧格式:POPdst

;dst:{MEM,REG,SEG}

功能:將當前棧頂?shù)淖謴棾龅絛st中,CS除外。3.交換指令格式:XCHGOPR1,OPR2;功能:將兩個操作數(shù)(字或字節(jié))相互交換位置。MEMREG4.3.2累加器專用傳送指令

1.輸入/輸出(I/O)指令

只能使用AL或AX寄存器與I/O設(shè)備進行數(shù)據(jù)交換?!钤擃愔噶罘譃橹苯訉ぶ泛图拇嫫鏖g接尋址兩種格式。

★直接尋址:指令中直接給出8位的端口地址PROT

輸入格式:INAL,PORT

;AL[PORT]

INAX,PORT

;AL[PORT]

;AH[PORT+1]

功能:將端口PORT中的字節(jié)/字傳送到AL/AX寄存器中。

輸出格式:

OUTPORT,AL

;[PORT]AL

OUTPORT,AX

;[PORT]AL

;[PORT+1]AH

功能:將AL/AX寄存器中的字節(jié)/字傳送到端口PORT中。4.3.2累加器專用傳送指令1.輸入/輸出(I/O)指令☆

直接尋址的I/O指令,尋址外設(shè)的端口地址范圍:0~255,☆間接尋址的I/O指令,尋址外設(shè)的端口地址范圍:0~65535?!镩g接尋址:必須用DX做間接尋址的寄存器輸入格式:INAL,DX

;AL[DX]

INAX,DX

;AL[DX]

;AH[DX+1]

功能:將DX指明的端口中的字節(jié)/字送到AL/AX寄存器中。輸出格式:OUTDX,AL

;[DX]AL

OUTDX,AX

;[DX]AL

;[DX+1]AH

功能:將AL/AX中的字節(jié)/字送到由DX指明的端口中。4.3.2累加器專用傳送指令2.換碼指令

格式:XLAT

;AL[DS×16+BX+AL]功能:將累加器AL中的一個值(碼)轉(zhuǎn)換為內(nèi)存表格(Table)中的某一個值后,再送回AL中?!?/p>

BX指向表首,AL的值為表內(nèi)指針;隱含尋址★使用XLAT指令之前,要求BX寄存器指向表的首地址;★

AL中存放待查的碼,它表示表中某一項與表首址的距離;★執(zhí)行時,將BX和AL的值相加得到一個有效地址,并將該地址單元中的值取到AL中,這就是查表轉(zhuǎn)換的結(jié)果。4.3.3標志操作指令

★此類指令共有

4條,均為單字節(jié)指令;★源操作數(shù)和目的操作數(shù)都隱含在操作碼中。1.低八位標志位送

AH指令

格式:LAHF

;功能:AHFR-L2.AH內(nèi)容送FR寄存器低八位指令格式:SAHF

;功能:FR-LAH3.FR寄存器的入棧指令格式:PUSHF

;功能:[SS×16+SP-2]FR4.FR寄存器的出棧指令格式:POPF

;功能:FR[SS×16+SP]

SP

SP+2D7AFCFPFSFFR-LD0ZF4.3.4地址傳送指令

該類指令傳送

MEM的地址到16位

REG中,而不是它的內(nèi)容。

1.有效地址EA傳送指令格式:LEAREG,MEM

;rsrc的EA

功能:將MEM操作數(shù)的有效地址EA送到寄存器REG中2.數(shù)據(jù)段寄存器DS傳送指令格式:LDSREG,MEM

;REG[MEM]

;DS[MEM+2]

功能:將MEM中的兩個字分別送到REG和DS中,REG通常用SI。3.附加段寄存器傳送指令LES

格式:LESREG,MEM

;REG[MEM]

;ES[MEM+2]

功能:將MEM中的兩個字分別送到REG和ES中,REG通常用DI。4.4算術(shù)運算類指令★該類指令包括加、減、乘、除四種基本運算指令,以及為適應(yīng)進行BCD碼運算而設(shè)置的各種校正指令共20條。

★五個類型:①加法指令;②減法指令;③乘法指令;

④除法指令;⑤十進制調(diào)整指令★數(shù)據(jù)形式:8/16位操作數(shù);數(shù)據(jù)類型:無符號數(shù)/帶符號數(shù);★加/減法指令對無符號/帶符號數(shù)可采用同一套指令;★乘/除法指令對無符號/帶符號數(shù)則不能采用同一套指令。★算術(shù)運算指令的特點有:1.除土1指令外,都有兩個操作數(shù);只有源操作數(shù)可為立即數(shù);必須有一個寄存器操作數(shù),單操作數(shù)指令不能使用立即數(shù)。2.執(zhí)行后,對狀態(tài)標志產(chǎn)生影響,但±1指令不影響

CF標志。1.不帶進位位CF加法指令:ADD

格式:ADDdst,src

;dstdst+src

2.帶進位位CF加法指令:ADC

格式:ADCdst,src

;dst

dst+src+CF3.加1指令:INC

格式:INCdst

;dstdst+14.4.1加法和減法指令(影響FR)一、加法類指令:(3條)

immREGMEM4.4.1加法和減法指令(影響FR)二、減法類指令:(

5條)

1.不帶借位減:SUB

格式:SUBdst,src

;dstdst-src2.帶借位減:SBB

格式:SBBdst,src

;dstdst-src

-CF3.求補指令:NEG

格式:NEGdst

;dst0-dst4.減1指令:DEC

格式:DECdst

;dstdst-1immREGMEM4.4.1加法和減法指令(影響FR)二、減法類指令:(

5條)5.比較指令:CMP

格式:CMPdst,src

;dst-src,不回送結(jié)果,只影響FR

該指令常用在條件轉(zhuǎn)移指令的前面,根據(jù)比較結(jié)果對FR中各標志狀態(tài)的影響,來判斷程序的走向是否產(chǎn)生轉(zhuǎn)移?!?/p>

有符號數(shù)比較:分兩種情況來討論①同符號數(shù)比較,相減時不會產(chǎn)生溢出,OF=0;可判SF的狀態(tài):dst≥src則SF=0dst<src則SF=1★

無符號數(shù)比較:直接判CF狀態(tài)dst≥src則CF=0;

dst<src則CF=1;②不同符號數(shù)比較

相減時可能產(chǎn)生溢出,要同時判SF和OF的狀態(tài)

無溢出時OF=0:dst≥src則SF=0dst<src則SF=1

有溢出時OF=1:dst≥src則SF=1dst<src則SF=0

由此可以得出結(jié)論當:dst≥srcSF⊕OF=0

當:dst<srcSF⊕OF=1★

有符號數(shù)比較:分兩種情況來討論有符號數(shù)比較條件轉(zhuǎn)移指令

JGdisp8;dst>srcJLdisp8;dst<srcJGEdisp8;dst≥srcJLEdisp8;dst≤src無符號數(shù)比較條件轉(zhuǎn)移指令

JAdisp8;dst>srcJBdisp8;dst<srcJAEdisp8;dst≥srcJBEdisp8;dst≤src4.4.2符號擴展指令

也稱為有符號數(shù)擴展專用指令,為隱含操作數(shù),共

2條。1.字節(jié)擴展成字指令CBW

格式:CBW

功能:將AL中的符號位擴展到AH中,AX為帶符號的16位數(shù)。2.字擴展成雙字指令CWD

格式:CWD

功能:將AX中的有符號數(shù)的符號位擴展到DX中,DX,AX中的數(shù)為帶符號的雙字。4.4.3乘法和除法指令

一、乘法類指令★分為無符號數(shù)乘法指令和帶符號數(shù)的乘法指令;★有兩個操作數(shù),被乘數(shù)隱含在

AL或AX中,運算規(guī)則如下圖所示操作數(shù)AX乘積被乘數(shù)被乘數(shù)乘數(shù)乘數(shù)乘積AXALAX操作數(shù)DX8位8位16位16位16位32位1.無符號數(shù)乘法指令MUL

格式:MULsrc

;src為{MEM,REG}

運算結(jié)果只影響OF和CF;SF、ZF、AF狀態(tài)不定。

4.4.3乘法和除法指令

一、乘法類指令★分為無符號數(shù)乘法指令和帶符號數(shù)的乘法指令;★有兩個操作數(shù),被乘數(shù)隱含在AL或AX中,運算規(guī)則如下圖所示操作數(shù)AX乘積被乘數(shù)被乘數(shù)乘數(shù)乘數(shù)乘積AXALAX操作數(shù)DX8位8位16位16位16位32位2.有符號數(shù)乘法指令I(lǐng)MUL

格式:IMULsrc

;src為{MEM,REG}★

當:CF=OF=0時:積的高半部分是低半部分符號位的擴展,全“0”或全“1”?!锂敚篊F=OF=1時:積大于8位或16位,AH或DX也是乘積的有效值(含符號)4.4.3乘法和除法指令二、除法類指令★分為無符號數(shù)除法指令和帶符號數(shù)的除法指令;★兩個操作數(shù),被乘數(shù)隱含在AX或AX、DX中,運算規(guī)則如下圖:★除法指令的約定:除數(shù)只能是被除數(shù)的一半字長;★運算結(jié)果影響

FR寄存器的狀態(tài)標志,但其狀態(tài)是不定的。1.無符號數(shù)除法指令DIV

格式:DIVsrc

;src為{MEM,REG}余數(shù)商操作數(shù)除數(shù)除數(shù)余數(shù)被除數(shù)被除數(shù)操作數(shù)商AHDXDXAXAXAXAL4.4.3乘法和除法指令二、除法類指令★分為無符號數(shù)除法指令和帶符號數(shù)的除法指令;★兩個操作數(shù),被乘數(shù)隱含在AX或AX、DX中,運算規(guī)則如下圖:2.有符號數(shù)除法指令I(lǐng)DIV

格式:IDIVsrc

;src為{MEM,REG}

余數(shù)符號同商的符號

●字節(jié)相除時:被除數(shù)應(yīng)擴展為16位

●字相除時:被除數(shù)應(yīng)擴展成32位無符號數(shù):對

AH清零有符號數(shù):有專用指令無符號數(shù):對DX清零有符號數(shù):有專用指令余數(shù)商操作數(shù)除數(shù)除數(shù)余數(shù)被除數(shù)被除數(shù)操作數(shù)商AHDXDXAXAXAXAL4.4.4十進制調(diào)整指令

★調(diào)整指令的約定:被調(diào)整的BCD碼運算結(jié)果應(yīng)放在AL中,

調(diào)整后正確的BCD碼自動返回AL中;★共有六種調(diào)整指令,均為隱含操作數(shù)。1.組合BCD碼加法調(diào)整指令(不影響OF的狀態(tài))格式:DAA;應(yīng)緊跟在ADD、ADC、INC指令之后2.組合BCD碼減法調(diào)整指令(不影響OF的狀態(tài))格式:DAS

;應(yīng)緊跟在SUB、SBB、DEC指令之后3.ASCII碼加法調(diào)整指令(只影響AF和CF的狀態(tài))格式:AAA;應(yīng)緊跟在ADD、ADC、INC指令之后●調(diào)整后AL中高四位為零;●調(diào)整后,如果AF=1,則有CF=1,并將:AH+1AH4.4.4十進制調(diào)整指令

★調(diào)整指令的約定:被調(diào)整的BCD碼運算結(jié)果應(yīng)放在AL中,

調(diào)整后正確的BCD碼自動返回AL中;4.ASCII碼減法調(diào)整指令(影響AF和CF)格式:AAS

;應(yīng)緊跟在SUB、SBB、DEC指令之后●調(diào)整后AL=0,如果AF=1,則有:CF=1,AH-1AH5.非組合BCD碼乘法調(diào)整指令(影響SF,ZF,PF)格式:AAM

;應(yīng)緊跟在MUL指令之后●結(jié)果在AX中,AH和AL中分別為高位和低位非組合的BCD碼6.非組合BCD碼除法調(diào)整指令(影響SF,ZF,PF)格式:AAD

;應(yīng)放在除法指令DIV之前●

AX中為兩個非組合的BCD碼(被除數(shù))●商在AL中,余數(shù)在AH中。4.5位操作類指令(邏輯運算)

★8或16位數(shù)的邏輯運算與移位指令,操作是按位進行的;★由邏輯運算、移位、循環(huán)移位三小類指令組成,共13條。4.5.1邏輯運算指令

1.邏輯非:NOT

dst

;dstdst,但不影響FR2.邏輯與:ANDdst,src

;dstdst∧src3.邏輯或:ORdst,src

;dstdst∨src4.邏輯異或:XORdst,src

;dstdst⊕src5.測試指令:TESTdst,src

;dst∧src,只影響標志●

其它指令影響FR,但AF不定例:NOTBYTEPTR[BX]NOTWORDPTR[BX+SI]INCBYTEPTR[2100H]

PTR:屬性操作符;

BYTE/WORD:屬性類型MEMimmREG4.5.2移位指令

★目的操作數(shù)dst{REG,MEM};可以是字,也可以是字節(jié)1.算術(shù)左移指令SAL

格式:SALdst,CNT2.邏輯左移指令SHL

格式:SHLdst,CNT3.算術(shù)右移指令SAR

格式:SARdst,CNT4.邏輯右移指令SHR

格式:SHRdst,CNT邏輯右移算術(shù)右移算術(shù)/邏輯左移4.5.3循環(huán)移位指令

★移一位時,CNT=1;★當移動多位時,CNT應(yīng)為CL,CL中的數(shù)為移位位數(shù)。1.循環(huán)左移指令ROL

格式:ROLdst,CNT2.循環(huán)右移指令ROR

格式:RORdst,CNT3.帶CF循環(huán)左移指令RCL

格式:RCLdst,CNT4.帶CF循環(huán)右移指令RCR

格式:RCRdst,CNT

dst(字/字節(jié))dst(字/字節(jié))dst(字/字節(jié))dst(字/字節(jié))ROLRCRRCLRORCFCFCFCF循環(huán)左移循環(huán)右移帶CF循環(huán)左移帶CF循環(huán)右移4.6串操作類指令

★串操作就是用一條指令實現(xiàn)對一串字符或數(shù)據(jù)的操作★使用該類指令時,有如下約定:●

源串在DS段中:SI指示源串首元素在數(shù)據(jù)段的有效地址;●

目的串在ES段中:DI指示目的串首元素在ES段的有效地址;●

每做一次串操作:自動修改指針SI和DI,使其指向下一個元素。當DF=0指針值增加字節(jié)串操作時字串操作時

用CLD指令使DF=0SI+1SISI+2SIDI+1DIDI+2DI

當DF=1指針值減小

用STD指令使DF=1SI-1SISI-2SIDI-1DIDI-2DI●

隱含使用了[SI]、[DI];及AX,AL作為dst或src。4.6.1基本串操作指令1.串傳送指令MOVS

(不影響FR)

格式:MOVSB

;(ES∶DI)(DS∶SI)字節(jié)

MOVSW

;(ES∶DI)(DS∶SI)字●自動修改指針:SI±1

SI,DI±1DI字節(jié)傳送

●自動修改指針:SI±2

SI,DI±2DI字傳送●

src和dst均為存儲器操作數(shù)。2.串比較指令CMPS(影響FR)

格式:

CMPSB

;(ES∶DI)-(DS∶SI)字節(jié)比較

CMPSW

;(ES∶DI)-(DS∶SI)字比較●自動修改指針:SI±1

SI,DI±1DI字節(jié)比較

●自動修改指針:SI±2

SI,DI±2DI字比較●src和dst均為存儲器操作數(shù)。4.6.1基本串操作指令3.串搜索指令SCAS(影響FR)格式:SCASB

;AL-(ES∶DI)且DI±1DI

SCASW;AX-(ES∶DI)且DI±2

DI●src為AL/AX,dst為MEM,在擴展段;B為字節(jié),W為字。4.串裝入指令LODS(不影響FR)格式:LODSB;(DS∶SI)AL且SI±1

SI

LODSW

;(DS∶SI)AX且DI±2

DI●src為MEM,在數(shù)據(jù)段,dst為AL/AX;B為字節(jié),W為字。5.串送存指令STOS(不影響FR)格式:STOSB;AL(ES∶DI)且DI±1

DI

STOSW;AX(ES∶DI)且DI±2

DI●src為AL/AX,dst為MEM,在擴展段;B為字節(jié),W為字。4.6.2重復(fù)操作前綴★重復(fù)前綴用來控制緊跟在其后的字符串操作指令是否重復(fù)執(zhí)行★

CX寄存器中的值為重復(fù)的次數(shù)★分為無條件重復(fù)和條件重復(fù)兩類,共3條1.無條件重復(fù)前綴REP

格式:REP;用在MOVS、STOS、LODS指令前功能:對跟在REP后的串操作指令重復(fù)執(zhí)行,執(zhí)行一次串操作:

CX-1

CX,當CX≠0時,重復(fù)執(zhí)行串操作;當CX=0時,停止執(zhí)行串操作,轉(zhuǎn)向執(zhí)行下一條指令?!裼糜诖鎯ζ髦袛?shù)據(jù)塊的搬家4.6.2重復(fù)操作前綴2.相等重復(fù)前綴REPE格式:REPE;用在CMPS、SCAS指令前功能:對跟在REPE后的串操作指令按條件重復(fù)執(zhí)行條件為:

CX≠0且ZF=1●串比較或掃描后,CX-1

CX,當滿足上述條件,重復(fù)操作;●當ZF=0或CX=0時,停止重復(fù)操作,執(zhí)行下一條指令?!?/p>

用于比較兩個串是否相同或串中的所有元素都相同。4.6.2重復(fù)操作前綴3.不相等重復(fù)前綴REPNE

格式:REPNE/REPNZ

;用在CMPS、SCAS指令前功能:對跟在REPNZ后的串操作指令重復(fù)執(zhí)行條件為:

CX≠0且ZF=0●

串比較或掃描后,CX-1

CX,當滿足上述條件,重復(fù)操作;●當ZF=1或CX=0時,停止重復(fù)操作,執(zhí)行下一條指令。●用于比較兩個串中的元素都不相等或在串中查找某個元素。4.7控制轉(zhuǎn)移類指令★控制轉(zhuǎn)移(ControlJump)類指令的功能是改善程序執(zhí)行順序。

★指令執(zhí)行的順序是由代碼寄存器

CS和指令指針

IP的內(nèi)容確定,

執(zhí)行程序時,每取出、執(zhí)行一字節(jié)指令,IP的內(nèi)容將自動加1,

指向下一指令字節(jié),以實現(xiàn)程序的循序執(zhí)行。如果改變

CS和

IP

的值或僅改變

IP的值,程序的執(zhí)行循序就會發(fā)生改變?!锟刂妻D(zhuǎn)移類指令就是通過改變CS、IP,從而實現(xiàn)對程序流向的控制。因此,控制轉(zhuǎn)移指令中要給出轉(zhuǎn)移的目標地址。

8086指令系統(tǒng)共有五類轉(zhuǎn)移指令:無條件轉(zhuǎn)移、條件轉(zhuǎn)移、循環(huán)控制、過程調(diào)用和返回、中斷。★除中斷類指令外,其它類指令均不影響標志位。4.7控制轉(zhuǎn)移類指令——轉(zhuǎn)移地址的尋址方式

控制轉(zhuǎn)移指令的轉(zhuǎn)移地址尋址方式與操作數(shù)尋址方式是不同★控制轉(zhuǎn)移指令根據(jù)轉(zhuǎn)移的目標地址處于當前段內(nèi)或段外,可分為段內(nèi)轉(zhuǎn)移和段間轉(zhuǎn)移?!?/p>

段內(nèi)轉(zhuǎn)移稱“近轉(zhuǎn)移”,目標地址為“NEAR”類型;需改變IP的值。

段間轉(zhuǎn)移稱“遠轉(zhuǎn)移”,目標地址為“FAR”類型。不但要改變IP的值,同時還要給一個新的代碼段值,即改變CS的值。★段內(nèi)和段間轉(zhuǎn)移指令按轉(zhuǎn)移地址的尋址方式,又可分為兩種:“直接尋址”和“間接尋址”。

★控制轉(zhuǎn)移指令的轉(zhuǎn)移地址尋址方式有以下四種:

1.段內(nèi)直接尋址;2.段內(nèi)間接尋址;

3.段間直接尋址;4.段間間接尋址;4.7控制轉(zhuǎn)移類指令——轉(zhuǎn)移地址的尋址方式1.段內(nèi)直接尋址:指令中給出了8/16位的相對位移量,指令轉(zhuǎn)向的有效地址為:

當前IP的內(nèi)容+8/16位相對位移量IP●

當位移量為8位時,稱段內(nèi)直接短轉(zhuǎn)移;

●當位移量為16位時,稱段內(nèi)直接近轉(zhuǎn)移。2.段內(nèi)間接尋址:指令中指定一個16位寄存器或存儲器字單元的內(nèi)容做為轉(zhuǎn)移的

有效地址,直接取代IP的內(nèi)容。3.段間直接尋址:指令中直接給出了轉(zhuǎn)向目標的段基址和段內(nèi)偏移地址,用此地址分別取代CS和IP中的內(nèi)容,完成從當前段向另一個段的轉(zhuǎn)移4.段間間接尋址:指令中給出一個存儲單元地址,用該地址所指的兩個相鄰字單元的內(nèi)容“32位”來取代CS和IP中的內(nèi)容,從而實現(xiàn)段間轉(zhuǎn)移。4.7.1無條件轉(zhuǎn)移指令★無條件轉(zhuǎn)移指令不影響標志位★根據(jù)轉(zhuǎn)移距離的遠近,JMP指令又分成下面幾種類型:基本格式:JMPtarget

;target轉(zhuǎn)移的目標地址操作數(shù)

功能:無條件轉(zhuǎn)移到指令給出的目標地址去取指令并執(zhí)行。1.段內(nèi)直接短轉(zhuǎn)移格式:JMPdisp8

;IPIP+disp8

功能:把當前的IP值與disp8代表的8位偏移量之和送入IP,使程序的運行發(fā)生轉(zhuǎn)移?!?/p>

disp8:8位帶符號數(shù),因此轉(zhuǎn)移的范圍以本指令為中心在:-128~+127字節(jié)內(nèi)。通常用標號(標號地址)代替?!駱颂柕刂罚杭捶柕刂?,以字母起頭,代替8位帶符號的偏移量。無條件轉(zhuǎn)移指令應(yīng)用舉例例:在存儲器2002單元開始放有兩個無符號的字A和B,比較其大小。

A>B,AX=1;A=B,AX=0;A<B,AX=-1;MOVBX,2002HMOVAX,[BX]ADDBX,2CMPAX,[BX]JAGMJBLMMOVAX,0JMPNEXT;GM:MOVAX,1JMPNEXT

LM:MOVAX,–1NEXT:HLT2.段內(nèi)直接近轉(zhuǎn)移

格式:JMPdisp16

;IPIP+disp16功能:把當前的IP值與disp16代表的16位偏移量之和送入IP,使程序的運行發(fā)生轉(zhuǎn)移?!?/p>

disp16:16位帶符號數(shù),因此轉(zhuǎn)移的范圍以本指令為中心在:-32768~+32767字節(jié)范圍內(nèi),可轉(zhuǎn)到段內(nèi)任一地址。

以上兩種轉(zhuǎn)移指令,均屬相對尋址(轉(zhuǎn)移)方式。3.段內(nèi)間接轉(zhuǎn)移格式:JMPREG/MEM

;IPREG/MEM功能:把指令中給定的16位寄存器內(nèi)容送IP;或通過指令中給出的內(nèi)存單元的尋址方式,將該單元中的16位內(nèi)容送到IP中,使程序運行發(fā)生轉(zhuǎn)移。例如:JMPBX;IPBXJMPWORDPTR[BX]

;IP[BX]字送

IP5.段間間接轉(zhuǎn)移格式:JMPDWORDPTR[MEM]功能:根據(jù)指令中的MEM尋址方式,將指定內(nèi)存單元中的雙字,第一個字送IP,第二個字送CS,使程序運行發(fā)生轉(zhuǎn)移?!镆陨先N轉(zhuǎn)移指令,均屬絕對尋址(轉(zhuǎn)移)方式。例如:JMPDWORDPTR[BX+SI]

若:當前CS=3000H,DS=2000H,BX=1000H,SI=0050H

內(nèi)存單元:(21050H~21053H)=00H,66H,00H,40H指令執(zhí)行后:IP=6600H,CS=4000H,轉(zhuǎn)移的目標地址=46600H4.段間直接轉(zhuǎn)移格式:JMPaddr32

;IP、CSaddr32功能:將指令中提供的兩個16位數(shù)地址分別送到IP和CS,即把第一個地址送IP,第二個地址送CS,使程序運行發(fā)生轉(zhuǎn)移?!?/p>

addr32:16位位移地址和16位段地址組成的32位地址4.7.2條件轉(zhuǎn)移指令

★指令對狀態(tài)標志位進行測試:當滿足要求的條件時,IP

IP+target;則發(fā)生轉(zhuǎn)移;不滿足要求的條件時,則順序執(zhí)行下一條指令。★

條件轉(zhuǎn)移指令共有四種類型:

1.單個標志位的條件轉(zhuǎn)移;2.無符號數(shù)比較的條件轉(zhuǎn)移;

3.有符號數(shù)比較的條件轉(zhuǎn)移;4.測試CX=0的條件轉(zhuǎn)移;★

屬段內(nèi)直接短轉(zhuǎn)移指令,指令中的標號為8位帶符號的偏移量。目的地址在本指令的下一條指令地址的:

-128~+127

個字節(jié)的范圍之內(nèi)★條件轉(zhuǎn)移指令也都不影響標志位?!锶甾D(zhuǎn)移的范圍超出此范圍,可在條件轉(zhuǎn)移指令后加一條無條件轉(zhuǎn)移指令來實現(xiàn):即由條件轉(zhuǎn)移指令轉(zhuǎn)到跟在其后的無條件轉(zhuǎn)移指令,借助于無條件轉(zhuǎn)移指令實現(xiàn)整個地址空間的轉(zhuǎn)移。4.7.2條件轉(zhuǎn)移指令一.單個標志位的條件轉(zhuǎn)移指令★

當條件成立時,發(fā)生轉(zhuǎn)移;即:IPIP+disp8

1.測試ZF:JZ/JEdisp8

;ZF=1結(jié)果為零,則轉(zhuǎn)移

JNZ/JNEdisp8

;ZF=0結(jié)果不為零,則轉(zhuǎn)移2.測試CF:JCdisp8

;CF=1有進位/借位,則轉(zhuǎn)移

JNCdisp8

;CF=0無進位/借位,則轉(zhuǎn)移3.測試SF:JSdisp8

;SF=1結(jié)果為負,則轉(zhuǎn)移

JNSdisp8

;SF=0結(jié)果為正,則轉(zhuǎn)移4.測試OF:JOdisp8

;OF=1結(jié)果有溢出,則轉(zhuǎn)移

JNOdisp8

;OF=0結(jié)果無溢出,則轉(zhuǎn)移5.測試PF:JPdisp8

;PF=1結(jié)果中1的個數(shù)為偶數(shù),則轉(zhuǎn)移

JNPdisp8

;PF=0結(jié)果中1的個數(shù)為奇數(shù),則轉(zhuǎn)移4.7.2條件轉(zhuǎn)移指令二.兩個無符號數(shù)比較轉(zhuǎn)移指令:應(yīng)緊跟在CMP指令后1.高于或不低于等于:JA/JNBE

disp8

;dst>src則轉(zhuǎn)移2.高于等于或不低于:JAE/JNB

disp8

;dst≥src則轉(zhuǎn)移3.低于或不高于等于:JB/JNAE

disp8

;dst<src則轉(zhuǎn)移4.低于等于或不高于:JBE/JNA

disp8

;dst≤src則轉(zhuǎn)移1.大于或不小于等于:JG/JNLE

disp8

;dst>src則轉(zhuǎn)移2.大于等于或不小于:JGE/JNL

disp8

;dst≥src則轉(zhuǎn)移3.小于或不大于等于:JL/JNGE

disp8

;dst<src則轉(zhuǎn)移4.小于等于或不大于:JLE/JNG

disp8

;dst≤src則轉(zhuǎn)移三.兩個有符號數(shù)比較轉(zhuǎn)移指令:應(yīng)緊跟在CMP指令后四.測試CX=0的條件轉(zhuǎn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論