《微機(jī)原理與接口技術(shù)》第3版 課件 04 尋址方式和指令系統(tǒng)_第1頁
《微機(jī)原理與接口技術(shù)》第3版 課件 04 尋址方式和指令系統(tǒng)_第2頁
《微機(jī)原理與接口技術(shù)》第3版 課件 04 尋址方式和指令系統(tǒng)_第3頁
《微機(jī)原理與接口技術(shù)》第3版 課件 04 尋址方式和指令系統(tǒng)_第4頁
《微機(jī)原理與接口技術(shù)》第3版 課件 04 尋址方式和指令系統(tǒng)_第5頁
已閱讀5頁,還剩95頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

微機(jī)原理與接口技術(shù)(第3版)4尋址方式與指令系統(tǒng)指令系統(tǒng)概述8086尋址方式8086指令系統(tǒng)例題解析4.1.1指令的基本概念指令是要求計(jì)算機(jī)執(zhí)行特定操作的命令。計(jì)算機(jī)所能執(zhí)行的全部指令的集合稱為指令系統(tǒng)。指令以二進(jìn)制編碼的形式存放在存儲(chǔ)器中,用二進(jìn)制編碼形式表示的指令稱為機(jī)器指令。用符號(hào)表示的指令稱為符號(hào)指令,匯編語言程序中的指令就是符號(hào)指令。具有直觀、易理解和可幫助記憶的特點(diǎn)。4.1指令系統(tǒng)概述4尋址方式與指令系統(tǒng)

表4.1SUB指令機(jī)器指令(二進(jìn)制)十六進(jìn)制匯編指令功能010010114BHDECBX將寄存器BX的內(nèi)容減14.1指令系統(tǒng)概述4.1.2指令格式

匯編指令由操作碼字段和操作數(shù)字段構(gòu)成。操作碼字段操作數(shù)字段指令字長度:一個(gè)指令字中包含二進(jìn)制代碼的位數(shù)。機(jī)器字長:指計(jì)算機(jī)能直接處理的二進(jìn)制數(shù)據(jù)的位數(shù),它決定了計(jì)算機(jī)的運(yùn)算精度。單字長指令:指令字長度等于機(jī)器字長的指令。半字長指令:指令字長度等于半個(gè)機(jī)器字長度的指令。雙字長指令:指令字長度等于2個(gè)機(jī)器字長度的指令。在一個(gè)指令系統(tǒng)中,如果各種指令字長度是相等的,稱為等長指令字結(jié)構(gòu);如果各種指令字長度隨指令功能而異,比如有的指令是單字長指令,有的指令是雙字長指令,就稱為變字長指令字結(jié)構(gòu)。4.1.38086匯編語言格式8086指令的一般格式:

標(biāo)號(hào):操作碼

操作數(shù) ;注釋其中,標(biāo)號(hào)和注釋都是可選項(xiàng)。標(biāo)號(hào)表示該指令在代碼段中的偏移地址;注釋對(duì)該指令進(jìn)行說明,不參加指令的執(zhí)行。4.1指令系統(tǒng)概述

操作碼:說明指令的性質(zhì)與功能。操作數(shù):參與運(yùn)算的操作數(shù)或存放操作數(shù)的地址。(數(shù)值、寄存器、存儲(chǔ)器)分固定長度和可變長度。X86系列CPU(CISC)采用可變長度,ARM(RISC)采用固定長度。

8086CPU的機(jī)器指令長度為1~6個(gè)字節(jié)。如:匯編指令MOVAX,05C7H的機(jī)器指令編碼為B8C705H,轉(zhuǎn)換成二進(jìn)制為:

10111000

1100011100000101B4.1指令系統(tǒng)概述1.雙操作數(shù)指令(兩地址指令)

MOVAX,5;傳送指令。

ADDAX,BX ;加法指令。

目的操作數(shù)源操作數(shù)2.單操作數(shù)指令(一地址指令)INCAX ;加1指令。

MUL ;乘法指令。

PUSHAX;進(jìn)棧指令。

JMPLA1;無條件轉(zhuǎn)移指令。目的操作數(shù)4.1指令系統(tǒng)概述3.無操作數(shù)指令(零地址指令)CBW ;字節(jié)轉(zhuǎn)換為字指令

CLC ;進(jìn)位標(biāo)志CF清零

NOP ;不操作指令

HLT ;停機(jī)指令4.三操作數(shù)指令(三地址指令)

IMULEBX,[ESI],7;乘法指令。(80386機(jī)器指令)操作數(shù)存在方式

?

操作數(shù)包含在指令中——即指令的操作數(shù)部分就包含著操作數(shù)本身。

MOVAX,1234ADDAL,2

?操作數(shù)包含在CPU的某一個(gè)內(nèi)部寄存器中——這時(shí)指令中的操作數(shù)是CPU內(nèi)部的某一個(gè)寄存器

MOVDS,AX

?操作數(shù)在內(nèi)存的數(shù)據(jù)區(qū)中——這時(shí)指令中的操作數(shù)包含著此操作數(shù)的地址

MOVAX,[2000]MOVbuffer[SI],AX操作數(shù)在I/O端口寄存器中?!@時(shí)指令中的操作數(shù)包含著此操作數(shù)的所在端口地址INAL,n;n是端口號(hào)4.28086尋址方式1.立即尋址(ImmediateAddressing)4.28086尋址方式

操作數(shù)直接存放在指令中,緊跟在操作碼之后,作為指令的一部分,存放在代碼段里,這種操作數(shù)稱為立即數(shù)。常用來給寄存器賦值。指令:MOV

AL,07H

MOVAL,‘A’指令:MOV

AX,1A2BH

立即數(shù)只能做源操作數(shù)。 (×)MOV

3,AL

源、目的操作數(shù)的字長必須一致。

(×)MOVAH,3064H1AH2BHB8H操作碼立即數(shù)低高4.28086尋址方式2.寄存器尋址:(RegisterAddressing)操作數(shù)存放在CPU的內(nèi)部寄存器reg中:8位寄存器R8:AH、AL、BH、BL、CH、CL、DH、DL16位寄存器R16:AX、BX、CX、DX、SI、DI、BP、SP4個(gè)段寄存器Seg:CS、DS、SS、ES寄存器名表示其內(nèi)容(操作數(shù))4.28086尋址方式▲由于操作數(shù)在寄存器中,指令執(zhí)行時(shí),操作就在CPU

的內(nèi)部進(jìn)行,不需要訪問存儲(chǔ)器來取得操作數(shù),因而執(zhí)行速度快。▲寄存器符號(hào)比內(nèi)存地址短,匯編后機(jī)器碼長度最短?!拇嫫鲗ぶ贩绞郊瓤捎糜贒ST,也可用于SRC,還可以兩者都用寄存器尋址。★

當(dāng)指令中的DST和SRC均為寄存器時(shí),必須采用同樣長度的寄存器;★兩個(gè)操作數(shù)不能同時(shí)為段寄存器;★目的操作數(shù)不能是代碼段寄存器?!纠縈OVCL,DL;(DL)=50HMOVAX,BX;(BX=1234H)目的、源操作數(shù)采用寄存器尋址50HDLCLAX12H34HBX說明:4.28086尋址方式3.存儲(chǔ)器尋址(MemoryAddressing)

操作數(shù)存放在存儲(chǔ)器中,CPU取出指令后,為了獲得操作數(shù)(對(duì)于源操作數(shù))或操作數(shù)的存放地址(對(duì)于目的操作數(shù))還要再次訪問存儲(chǔ)器。指令中以邏輯地址(有效地址EA)表示操作數(shù)存放的位置,可能存放在存儲(chǔ)器的任意一個(gè)邏輯段中,CPU必須計(jì)算出操作數(shù)的物理地址才能完成存儲(chǔ)單元的讀、寫。存儲(chǔ)器尋址既可用于源操作數(shù),也可用于目的操作數(shù),但兩者不能同時(shí)使用。用方括號(hào)對(duì)[]表示存儲(chǔ)器尋址。

邏輯地址LA:段地址:偏移地址

物理地址PA:段地址×16+偏移地址

有效地址EA:偏移地址存儲(chǔ)器操作數(shù)具有三個(gè)屬性:段地址:操作數(shù)所在的邏輯段的段地址。偏移地址:相對(duì)段地址的偏移量。

數(shù)據(jù)類型:操作數(shù)是一個(gè)字節(jié)/字,用BYTEPTR/WORDPTR區(qū)分。存放在基址寄存器中的內(nèi)容,常用來指向數(shù)據(jù)段中數(shù)組或字符串的首地址存放在變址寄存器中的內(nèi)容,常用來訪問數(shù)組中的某個(gè)元素或字符串中的某個(gè)字符存放在指令中的一個(gè)8位、16或32位的數(shù),但它不是立即數(shù),而是一個(gè)地址指令中,不允許使用AX、CX、DX等作偏移地址4.28086尋址方式尋址方式有效地址EA默認(rèn)的段寄存器直接尋址(③)[DISP]DS寄存器間接尋址(①/②)[BX]DS[BP]SS[SI]DS[DI]DS基址尋址(①+③)[BX+DISP]DS[BP+DISP]SS變址尋址(②+③)[SI+DISP]DS[DI+DISP]DS基址加變址尋址(①+②+③)[BX+SI+DISP(或無DISP)]DS[BX+DI+DISP(或無DISP)]DS[BP+SI+DISP(或無DISP)]SS[BP+DI+DISP(或無DISP)]SS①直接尋址有效地址EA在指令中直接給出,默認(rèn)段是DS。EA:操作數(shù)的偏移地址PA:(DS)×16+EA4.28086尋址方式段地址偏移地址操作數(shù)存儲(chǔ)器指令DS寄存器4.28086尋址方式153000HDS:30000H+1000H────31000H×16執(zhí)行結(jié)果(AX)=3412H10H00HA1H...12H34H代碼段數(shù)據(jù)段操作碼偏移地址31000H指令MOVAX,[1000H]的示意圖ALAH根據(jù)指令中給出的有效地址,得到存儲(chǔ)單元的物理地址:PA=DS×16+1000H=31000H把該內(nèi)存單元中的內(nèi)容送到AX中;字在內(nèi)存中占兩個(gè)內(nèi)存單元,低字節(jié)在前(低地址),高字節(jié)在后(高地址);并以低字節(jié)的地址作為字的地址。4.28086尋址方式★在匯編語言指令中,可以用符號(hào)地址代替數(shù)值地址

【例】VALUE

DB

12H,34H,56H;數(shù)據(jù)定義

MOVAL,VALUEMOVAL,[VALUE]

但要注意變量的屬性MOVAH,VALUE;與MOVAH,[VALUE]等效

MOVAX,VALUE×MOVAX,WORDPTRVALUE√★直接尋址允許數(shù)據(jù)存于附加段、堆棧段、代碼段,這稱為“段跨越”。

但需要使用段跨越前綴,例如MOVAX,ES:[2000H]中,數(shù)據(jù)存于附加段中,

操作數(shù)物理地址PA為:ESx16+0100H②寄存器間接尋址4.28086尋址方式▲把內(nèi)存操作數(shù)的有效地址存儲(chǔ)于寄存器中,指令中給出存放地址的寄存器名;▲因?yàn)橛行У刂肥?6位,存放地址所使用的寄存器必須是16位的:▲可以用于間接尋址的寄存器有基址寄存器BX、BP

和變址寄存器

SI、DI。▲為了區(qū)別于寄存器尋址,寄存器名用“[]”括起。☆不同的寄存器所隱含對(duì)應(yīng)的段不同。

采用SI、DI、BX寄存器,數(shù)據(jù)存于數(shù)據(jù)段中;

采用BP寄存器,數(shù)據(jù)存于堆棧段中;操作數(shù)的物理地址計(jì)算式為:

PA=DSX16+SI/DI/BXPA=SSx10H+BP4.28086尋址方式MOVAX,[BX] ;源操作數(shù)在數(shù)據(jù)段,EA=BX,PA=DS×16+EAMOVAX,[DI] ;源操作數(shù)在數(shù)據(jù)段,EA=DI,PA=DS×16+EAMOV[SI],AL ;目的操作數(shù)在數(shù)據(jù)段,EA=SI,PA=DS×16+EAMOV[BP],DI ;目的操作數(shù)在堆棧段,EA=BP,PA=SS×16+EA有效地址EA由寄存器(BX,BP,SI,DI)間接給出。當(dāng)EA=(BX)/(SI)/(DI)時(shí):PA=(DS)×16+EA

當(dāng)EA=(BP)時(shí):PA=(SS)×16+EA不允許使用AX、CX、DX、SP存放EA:(×)MOVAX,[CX]源、目的操作數(shù)不能同時(shí)帶方括號(hào):(×)MOV[BX],[SI]立即數(shù)和存儲(chǔ)器尋址方式同時(shí)使用時(shí)應(yīng)明示數(shù)據(jù)類型:

(×)MOV[BX],20H③寄存器相對(duì)尋址4.28086尋址方式☆寄存器相對(duì)尋址時(shí),操作數(shù)的有效地址分為兩部分:

▲一部分存于寄存器中,指令中給出該寄存器名;▲另一部分以偏移量的方式直接在指令中給出。有效地址EA為基址寄存器(BX,BP)的內(nèi)容加偏移量。當(dāng)EA=(BX)+DISP時(shí):PA=(DS)×16+EA

當(dāng)EA=(BP)+DISP時(shí):PA=(SS)×16+EADS×10HAXBX+DISPSS×10HBP+DISP4.28086尋址方式偏移量是符號(hào)數(shù),8位偏移量的取值范圍為:0-0FFH(即+127~-128)

16位偏移量的范圍:0~0FFFFH(即+32767~-32768)IBM匯編允許用三種形式表示相對(duì)尋址,

它們的效果是一樣的,如:

MOVAX,[BX]+6;標(biāo)準(zhǔn)格式

MOVAX,6[BX];先寫偏移值

MOVAX,[BX+6];偏移值寫在括號(hào)內(nèi)④基址加變址尋址4.28086尋址方式☆基址變址尋址時(shí)操作數(shù)的EA分為兩部分,分別存于兩個(gè)寄存器中:▲一部分存于基址寄存器(BX或BP)中;▲另一部分存于變址寄存器(SI或DI)中;▲指令中分別給出兩個(gè)寄存器名。操作數(shù)的有效地址為:

EA1=BX+SI/DI

EA2=BP+SI/DI基址寄存器變址寄存器基地址段地址操作數(shù)存儲(chǔ)器段寄存器偏移地址基址寄存器指令中變地址變址寄存器4.28086尋址方式①

根據(jù)指令中給出的寄存器名及寄存器內(nèi)容,得到存儲(chǔ)單元的PA為:

SS×16+BP+SI=43200H【例】MOVAL,[BP][SI]設(shè):SS=4000H,BP=2000H,SI=1200H,源操作數(shù)的尋址過程如圖所示

把該內(nèi)存單元中的內(nèi)容送到AL中

存儲(chǔ)器…30000H32100HAX00H50H(ES)×10H=30000H(BX)=1000H(DI)=1100H32100H+存儲(chǔ)器…56H40000H43200HAL(SS)×10H=40000H(BP)=2000H(SI)=1200H43200H+MOVES:[BX][DI],AX4.28086尋址方式總結(jié):有效地址EA為基址寄存器(BX,BP)加變址寄存器(SI,DI)的內(nèi)容。

PA=(DS)×16+EA,當(dāng)基址寄存器為BX時(shí)PA=(SS)×16+EA,當(dāng)基址寄存器為BP時(shí)MOV[BX+DI],AX ;目的操作數(shù)在數(shù)據(jù)段EA=(BX)+(DI),PA=(DS)×16+EAMOVDX,[BX][SI]

;源操作數(shù)在數(shù)據(jù)段

EA=(BX)+(SI),PA=(DS)×16+EAMOV

[BP][DI],BX ;目的操作數(shù)在堆棧段

EA=(BP)+(DI),PA=(SS)×16+EAMOVCX,[BP+SI] ;源操作數(shù)在堆棧段EA=(BP)+(SI),PA=(SS)×16+EA⑤相對(duì)基址加變址尋址4.28086尋址方式☆采用相對(duì)基址變址尋址時(shí),操作數(shù)的有效地址分為三部分:▲一部分存于變址寄存器SI或DI

中;▲一部分存于基址寄存器BX

或BP中;▲一部分為偏移量?!噶钪蟹謩e給出兩個(gè)寄存器名及8位或16位的偏移量。操作數(shù)的有效地址EA為:☆當(dāng)基址寄存器選用BP時(shí),數(shù)據(jù)隱含存于堆棧段中,

操作數(shù)的物理地址PA為:

PA1=DS×10H+EA1

PA2=SS×10H+EA1☆當(dāng)基址寄存器選用BX時(shí),數(shù)據(jù)隱含存于數(shù)據(jù)段中;

4.28086尋址方式①由指令中給出寄存器名、寄存器內(nèi)容及偏移量,得到存儲(chǔ)單元的物理地址:

SS×10H+BP+SI+10H=53060H②把寄存器CX中的內(nèi)容送到該地址內(nèi)存單元中。

【例】MOVDATA[BP][SI],CX等同于MOV10H[BP][SI],CX

相對(duì)基址變址尋址的尋址過程:設(shè):SS=5000H;

BP=2000H;SI=1050H

源操作數(shù)的尋址過程如圖所示。存儲(chǔ)器…50000H53060H20HCX50H(SS)×10H=50000H(BP)=2000H(SI)=1050HDATA=10H53060H+4.I/O端口尋址(I/OPortAddressing)4.28086尋址方式I/O接口電路由接口寄存器組成,需要用編號(hào)區(qū)別各個(gè)寄存器:

編號(hào)=地址I/O地址是接口電路中寄存器的編號(hào)端口是I/O地址的通俗說法系統(tǒng)通過這些端口與外設(shè)進(jìn)行通信采用十六進(jìn)制數(shù)來表達(dá)端口Intel8086支持64K個(gè)8位端口I/O地址可以表示為:0000H~FFFFHPC機(jī)支持1K個(gè)8位端口I/O地址可以表示為:000H~3FFH4.28086尋址方式(1)端口直接尋址方式端口地址用8位立即數(shù)(0~255)表示。例如:INAL,21H

…7FH…接口端口0端口1端口33端口25500H01H21HFFHAL(2)端口間接尋址方式當(dāng)I/O端口地址大于FFH時(shí),必須事先將端口地址存放在DX寄存器中。例如:MOVDX,120HOUTDX,AX……接口端口0端口1端口288端口655350000H0001H0120HFFFFHAX10F0H0120HDX4.2.2指令尋址方式4.28086尋址方式28/95●

程序的執(zhí)行,一般是從存儲(chǔ)器MEM中代碼段順序取指令執(zhí)行;指令地址是由指令指針寄存器IP自動(dòng)增量形成。●在某些條件下,程序的執(zhí)行要跳轉(zhuǎn)到另外一段程序開始順序執(zhí)行。

這種運(yùn)行方式稱為:轉(zhuǎn)移。轉(zhuǎn)移指令中應(yīng)給出轉(zhuǎn)移地址操作數(shù)?!袼部梢苑譃椋毫⒓磾?shù)、寄存器操作數(shù)、存儲(chǔ)器操作數(shù);即要轉(zhuǎn)移的目標(biāo)地址包含在指令中或存放在寄存器、內(nèi)存儲(chǔ)器中?!窀鶕?jù)跳轉(zhuǎn)的距離遠(yuǎn)近,轉(zhuǎn)移又分為:段內(nèi)轉(zhuǎn)移和段間轉(zhuǎn)移。●段內(nèi)轉(zhuǎn)移:轉(zhuǎn)移的目標(biāo)地址在當(dāng)前的代碼段內(nèi)。轉(zhuǎn)移指令中要指出轉(zhuǎn)到的目標(biāo)地址,CPU根據(jù)轉(zhuǎn)移指令中指明的目標(biāo)地址,修改IP的值,即修改指令指針,從新址開始執(zhí)行●段間轉(zhuǎn)移:轉(zhuǎn)移的目標(biāo)地址在另一個(gè)代碼段內(nèi),轉(zhuǎn)移指令中要指出轉(zhuǎn)到的代碼段的段基址及在該段內(nèi)的目標(biāo)地址,CPU據(jù)此修改CS和IP中的值,從而使CPU轉(zhuǎn)到另一個(gè)代碼段中取指令并執(zhí)行程序。4.28086尋址方式29/95②段間間接尋址:在轉(zhuǎn)移指令中給出一個(gè)存儲(chǔ)單元的地址,用該地址所指的兩個(gè)相鄰字單元的內(nèi)容(32位)來取代(CS)和(IP)中的內(nèi)容,從而達(dá)到段間轉(zhuǎn)移的目的?!?/p>

段內(nèi)轉(zhuǎn)移的尋址方式:②

段內(nèi)間接尋址:由轉(zhuǎn)移指令中指定一個(gè)16位寄存器或存儲(chǔ)器字單元的內(nèi)容做為轉(zhuǎn)移的有效地址,直接取代(IP)的內(nèi)容。●段間轉(zhuǎn)移的尋址方式:①段間直接尋址:轉(zhuǎn)移指令中直接給出了轉(zhuǎn)向目標(biāo)的段基址和段內(nèi)偏移地址,用此地址分別取代(CS)和(IP)中的內(nèi)容,

完成從當(dāng)前段向另一個(gè)段的轉(zhuǎn)移①段內(nèi)直接尋址:在轉(zhuǎn)移指令中直接給出8

位或16

位的相對(duì)位移量,指令轉(zhuǎn)向的有效地址為:(當(dāng)前IP的內(nèi)容+相對(duì)位移量)(IP)

位移量為8位時(shí),稱段內(nèi)直接短轉(zhuǎn)移;位移量為16位時(shí),稱段內(nèi)直接近轉(zhuǎn)移4.28086尋址方式SHORT:表示位移量在-128~127字節(jié)之間,稱為短轉(zhuǎn)移,位移量用一個(gè)字節(jié)(8位)來表示。NEAR:表示在同一段內(nèi)轉(zhuǎn)移,位移量在-32768~32767字節(jié)范圍內(nèi),稱為近轉(zhuǎn)移,位移量用16位表示,

因?yàn)槌绦蚩刂迫匀辉诋?dāng)前代碼段,所以只修改IP的值,CS的值不變。FAR:表示轉(zhuǎn)移距離超過±32K字節(jié),或是在不同段之間轉(zhuǎn)移,稱為遠(yuǎn)轉(zhuǎn)移,因?yàn)槌绦蚩刂瞥隽水?dāng)前代碼段,所以CS和IP都必須修改為新的值。例:段內(nèi)直接尋址方式

1060:000DEB04JMPSHORTNEXT

IP當(dāng)前值→1060:000F……

1060:0011……

1060:00130207NEXT:ADDAL,[BX]

CPU在執(zhí)行JMP指令時(shí),IP指向了下一條指令,其值為000F,JMPSHORTNEXT指令的機(jī)器語言為EB04,EB為操作碼,04為位移量,所以轉(zhuǎn)向的有效地址應(yīng)為:000F+0004=00130013正是標(biāo)號(hào)NEXT的地址。JMP指令執(zhí)行后,將IP寄存器修改為0013,代碼段寄存器CS不變。

緊接著CPU根據(jù)CS:IP的指示,取出1060:0013中的ADD指令開始執(zhí)行,這樣實(shí)現(xiàn)了程序的轉(zhuǎn)移。4.28086尋址方式例:段內(nèi)間接尋址方式假設(shè)(DS)=2000H,(BX)=1256H,(SI)=528FH,(264E5H)=2450H。JMPBX;則執(zhí)行該指令后(IP)=1256HJMP[BX][SI];則指令執(zhí)行后(IP)=(16d×(DS)+(BX)+(SI)) =(20000H+1256H+528FH) =(264E5H)=2450HJMPFAR

PTROUTSEG例:段間直接尋址方式因?yàn)槭嵌伍g轉(zhuǎn)移,CS和IP都要更新,這個(gè)新的段地址和偏移地址由OUTSEG,只要將指令中OUTSEG的低字裝入IP,高字裝入CS,就完成了從一個(gè)段到另一個(gè)段轉(zhuǎn)移的工作。例:段間間接尋址方式JMPDWORDPTR[SI];(IP)=(16d×(DS)+(SI))

;(CS)=(16d×(DS)+(SI)+2)

JMPDWORDPTR[TABLE+BX];(IP)=(16d×(DS)+(BX)+TABLE)

;(CS)=(16d×(DS)+(BX)+TABLE+2)

4.28086尋址方式訪問存儲(chǔ)器的方式

默認(rèn)的段寄存器可跨越的段寄存器偏移地址取指令CS無IP堆棧操作SS無SP一般數(shù)據(jù)訪問DSCSESSS有效地址EABP作為基址的尋址SSCSDSESBP串操作的源操作數(shù)DSCSESSSSI串操作的目的操作數(shù)ES無DI段寄存器的使用規(guī)定4.38086指令系統(tǒng)擁有138條基本指令,按功能分成六類:

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

(2)算術(shù)運(yùn)算指令(3)邏輯運(yùn)算指令

(4)串操作指令(5)控制轉(zhuǎn)移指令(6)處理器控制指令4.3.1數(shù)據(jù)傳送指令

數(shù)據(jù)傳送:負(fù)責(zé)把數(shù)據(jù)、地址或立即數(shù)送到寄存器或存儲(chǔ)單元中。4.38086指令系統(tǒng)分為四個(gè)類型:①通用數(shù)據(jù)傳送指令②地址傳送指令③標(biāo)志位傳送指令④專用累加器傳送指令(輸入、輸出指令)1.傳送字或字節(jié)指令

MOV

格式:MOVdst,src;

功能:srcdst段寄存器DS、SS、ES存儲(chǔ)器立即數(shù)通用寄存器AX、BXCX、DXBP、SPSI、DI4.38086指令系統(tǒng)src是立即數(shù)時(shí),dst不能是段寄存器,必須通過通用寄存器作中介;MOV指令的特點(diǎn)這里的傳送實(shí)際上是復(fù)制,把src的內(nèi)容復(fù)制帶dst,src內(nèi)容不變;src和dst必須類型一致(都是8位或者是16位);dst不能是立即數(shù);兩個(gè)操作數(shù)不能都是存儲(chǔ)器操作數(shù);兩個(gè)操作數(shù)不能都是段寄存器操作數(shù);⑴立即數(shù)傳送給通用寄存器或存儲(chǔ)器MOVAL,12H ;8位數(shù)據(jù)傳送,將12H傳送到寄存器AL中MOVAX,3456H ;16位數(shù)據(jù)傳送,將3456H傳送到寄存器AX中⑵通用寄存器之間相互傳送MOVAX,BX ;16位數(shù)據(jù)傳送,將BX中的數(shù)據(jù)傳送到寄存器AX中MOVCL,BH ;8位數(shù)據(jù)傳送,將BH中的數(shù)據(jù)傳送到寄存器CL中⑶通用寄存器和存儲(chǔ)器之間相互傳送MOVAX,[BX] ;16位數(shù)據(jù)傳送,將BX指定的連續(xù)2個(gè)字節(jié)中的數(shù)據(jù)傳送到AX中MOV[SI],DH ;8位數(shù)據(jù)傳送,將DH中的數(shù)據(jù)傳送到由SI指定的內(nèi)存單元中⑷段寄存器與通用寄存器、存儲(chǔ)器之間的相互傳送MOVDS,AXMOVBX,ESMOVES,[SI]MOV[DI],SSCS和IP不能作為目的操作數(shù),CS可以作為源操作數(shù)。CS和IP的值只在控制轉(zhuǎn)移指令中修改。對(duì)非控制轉(zhuǎn)移指令,取完指令后IP值自動(dòng)指向下條指令。段寄存器CS的值,只在MOV、PUSH中可作操作數(shù),--源操作數(shù)且這兩條指令執(zhí)行結(jié)果不改變CS值。MOVAX,CSPUSHCSIP、FLAGS兩個(gè)寄存器不作為操作數(shù)在指令中出現(xiàn)。MOVIP,1234HMOVFLAGS,0F0FHFLAGS狀態(tài)寄存器的狀態(tài)位值由指令執(zhí)行后確定,不同的指令對(duì)各標(biāo)志的影響不同。4.38086指令系統(tǒng)4.38086指令系統(tǒng)出棧格式:POPdst;dst:{MEM,REG,SEG}

功能:將當(dāng)前棧頂?shù)淖謴棾龅絛st中,CS除外2.堆棧操作指令入棧格式:PUSHsrc;src:{MEM,REG,SEG}

功能:將src指示的字?jǐn)?shù)據(jù)壓入當(dāng)前棧頂,IP除外堆棧是一個(gè)“先進(jìn)后出”的主存區(qū)域,位于堆棧段中,使用SS段寄存器記錄其段地址。棧只有一個(gè)出口,即當(dāng)前棧頂。棧頂是地址較小的一端(低端),它用堆棧指針寄存器SP指定。注意幾點(diǎn):

(1)因?yàn)槎褩V羔楽P總是指向已經(jīng)存入數(shù)據(jù)的棧頂(不是空單元),所以PUSH指令是先將(SP)減2,后將內(nèi)容壓棧(即先修改SP使之指向空單元,后壓入數(shù)據(jù)),而POP是先從棧頂彈出一個(gè)字,后將堆棧指針SP加2。

(2)PUSHCS是合法的,但是POPCS是不合法的。

(3)因?yàn)镾P總是指向棧頂,而用PUSH和POP指令存取數(shù)時(shí)都是在棧頂進(jìn)行的,所以堆棧是“先進(jìn)后出”或叫“后進(jìn)先出”的。棧底在高地址,堆棧是從高地址向低地址延伸的,所以棧底就是最初的棧頂。

(4)用PUSH指令和POP指令時(shí)只能按字訪問堆棧,不能按字節(jié)訪問堆棧。

(5)PUSH和POP指令都不影響標(biāo)志。4.38086指令系統(tǒng)建棧

MOVAX,1050HMOVSS,AXMOVSP,000EH

進(jìn)棧

PUSHAX(設(shè)AX=1234H)

PUSHBX(設(shè)BX=5CF8H)1050FH10500H初始棧頂(棧底)SP=0EHSS=1050H堆棧起地址棧的范圍SP=0EH12H34HSP=0CH5CHF8HSP=0AH10500H(不變)1050FHSS=1050H-2-2當(dāng)前棧頂進(jìn)棧后的SP和SS的值SP=000AHSS=1050H進(jìn)棧前SP和SS的值SP=000EHSS=1050H

(變化)(AX)(BX)8086通過賦值SS和SP建棧進(jìn)棧操作:先SP減2,再內(nèi)容進(jìn)棧。高低4.38086指令系統(tǒng)出棧操作:先棧頂內(nèi)容出棧,再修改SP,使SP加2。-(字操作)出棧POPCXPOPDSSP=0EH12H34HSP=0CH5CHF8HSP=0AH10500H(不變)1050FHSS=1050H-2-

2當(dāng)前棧頂出棧前的SP和SS的值SP=000AHSS=1050H

(變化)SP=0EHCX=5CF8HDS=1234HSS=1050H出棧后SP和SS的值SP=000EHSS=1050H

SP=0AHSP=0CH+2+2F8H

5CH34H12H1050FH高低3.地址傳送指令4.38086指令系統(tǒng)例子:LEABX,[BX+DI+2000H]指令執(zhí)行前:BX=4000H,DI=0100H指令執(zhí)行后:BX=4000+0100+2000H=6100H①有效地址EA傳送指令

LEA

格式:LEAREG,MEM;

功能:將MEM操作數(shù)的有效地址EA送到寄存器REG中注意:源操作數(shù)必須是存儲(chǔ)器操作數(shù),而目的操作數(shù)必須是16位通用寄存器。不影響標(biāo)志位4.38086指令系統(tǒng)②數(shù)據(jù)段寄存器傳送指令LDS

格式:LDSREG,MEM;[MEM]REG[MEM+2]DS

功能:從源操作數(shù)所指定的存儲(chǔ)器單元中取出4個(gè)字節(jié)的變量地址指針,把前兩個(gè)字節(jié)(變量的偏移地址)傳送到目標(biāo)操作數(shù),后兩個(gè)字節(jié)(變量的段基址)傳送到DS段寄存器中。例子:LDSSI,[1000H]指令執(zhí)行前:DS=6000H,(61000H)=0600H,(61002H)=2000H指令執(zhí)行后:SI=0600H,DS=2000H注意:變量的16位地址偏移量必須傳送至一個(gè)16位的通用寄存器,典型為SI。不影響標(biāo)志位4.38086指令系統(tǒng)③附加段寄存器傳送指令LES

格式:LESREG,MEM;[MEM]REG[MEM+2]ES

功能:從源操作數(shù)所指定的存儲(chǔ)器單元中取出4個(gè)字節(jié)的變量地址指針,把前兩個(gè)字節(jié)(變量的偏移地址)傳送到目的操作數(shù),后兩個(gè)字節(jié)(變量的段基址)傳送到ES段寄存器中。例:設(shè)某雙字存儲(chǔ)單元偏移地址為3000H,雙字?jǐn)?shù)據(jù)為12345678H,則LDSSI,[3000H];DS=1234H,SI=5678HLESDI,[3000H];ES=1234H,DI=5678H4.標(biāo)志寄存器傳送指令4.38086指令系統(tǒng)

④FR寄存器出棧指令POPF

格式:POPF;FR[SS×16+SP]SP+2SP①FR寄存器低八位傳送至AH指令LAHF

格式:LAHF;FR-LAH②AH內(nèi)容送FR寄存器低八位指令SAHF

格式:SAHF;AHFR-L

③FR寄存器壓棧指令PUSHF

格式:PUSHF;FR[SS×16+SP-2]OFDFIFTFSFZFAFPFCFAHFLAGOFDFIFTFSFZFAFPFCFAHFLAG5.數(shù)據(jù)交換指令4.38086指令系統(tǒng)格式:XCHGOPR1,OPR2

;功能:將兩個(gè)操作數(shù)(字或字節(jié))相互交換位置操作數(shù):兩操作數(shù)可以是通用寄存器和存儲(chǔ)器。注意點(diǎn):兩操作數(shù)不能都是存儲(chǔ)器操作數(shù);兩操作數(shù)類型必須一致。例:設(shè)AX=31B0H,DS=3000H,BX=1800H,(31800H)=1995H,執(zhí)行指令XCHGAX,[BX]的過程為:執(zhí)行指令前AX31B0H31800H31801H31800H31801H執(zhí)行指令后AX95H19H31HB0H1995H6.換碼指令執(zhí)行的操作:AL←[(BX)+(AL)]又叫查表轉(zhuǎn)換指令,它可根據(jù)表項(xiàng)序號(hào)查出表中對(duì)應(yīng)代碼的內(nèi)容。執(zhí)行時(shí)先將表的首地址(偏移地址)送到BX中,表項(xiàng)序號(hào)存于AL中。例如:內(nèi)存數(shù)據(jù)段有一張16進(jìn)制數(shù)的ASCII碼表,設(shè)首地址為2000H,如欲查出表中第11個(gè)代碼(代碼序號(hào)從0開始)即十六進(jìn)制數(shù)B的ASCII碼。ASCII表在DS段中,并假設(shè)(DS)=4000H。4.38086指令系統(tǒng)303132...394142...4546...42000H+042000H+0BH‘0’‘1’‘2’‘9’‘A’‘B’‘E’‘F’十六進(jìn)制數(shù)ASCII碼表存儲(chǔ)器MOVBX,2000H;(BX)←表首地址MOVAL,0BH;(AL)←序號(hào)XALT;查表轉(zhuǎn)換執(zhí)行后得到:(AL)=42H=’B’注意:轉(zhuǎn)換表長度最大為256個(gè)表項(xiàng)(字節(jié))。7.輸入/輸出數(shù)據(jù)傳送指令:輸入輸出(I/O)指令4.38086指令系統(tǒng)②間接尋址I/O指令:INAL,DX;[DX]ALINAX,DX;[DX]AL,[DX+1]AHOUTDX,AL;AL[DX]OUTDX,AX;AL[DX],AH[DX+1]

只能使用AL或AX寄存器與I/O設(shè)備進(jìn)行數(shù)據(jù)交換

不影響FR①直接尋址I/O指令:INAL,PORT;[PORT]ALINAX,PORT;[PORT]AL,[PORT+1]AHOUTPORT,AL;AL[PORT]OUTPORT,AX;AL[PORT],AH[PORT+1]●間接尋址I/O指令必須使用DX為間址寄存器,指明I/O端口地址4.38086指令系統(tǒng)分為五個(gè)類型:加法指令減法指令乘法指令除法指令十進(jìn)制調(diào)整指令1.加法與減法指令

(1)

ADDDST,SRC

源操作數(shù):通用寄存器、存儲(chǔ)器、立即數(shù)目的操作數(shù):通用寄存器、存儲(chǔ)器執(zhí)行的操作:DST

DST+SRC

注:該指令影響標(biāo)志位注意:該指令適合有符號(hào)數(shù)和無符號(hào)數(shù)的運(yùn)算。DST+SRC

OSZAPC00100

1

00

0

4.3.2算術(shù)運(yùn)算指令4.38086指令系統(tǒng)例:MOVDX,4652HADDDX,0f0f0H4652+f0f0374210100011001010010+111100001111000000110111010000111執(zhí)行后:(DX)=3742HZ=0S=0C=1O=0

對(duì)無符號(hào)數(shù)溢出結(jié)果錯(cuò)對(duì)有符號(hào)數(shù)不溢出結(jié)果正確問:對(duì)帶符號(hào)數(shù)和無符號(hào)數(shù)怎樣判斷是否溢出?帶符號(hào)數(shù)的溢出用溢出標(biāo)志O判斷;無符號(hào)數(shù)的溢出用進(jìn)位標(biāo)志C判斷。4.38086指令系統(tǒng)(2)ADCDST,SRC

源操作數(shù):通用寄存器、存儲(chǔ)器、立即數(shù)目的操作數(shù):通用寄存器、存儲(chǔ)器執(zhí)行的操作:DST

DST+SRC+C

功能:主要用于多字節(jié)運(yùn)算

注:該指令影響標(biāo)志位

注意:該指令適合有符號(hào)數(shù)和無符號(hào)數(shù)的運(yùn)算。DST+SRC+C

OSZAPC

00100

1

00

0

4.38086指令系統(tǒng)(3)INCOPRD

操作數(shù):通用寄存器、存儲(chǔ)器(不能是段寄存器或立即數(shù))執(zhí)行的操作:OPRD

OPRD+1

功能:用于在循環(huán)中修改地址指針及循環(huán)次數(shù)等。注:該指令影響標(biāo)志位

例:INCBXINCbyteptr[SI]

注意:(1)該指令將操作數(shù)視為無符號(hào)數(shù);

(2)該指令不影響進(jìn)位標(biāo)志COPRD+1

OSZAP00100

1

00

0

4.38086指令系統(tǒng)(4)減法指令

SUBDST,SRC

源操作數(shù):通用寄存器、存儲(chǔ)器、立即數(shù)目的操作數(shù):通用寄存器、存儲(chǔ)器執(zhí)行的操作:DST

DST-SRC

注:該指令影響標(biāo)志位注意:該指令適合有符號(hào)數(shù)和無符號(hào)數(shù)的運(yùn)算。

DST-SRC

OSZAPC00100

1

00

0

4.38086指令系統(tǒng)(5)SBBDST,SRC

源操作數(shù):通用寄存器、存儲(chǔ)器、立即數(shù)目的操作數(shù):通用寄存器、存儲(chǔ)器執(zhí)行的操作:DST

DST-SRC–C

注:該指令影響標(biāo)志位

注意:該指令適合有符號(hào)數(shù)和無符號(hào)數(shù)的運(yùn)算。DST–SRC-C

OSZAPC00100

1

00

0

4.38086指令系統(tǒng)注意:同加法指令有符號(hào)數(shù)的溢出用溢出標(biāo)志O判斷;無符號(hào)數(shù)的溢出用進(jìn)位標(biāo)志C判斷。例:SUBDH,[BP+4](DH)=41H(SS)=0000H(BP)=00E4H(00E8H)=5AH結(jié)果:(DH)=0E7HS=1Z=0C=1O=0

如果為有符號(hào)數(shù)則結(jié)果正確(無溢出)如果為無符號(hào)數(shù)則結(jié)果錯(cuò)誤(有溢出)41-5AE701000001-0101101011100111114.38086指令系統(tǒng)(6)DECOPRD

操作數(shù):通用寄存器、存儲(chǔ)器(不能是段寄存器或立即數(shù))執(zhí)行的操作:OPRD

OPRD-1

功能:用于在循環(huán)中修改地址指針及循環(huán)次數(shù)等。注:該指令影響標(biāo)志位

例:DECBXDECwordptr[SI]

注意:(1)該指令將操作數(shù)視為無符號(hào)數(shù);

(2)該指令不影響進(jìn)位標(biāo)志COPRD-1

OSZAP00100

1

00

0

4.38086指令系統(tǒng)(7)NEGOPRD

操作數(shù):通用寄存器、存儲(chǔ)器執(zhí)行的操作:求補(bǔ)指令,將操作數(shù)按位取反后加1,再送回操作數(shù)。

對(duì)正數(shù)的補(bǔ)碼求補(bǔ)變?yōu)槠湄?fù)數(shù)的補(bǔ)碼,對(duì)負(fù)數(shù)的補(bǔ)碼求補(bǔ)變?yōu)槠湔龜?shù)的補(bǔ)碼。利用NEG指令可以求負(fù)數(shù)的絕對(duì)值。

注:該指令影響標(biāo)志位OPRD

OSZAPC00100

1

00

0

4.38086指令系統(tǒng)(8)CMPDST,SRC

源操作數(shù):通用寄存器、存儲(chǔ)器、立即數(shù)目的操作數(shù):通用寄存器、存儲(chǔ)器執(zhí)行的操作:

DST-SRC注:該指令影響標(biāo)志位注意:(1)該指令同SUB,但其不保存運(yùn)算結(jié)果;

(2)該指令后面通常跟一條轉(zhuǎn)移指令,根據(jù)標(biāo)志位產(chǎn)生不同的程序分支。DST-SRC

OSZAPC00100

1

00

0

4.38086指令系統(tǒng)比較指令主要用于兩個(gè)數(shù)之間的關(guān)系:大、小、相等。如:A,B1.比較相等。只要看Z標(biāo)志。Z=1——相等

Z=0——不相等。2.比小大小。分兩種情況。

?無符號(hào)數(shù)看進(jìn)(借)位C標(biāo)志。

1結(jié)論:C=1A<BC=0A>B

A=A0H10100000A=53H01010011B=53H-01010011B=A0H-10100000

01001101

00110011A>BA<B4.38086指令系統(tǒng)?帶符號(hào)數(shù)*同號(hào):不會(huì)溢出O=0,用符號(hào)位S判斷

A=24H00100100B=44H-01000100O=0

S=0A>B11100000S=1A<B*異號(hào):可能會(huì)溢出,用溢出位O和符號(hào)位S

判斷有溢出:

A=7FH01111111B=F0H-11110000O=1S=1A>B10001111S=0A<B

無溢出:

A=3FH00111111B=F0H-11110000O=0S=0A>B

01001111S=1A<B

結(jié)論:O⊕S=0A>BO⊕S=1A<B4.38086指令系統(tǒng)有符號(hào)數(shù)比較條件轉(zhuǎn)移指令:無符號(hào)數(shù)比較條件轉(zhuǎn)移指令:

JG標(biāo)號(hào)地址;dst>srcJA標(biāo)號(hào)地址;dst>src

JL標(biāo)號(hào)地址

;dst<srcJB標(biāo)號(hào)地址;dst<src

JGE標(biāo)號(hào)地址;dst≥srcJAE標(biāo)號(hào)地址;dst≥src

JLE標(biāo)號(hào)地址;dst≤srcJBE標(biāo)號(hào)地址

;dst≤src在分支程序設(shè)計(jì)中,常用CMP指令來產(chǎn)生條件,其后往往跟著一條條件轉(zhuǎn)移指令,由CMP指令為條件轉(zhuǎn)移指令提供控制轉(zhuǎn)移的依據(jù)。2.乘法指令與除法指令4.38086指令系統(tǒng)(1)MULSRC——無符號(hào)數(shù)乘法

源操作數(shù):通用寄存器、存儲(chǔ)器(不能是立即數(shù))目的操作數(shù):DX,AX(隱含)執(zhí)行的操作:字節(jié)操作(AH,AL)(AL)(SRC)字操作(DX,AX)(AX)(SRC)注:該指令影響標(biāo)志位AL

SRC

OC00100

1

00

0

注意:若結(jié)果的高半部分(字節(jié)相乘為AH,字相乘為DX)為0則C=0,O=0

為1則C=1,O=14.38086指令系統(tǒng)IMULSRC——帶符號(hào)數(shù)乘法

源操作數(shù):通用寄存器、存儲(chǔ)器(不能是立即數(shù))目的操作數(shù):DX,AX(隱含)執(zhí)行的操作:字節(jié)操作(AH,AL)(AL)(SRC)字操作(DX,AX)(AX)(SRC)

注:該指令影響標(biāo)志位AL

SRC

OC00100

1

00

0

注意:若結(jié)果的高半部分不是低半部分的符號(hào)擴(kuò)展的話,

則C=1,O=1

否則C=0,O=04.38086指令系統(tǒng)

(2)

除法指令

無符號(hào)數(shù)除法指令:DIVSRC

帶符號(hào)數(shù)除法指令:IDIVSRC

執(zhí)行操作:

字節(jié)操作(AL)

(AX)/(SRC)的商

(AH)

(AX)/(SRC)的余數(shù)字操作(AX)

(DX,AX)/(SRC)的商

(DX)

(DX,AX)/(SRC)的余數(shù)注意:*AX(DX,AX)為隱含的被除數(shù)寄存器。*AL(AX)為隱含的商寄存器。*AH(DX)為隱含的余數(shù)寄存器。*SRC不能為立即數(shù)。*對(duì)所有條件標(biāo)志位均無定義。如何判別結(jié)果有效?3.符號(hào)擴(kuò)展指令4.38086指令系統(tǒng)字?jǐn)U展成雙字指令CWD

格式:CWD;功能:將AX中的有符號(hào)數(shù)的符號(hào)位擴(kuò)展到DX中,

DX,AX中的數(shù)成為一個(gè)帶符號(hào)雙字●該類指令為隱含操作數(shù)字節(jié)擴(kuò)展成字指令CBW

格式:CBW;功能:將AL中的符號(hào)位擴(kuò)展到AH中,

AX為一個(gè)帶符號(hào)的16為數(shù)4.十進(jìn)制算術(shù)運(yùn)算指令(BCD碼調(diào)整指令)4.38086指令系統(tǒng)調(diào)整指令的約定:被調(diào)整的BCD碼運(yùn)算結(jié)果應(yīng)放在AL

中,調(diào)整后的正確結(jié)果返回AL中

●該類指令為隱含操作數(shù)

●有六種調(diào)整指令①壓縮BCD碼加法調(diào)整指令(不影響OF的狀態(tài))

注意點(diǎn):必須緊跟在加法指令之后且只能對(duì)AL中的內(nèi)容進(jìn)行調(diào)整。格式:DAA;指令功能:對(duì)在AL中兩個(gè)壓縮型BCD數(shù)相加的結(jié)果,調(diào)整成壓縮型BCD數(shù)在AL中;調(diào)整規(guī)律:AL低4位>9或AF=1AL=AL+06H,AF=1AL高4位>9或CF=1AL=AL+60H,CF=1標(biāo)志寄存器:影響CF、PF、AF、ZF、SF,其中CF=1說明結(jié)果大于99。例:MOVBL,35HMOVAL,85HADDAL,BLDAA

結(jié)果AL=20H,CF=1,AF=1,PF=0,ZF=0,SF=0壓縮BCD碼調(diào)整指令4.38086指令系統(tǒng)②壓縮BCD碼減法調(diào)整指令(不影響OF的狀態(tài))注意點(diǎn):必須緊跟在減法指令之后且只能對(duì)AL中的內(nèi)容進(jìn)行調(diào)整。指令功能:對(duì)在AL中兩個(gè)壓縮型BCD數(shù)相減的結(jié)果,調(diào)整成壓縮型BCD數(shù)在AL中;調(diào)整規(guī)律:AL低4位>9或AF=1AL=AL-06H,AF=1AL高4位>9或CF=1AL=AL-60H,CF=1

標(biāo)志寄存器:同DAA指令。

格式:DAS

;例:MOV AL,63H;(AL)=63H,表示壓縮BCD碼63MOV BL,28H;(BL)=28H,表示壓縮BCD碼28SUB AL,BL ;二進(jìn)制減法:(AL)=63H-28H=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論