第2章 8086的指令系統(tǒng)(二)_第1頁
第2章 8086的指令系統(tǒng)(二)_第2頁
第2章 8086的指令系統(tǒng)(二)_第3頁
第2章 8086的指令系統(tǒng)(二)_第4頁
第2章 8086的指令系統(tǒng)(二)_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第2章8086的指令系統(tǒng)(二)2.2算術運算類指令四則運算是計算機經常進行的一種操作。算術運算指令實現二進制(和十進制)數據的四則運算請注意算術運算類指令對標志的影響掌握:ADD/ADC/INC、SUB/SBB/DEC/NEG/CMP熟悉:MUL/IMUL、DIV/IDIV理解:CBW/CWD、DAA/DAS、AAA/AAS/AAM/AAD2加法指令ADDADD指令將源與目的操作數相加,結果送到目的操作數ADD指令按狀態(tài)標志的定義相應設置3ADDreg,imm/reg/mem

;reg←reg+imm/reg/memADDmem,imm/reg

;mem←mem+imm/reg例題2.17amoval,0fbh

;al=0fbh不影響標志位addal,07h

;al=02h標志位設置如下:;11111011;00000111;------------;(1)00000010;CFOFSFPFZFAF;1000014DEBUG演示!5例2.17a:加法運算moval,0fbh

;al=0fbhaddal,07h

;al=02hmovwordptr[200h],4652h

;[200h]=4652hmovbx,1feh

;bx=1fehaddal,bl

;al=00haddwordptr[bx+2],0f0f0h

;[200h]=3742h6ADD注意:標志位的設置,如教材。帶進位加法指令ADCADC指令將源與目的操作數相加,再加上進位CF標志,結果送到目的操作數ADC指令按狀態(tài)標志的定義相應設置ADC指令主要與ADD配合,實現多精度加法運算7ADCreg,imm/reg/mem

;reg←reg+imm/reg/mem+CFADCmem,imm/reg

;mem←mem+imm/reg+CF例題2.17b8例2.17b:用ADD、ADC指令執(zhí)行兩個雙字加法運算。注:雙字表示方法——DX:AX、BX:CX

計算:0002F360H

+0005E020H=0008D380H設執(zhí)行指令前:

(DX)=0002H,(AX)=F360H,

(BX)=0005H,(CX)=E020HADDAX,CXADCDX,BX

執(zhí)行第一條指令ADD:

F360H

+E020H(AX)=D380H,SF=1,ZF=0CF=1,OF=0執(zhí)行第二條指令ADC:

0002H+0005H+1H

(CF)

(DX)=0008H,SF=0,ZF=0CF=0,OF=01←D380H0008H增量指令INC(increment)INC指令對操作數加1(增量)INC指令不影響進位CF標志,按定義設置其他狀態(tài)標志9INCreg/mem;reg/mem←reg/mem+1例:INCCX設指令執(zhí)行前:(CX)=0005H

指令執(zhí)行后:(CX)=0006H

ADDCX,1

(一般不用這種方式)

減法指令SUB(subtract)SUB指令將目的操作數減去源操作數,結果送到目的操作數SUB指令按照定義相應設置狀態(tài)標志10SUBreg,imm/reg/mem

;reg←reg-imm/reg/memSUBmem,imm/reg

;mem←mem-imm/reg例題2.18a例2.18a:減法運算moval,0fbh

;al=0fbhsubal,07h

;al=0f4h,CF=0movwordptr[200h],4652h

;[200h]=4652hmovbx,1feh

;bx=1fehsubal,bl

;al=0f6hsubwordptr[bx+2],0f0f0h

;[200h]=5562h,CF=111SUB帶借位減法指令SBBSBB指令將目的操作數減去源操作數,再減去借位CF(進位),結果送到目的操作數。SBB指令按照定義相應設置狀態(tài)標志SBB指令主要與SUB配合,實現多精度減法運算12SBBreg,imm/reg/mem

;reg←reg-imm/reg/mem-CFSBBmem,imm/reg

;mem←mem-imm/reg-CF例題2.18b例2.18b:雙字減法movax,4652h ;ax=4652hsubax,0f0f0h ;ax=5562h,CF=1movdx,0234h ;dx=0234hsbbdx,0f0f0h ;dx=1143h,CF=1;DX.AX=02344652H

-F0F0F0F0H

=11435562H13SBB減量指令DEC(decrement)DEC指令對操作數減1(減量)DEC指令不影響進位CF標志,按定義設置其他狀態(tài)標志14DECreg/mem;reg/mem←reg/mem-1INC指令和DEC指令都是單操作數指令主要用于對計數器和地址指針的調整求補指令NEG(negative)NEG指令對操作數執(zhí)行求補運算:用零減去操作數,然后結果返回操作數求補運算也可以表達成:將操作數按位取反后加1NEG指令對標志的影響與用零作減法的SUB指令一樣15NEGreg/mem;reg/mem←0-reg/mem例題2.19

求補運算不等于求負數的補碼!例2.19:求補運算movax,0ff64hnegal;ax=ff9ch,OF=0、SF=1、ZF=0、PF=1、CF=1subal,9dh;ax=ffffh,OF=0、SF=1、ZF=0、PF=1、CF=1negax;ax=0001h,OF=0、SF=0、ZF=0、PF=0、CF=1decal;ax=0000h,OF=0、SF=0、ZF=1、PF=1、CF=1negax;ax=0000h,OF=0、SF=0、ZF=1、PF=1、CF=016NEG比較指令CMP(compare)CMP指令將目的操作數減去源操作數,按照定義相應設置狀態(tài)標志CMP指令執(zhí)行的功能與SUB指令,但結果不回送目的操作數17CMPreg,imm/reg/mem ;reg-imm/reg/memCMPmem,imm/reg ;mem-imm/reg例題2.20例2.20:比較AL與100

cmpal,100

;al-100

jbbelow

;al<100,跳轉到below執(zhí)行

subal,100

;al≥100,al←al-100

incah

;ah←ah+1below: ...18

執(zhí)行比較指令之后,可以根據標志判斷兩個數是否相等、大小關系等CMP19例:x、y、z均為雙精度數,分別存放在地址為X,X+2;Y,Y+2;Z,Z+2的存儲單元中,用指令序列實現wx+y+24-z,并用W,W+2單元存放w。

MOVAX,XMOVDX,X+2ADDAX,YADCDX,Y+2;x+yADDAX,24ADCDX,0;x+y+24SUBAX,ZSBBDX,Z+2;x+y+24-zMOVW,AXMOVW+2,DX;結果存入W,W+2單元2.2.3乘法指令MULr8/m8;無符號字節(jié)乘法;AX←AL×r8/m8MULr16/m16;無符號字乘法;DX.AX←AX×r16/m16IMULr8/m8;有符號字節(jié)乘法;AX←AL×r8/m8IMULr16/m16;有符號字乘法;DX.AX←AX×r16/m1620例題2.21說明乘法指令的功能乘法指令分無符號和有符號乘法指令乘法指令的源操作數顯式給出,隱含使用另一個操作數AX和DX字節(jié)量相乘:AL與r8/m8相乘,得到16位的結果,存入AX字量相乘:AX與r16/m16相乘,得到32位的結果,其高字存入DX,低字存入AX乘法指令利用OF和CF判斷乘積的高一半是否具有有效數值21乘法指令對標志的影響乘法指令如下影響OF和CF標志:MUL指令——若乘積的高一半(AH或DX)為0,則OF=CF=0;否則OF=CF=1IMUL指令——若乘積的高一半是低一半的符號擴展,則OF=CF=0;否則均為1乘法指令對其他狀態(tài)標志沒有定義22

對標志沒有定義:指令執(zhí)行后這些標志是任意的、不可預測(就是誰也不知道是0還是1)對標志沒有影響:指令執(zhí)行不改變標志狀態(tài)例2.21:乘法運算moval,0b4h ;al=b4h=180movbl,11h ;bl=11h=17mulbl ;ax=Obf4h=3060;OF=CF=1,AX高8位不為0moval,0b4h ;al=b4h=-76movbl,11h ;bl=11h=17imulbl ;ax=faf4h=-1292;OF=CF=1,AX高8位含有效數字23分析:如果將上例中BL值改為1,則標志位為?2.2.4除法指令DIVr8/m8 ;無符號字節(jié)除法:AL←AX÷r8/m8的商,Ah←AX÷r8/m8的余數DIVr16/m16

;無符號字除法:;AX←DX.AX÷r16/m16的商,DX←DX.AX÷r16/m16的余數24IDIVr8/m8 ;有符號字節(jié)除法:AL←AX÷r8/m8的商,Ah←AX÷r8/m8的余數IDIVr16/m16

;有符號字除法:;AX←DX.AX÷r16/m16的商,DX←DX.AX÷r16/m16的余數例題2.22說明除法指令的功能除法指令分無符號和有符號除法指令除法指令的除數顯式給出,隱含使用另一個操作數AX和DX作為被除數字節(jié)量除法:AX除以r8/m8,8位商存入AL,8位余數存入AH字量除法:DX.AX除以r16/m16,16位商存入AX,16位余數存入DX除法指令對標志沒有定義除法指令會產生結果溢出25除法錯中斷當被除數遠大于除數時,所得的商就有可能超出它所能表達的范圍。如果存放商的寄存器AL/AX不能表達,便產生溢出,8086CPU中就產生編號為0的內部中斷——除法錯中斷對DIV指令,除數為0,或者在字節(jié)除時商超過8位,或者在字除時商超過16位對IDIV指令,除數為0,或者在字節(jié)除時商不在-128~127范圍內,或者在字除時商不在-32768~32767范圍內26例2.22:除法運算movax,0400h ;ax=400h=1024movbl,0b4h ;bl=b4h=180divbl ;商al=05h=5

;余數ah=7ch=124movax,0400h

;ax=400h=1024movbl,0b4h ;bl=b4h=-76idivbl ;商al=f3h=-13

;余數ah=24h=3627分析:如果將上例中BL值改為1,有什么問題?2.2.5符號擴展指令CBW ;AL的符號擴展至AH;如AL的最高有效位是0,則AH=00;AL的最高有效位為1,則AH=FFH。AL不變CWD ;AX的符號擴展至DX;如AX的最高有效位是0,則DX=00;AX的最高有效位為1,則DX=FFFFH。AX不變28什么是符號擴展符號擴展指令常用于獲得倍長的數據例題2.23例題2.24符號擴展的概念符號擴展是指用一個操作數的符號位(即最高位)形成另一個操作數,后一個操作數的各位是全0(正數)或全1(負數)。符號擴展不改變數據大小對于數據64H(表示數據100),其最高位D7為0,符號擴展后高8位都是0,成為0064H(仍表示數據100)對于數據FF00H(表示有符號數-256),其最高位D15為1,符號擴展后高16位都是1,成為FFFFFF00H(仍表示有符號數-256)29例2.23:符號擴展moval,80h ;al=80hcbw

;ax=ff80haddal,255

;al=7fhcbw

;ax=007fh30例2.24:AX÷BXcwd ;DX.AX←AXidivbx ;AX←DX.AX÷BX31

對有符號數除法,可以利用符號擴展指令得到倍長于除數的被除數對無符號數除法,采用直接使高8位或高16位清0,獲得倍長的被除數。這就是零位擴展2.2.6十進制調整指令32BCD碼有壓縮和非壓縮兩種格式:例:(95)10=(10010101)BCD

壓縮的BCD碼:用四位二進制數表示一位十進制數非壓縮的BCD碼:用八位二進制數表示一位十進制數例:(95)10=(0000100100000101)BCD

BCD碼

BCD碼—>建立了二進制與十進制的聯系算術運算指令只能完成二進制運算,十進制數調整指令可二進制運算結果進行調整,得到用BCD碼表示的十進制數。33

8位非壓縮BCD碼的高4位可以是任意值,因此數字字符的ASCII碼看成一種非標準的壓縮的BCD碼例:5的ASCII碼為35H(00110101)B

十進制調整指令共有6條指令,分為:

(1)壓縮的BCD碼調整指令(2)非壓縮的BCD碼調整指令5

(非壓縮的BCD碼)34例:十進制計算28+36=64

28H+36H

5EH用指令進行二進制加法運算的結果為:

寫成BCD碼應為

:(00101000

)BCD+(00110110

)BCD=(01100100

)BCD

問題:逢十六進位解決方法:

5EH+6H

64H

(01100100

)BCD加6補償加法的調整規(guī)則:

以壓縮的BCD碼加法調整指令為例介紹十進制調整指令的基本思路和方法:35例:十進制計算28+69=97

28H+69H

91H用指令進行二進制加法運算的結果為:

寫成BCD碼為

:(00101000

)BCD+(01101001

)BCD=(10010111

)BCD

問題:逢十六進位解決方法:

91H+6H

97H

(10010111

)BCD加6補償根據上述分析,總結加法的調整規(guī)則:兩個BCD碼數位相加后,若產生了進位或和大于9,加6調整。36十進制調整指令DAA:DAA

(AL)

把AL中存放的加法的和調整為壓縮的BCD碼

若AF=1,或(AL)0~3=A~F若CF=1,或(AL)4~7=A~F則(AL)←(AL)+

60H,CF=1則(AL)←(AL)+

06H,AF=1調整方法

37例:十進制加法計算:28+69=97

設執(zhí)行指令前:(AL)=(00101000)BCD=28H(=28D)

(CL)=(01101001)BCD=69H(=69D)

執(zhí)行的指令為:ADDAL,CLDAA執(zhí)行ADD指令:(AL)=91H,CF=0,AF=1執(zhí)行DAA指令:(AL)←(AL)+06H=91H+06H=

97H

(AL)=(10010111)BCD=97D,CF=0,AF=1壓縮BCD碼加、減調整指令(ADDAL,i8/r8/m8)(ADCAL,i8/r8/m8)DAA;AL←將AL的加和調整為壓縮BCD碼(SUBAL,i8/r8/m8)(SBBAL,i8/r8/m8)DAS;AL←將AL的減差調整為壓縮BCD碼38使用DAA或DAS指令前,應先執(zhí)行以AL為目的操作數的加法或減法指令DAA和DAS指令對OF標志無定義,按結果影響其他標志,例如CF反映壓縮BCD碼相加或減的進位或借位狀態(tài)例題2.25a例題2.25b例題2.26例2.25a:壓縮BCD加法moval,68h;al=68h,壓縮BCD碼表示真值68movbl,28h;bl=28h,壓縮BCD碼表示真值28addal,bl;二進制加法:al=68h+28h=90hdaa

;十進制調整:al=96h;實現壓縮BCD碼加法:68+28=9639例2.25b:壓縮BCD減法moval,68h;al=68h,壓縮BCD碼表示真值68movbl,28h;bl=28h,壓縮BCD碼表示真值28subal,bl;二進制減法:al=68h-28h=40hdas

;十進制調整:al=40h;實現壓縮BCD碼加法:68-28=4040例2.26:壓縮BCD減法movax,1234hmovbx,4612hsubal,bldas

;34-12=22,CF=0xchgal,ahsbbal,bhdas

;12-46=66,CF=1xchgal,ah ;11234-4612=662241非壓縮BCD碼加、減調整指令(ADDAL,i8/r8/m8)(ADCAL,i8/r8/m8)AAA;AL←將AL的加和調整為非壓縮BCD碼;AH←AH+調整的進位(SUBAL,i8/r8/m8)(SBBAL,i8/r8/m8)AAS;AL←將AL的減差調整為非壓縮BCD碼;AH←AH-調整的借位42使用AAA或AAS指令前,應先執(zhí)行以AL為目的操作數的加法或減法指令AAA和AAS指令在調整中產生了進位或借位,則AH要加上進位或減去借位,同時CF=AF=1,否則CF=AF=0;它們對其他標志無定義例題2.27a例題2.27b例2.27a:非壓縮BCD加movax,0608h;ax=0608h,非壓縮BCD碼表示真值68movbl,09h;bl=09h,非壓縮BCD碼表示真值9addal,bl;二進制加法:al=08h+09h=11haaa;十進制調整:ax=0707h;實現非壓縮BCD碼加法:68+9=7743例2.27b:非壓縮BCD減movax,0608h;ax=0608h,非壓縮BCD碼表示真值68movbl,09h;bl=09h,非壓縮BCD碼表示真值9subal,bl;二進制減法:al=08h-09h=ffhaas;十進制調整:ax=0509h;實現非壓縮BCD碼減法:68-9=5944非壓縮BCD碼乘、除調整指令(MULr8/m8)AAM;AX←將AX的乘積調整為非壓縮BCD碼AAD;AX←將AX中非壓縮BCD碼擴展成二進制數(DIVr8/m8)45AAM指令跟在字節(jié)乘MUL之后,將乘積調整為非壓縮BCD碼AAD指令跟在字節(jié)除DIV之前,先將非壓縮BCD碼的被除數調整為二進制數AAM和AAD指令根據結果設置SF、ZF和PF,但對OF、CF和AF無定義例題2.27c例題2.27d例2.27c:非壓縮BCD乘movax,0608h;ax=0608h,非壓縮BCD碼表示真值68movbl,09h;bl=09h,非壓縮BCD碼表示真值9mulbl;二進制乘法:al=08h×09h=0048haam;十進制調整:ax=0702h;實現非壓縮BCD碼乘法:8×9=7246例2.27d:非壓縮BCD除movax,0608h;ax=0608h,非壓縮BCD碼表示真值68movbl,09h;bl=09h,非壓縮BCD碼表示真值9aam;二進制擴展:ax=68=0044hdivbl;除法運算:商al=07h,余數ah=05h;實現非壓縮BCD碼初法:

68÷9=7(余5)47習題2.9設X、Y、Z、V均為16位帶符號數,分別存放在X、Y、Z、V存儲單元中,閱讀如下程序段,得出它的運算公式,并說明運算結果存于何處?48VZYX65F3020024E00500習題2.9:算術運算1movax,XimulY ;DX.AX=X×Ymovcx,axmovbx,dx ;BX.CX=X×Ymovax,Zcwdaddcx,axadcbx,dx ;BX.CX=X×Y+Z49習題2.9:算術運算2subcx,540sbbbx,0;BX.CX=X×Y+Z-540movax,Vcwdsubax,cxsbbdx,bx;DX.AX=V-(X×Y+Z-540)idivX;DX.AX=(V-(X×Y+Z-540))÷X50教學提示在正確理解每條指令的功能基礎上,可以閱讀和編寫有實際意義的程序段51多多閱讀程序段2.3位操作類指令位操作類指令以二進制位為基本單位進行數據的操作注意這些指令對標志位的影響1、邏輯運算指令ANDORXORNOTTEST2、移位指令SHLSHRSAR3、循環(huán)移位指令ROLRORRCLRCR5253邏輯非指令:NOTOPR*OPR不能為立即數

執(zhí)行操作:(OPR)

(OPR)*不影響標志位

邏輯與指令:ANDDST,SRC執(zhí)行操作:(DST)(DST)(SRC)邏輯或指令:ORDST,SRC執(zhí)行操作:(DST)(DST)(SRC)異或指令:XORDST,SRC執(zhí)行操作:(DST)(DST)(SRC)測試指令:TESTOPR1,OPR2

執(zhí)行操作:(OPR1)(OPR2)CFOFSFZFPFAF00***無定義

根據運算結果設置2.3.1邏輯運算指令例題:邏輯運算moval,45h

;邏輯與al=01handal,31h ;CF=OF=0,SF=0、ZF=0、PF=0moval,45h

;邏輯或al=75horal,31h

;CF=OF=0,SF=0、ZF=0、PF=0moval,45h

;邏輯異或al=74hxoral,31h ;CF=OF=0,SF=0、ZF=0、PF=1moval,45h

;邏輯非al=0bahnotal

;標志不變54例2.32:測試為0或1testal,01h ;測試AL的最低位D0jnzthere

;標志ZF=0,即D0=1

;則程序轉移到there...;否則ZF=1,即D0=0,順序執(zhí)行there:...55TEST指令通常用于檢測一些條件是否滿足,但又不希望改變原操作數的情況TEST邏輯運算指令的妙用56源操作數1—保留原值

0—置0特點:

1010

0

011

目的操作數源操作數(1)邏輯與操作保留清00010

何時該用何種邏輯操作?邏輯運算指令的妙用57源操作數1—置10—保留原值特點:

10100

011

目的操作數源操作數(2)邏輯或操作置1保留1011

源操作數1—取反0—保留原值特點:10100011

目的操作數源操作數(3)異或操作求反保留1001邏輯運算指令的妙用58

如何確定源操作數?

例:將AL的D0位和D1位清0。

設(AL)=BFH,指令為AND AL,

?分析:10111111B

11111100B

(FCH)10111100B應將源操作數取為立即數FCH,指令為:

ANDAL,0FCH

執(zhí)行指令后:(AL)=BCH

根據上述操作的特點,可以確定該用什么操作實現需要的功能:保留某些位(其他位清0)用邏輯與操作某位置1

用邏輯或操作,某位求反用異或操作

邏輯運算指令的妙用59例:將AL中的大寫字母轉換為小寫字母(AL)=41H即41H61H指令為:ORAL,?分析:01000001B(41H)

00100000B(20H)20H執(zhí)行指令后:(AL)=61H小寫轉換為大寫的指令為:

ANDAL,?0DFH∧

110

11111B

(DFH)執(zhí)行指令后:(AL)=41H

01100001B(61H)

0100

0001B(41H)

根據需要的功能,先確定邏輯運算指令,再利用邏輯運算指令的特點確定源操作數。

邏輯運算方法:2.3.2移位指令(shift)601)邏輯左移指令

SHLopr,count2)算術左移指令SAL opr,countoprCF補0SHL/SAL移位例:將BL中的值邏輯左移1位,設(BL)=AFHSHL BL,1101011110指令執(zhí)行前010

1111

01指令執(zhí)行后執(zhí)行指令后:(BL)=5EH(分為邏輯移位、算術移位和循環(huán)移位三類)2.3.2移位指令(shift)613)邏輯右移指令

SHRopr,count4)算術右移指令SAR opr,countoprCF補0SHR移位S保持符號SAR移位例:將BL中的值邏輯右移1位,設(BL)=AFH

SHR BL,1

1010

11110指令執(zhí)行前0

1010

1111指令執(zhí)行后執(zhí)行指令后:

(BL)=57H2.3.2移位指令(shift)62例:將BL中的值算術右移1位,設(BL)=AFHSAR BL,11

010

11110指令執(zhí)行前執(zhí)行指令后:(BL)=D7H1

10101111指令執(zhí)行后

邏輯移位總是補0

,算術移位保持符號。注意:

*OPR可用立即數以外的任何尋址方式*count

=1,SHLOPR,1

count

>1,MOVCL,count

SHLOPR,CL;以SHL為例*條件標志位:

CF=移入的數值

OF=1count

=1時,最高有效位的值發(fā)生變化

OF=0count

=1時,最高有效位的值不變移位指令:

SF、ZF、PF根據移位結果設置

AF無定義63例2.33:移位指令movcl,4moval,0f0h

;al=f0hshlal,1

;al=e0h;CF=1,SF=1、ZF=0、PF=0,OF=0shral,1

;al=70h;CF=0,SF=0、ZF=0、PF=0、OF=1saral,1

;al=38h;CF=0,SF=0、ZF=0、PF=0、OF=0saral,cl

;al=03h;CF=1,SF=0、ZF=0、PF=164移位指令的妙用注意

邏輯左移一位相當于無符號數乘以2

邏輯右移一位相當于無符號數除以2算術左移一位相當于有符號數乘以2算術右移一位相當于有符號數除以265MOVAL,15SHRAL,1;(AL)=7,相當于AL←(AL)÷2,CF=166PUSH BX ;保護BX寄存器的原來的值

SHL AX,1;左移一位,AX←(原AX)×2MOV BX,AX;BX←2(原AX)

SHL AX,1;左移一位,AX←4(原AX)

SHL AX,1 ;左移一位,AX←8(原AX)

ADD AX,BX;AX←原(8AX)+原(2AX)

POP BX ;恢復BX寄存器的原來的值[例]用移位指令實現AX←(AX)×10例2.34:移位實現乘實現:DX=3*AX+7*BXmovsi,axshlsi,1 ;si←2×axaddsi,ax ;si←3×axmovdx,bxmovcl,03hshldx,cl ;dx←8×bxsubdx,bx ;dx←7×bxadddx,si ;dx←7×bx+3×ax6768例:已知:(BX)=84F0H,請寫一條指令完成以下要求:(1)(BX)為無

溫馨提示

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

評論

0/150

提交評論