《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》習(xí)題答案_第1頁
《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》習(xí)題答案_第2頁
《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》習(xí)題答案_第3頁
《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》習(xí)題答案_第4頁
《ARM嵌入式系統(tǒng)結(jié)構(gòu)與編程》習(xí)題答案_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1章 緒論 1.國內(nèi)嵌入式系統(tǒng)行業(yè)對“嵌入式系統(tǒng)”的定義是什么?如何理解? 答:見教材1.1節(jié)。 2.嵌入式系統(tǒng)是從何時(shí)產(chǎn)生的,簡述其發(fā)展歷程。 答:見教材1.1節(jié)。 3.當(dāng)前最常見的源碼開放的嵌入式操作系統(tǒng)有哪些,請舉出兩例,并分析其特點(diǎn)。 答:見教材1.2.1節(jié)的嵌入式Linux和嵌入式實(shí)時(shí)操作內(nèi)核UC /OS-I。 4.舉例說明嵌入式設(shè)備在工控設(shè)備中的應(yīng)用。 答:見教材1.3節(jié)的“工業(yè)控制領(lǐng)域”。 5.未來嵌入式技術(shù)的發(fā)展趨勢有哪些? 答:見教材1.4節(jié)的嵌入式技術(shù)的發(fā)展趨勢。 2章 ARM技術(shù)與ARM體系結(jié)構(gòu) 1簡述ARM處理器內(nèi)核調(diào)試結(jié)構(gòu)原理。 答:對教材1.2節(jié)的圖2-1進(jìn)行描述。

2、 2.分析ARM7TDMI-S各字母所代表的含義。 答:參考教材2.12 ARM核版本命名規(guī)則說明。3ARM處理器的工作模式有哪幾種,其中哪些為特權(quán)模式,哪些為異常模式,并指出處理器在什么情況下進(jìn)入相應(yīng)的模式。 ARM處理器共有7種工作模式: 用戶模式:非特權(quán)模式,也就是正常程序執(zhí)行的模式,大部分任務(wù)在這種模式 下執(zhí)行。在用戶模式下,如果沒異常發(fā)生,不允許應(yīng)用程序自行改變處理器的工作模式,如果有異常發(fā)生,處理器會(huì)自動(dòng)切換工作模式 FIQ模式:也稱為快速中斷模式,支持高速數(shù)據(jù)傳輸和通道處理,當(dāng)一個(gè)高優(yōu)(fast)中斷產(chǎn)生時(shí)將會(huì)進(jìn)入這種模式。 IRQ模式:也稱為普通中斷模式,:當(dāng)一個(gè)低優(yōu)先級中斷產(chǎn)

3、生時(shí)將會(huì)進(jìn)入這種模式。在這模式下按中斷的處理器方式又分為向量中斷和非向量中斷兩種。通常的中斷處理都在IRQ模式下進(jìn)行。 SVC模式:稱之為管理模式,它是一種操作系統(tǒng)保護(hù)模式。當(dāng)復(fù)位或軟中斷指令執(zhí)行時(shí)處理器將進(jìn)入這種模式。 中止模式:當(dāng)存取異常時(shí)將會(huì)進(jìn)入這種模式,用來處理存儲(chǔ)器故障、實(shí)現(xiàn)虛擬存儲(chǔ)或存儲(chǔ)保護(hù)。 未定義指令異常模式:當(dāng)執(zhí)行未定義指令時(shí)會(huì)進(jìn)入這種模式,主要是用來處理 未定義的指令陷阱,支持硬件協(xié)處理器的軟件仿真,因?yàn)槲炊x指令多發(fā)生在對協(xié)處理器的操作上。 系統(tǒng)模式:使用和User模式相同寄存器組的特權(quán)模式,用來運(yùn)行特權(quán)級的操作系統(tǒng)任務(wù)。 在這7種工作模式中,除了用戶模式以外,其他6種處

4、理器模式可以稱為特權(quán)模式,在這些模式下,程序可以訪問所有的系統(tǒng)資源,也可以任意地進(jìn)行處理器模式的切換。在這6種特權(quán)模式中,除了系統(tǒng)模式外的其他5種特權(quán)模式又稱為異常模式 4分析程序狀態(tài)寄存器(PSR)各位的功能描述,并說明C、Z、N、V在什么情況下進(jìn)行置位和清零。 PSR的具體格式為 V溢出標(biāo)志位 對于加/減法運(yùn)算指令,當(dāng)操作數(shù)和運(yùn)算結(jié)果為二進(jìn)制補(bǔ)碼表示的帶符號數(shù)時(shí),V1表示符號位溢出,其他的指令通常不影響V位。 例如:兩個(gè)正數(shù)(最高位為0)相加,運(yùn)算結(jié)果為一個(gè)負(fù)數(shù)(最高位為1),則符號位溢出,相應(yīng)V=1。 C進(jìn)位或借位標(biāo)志位 對于加法指令(包括比較指令CMN),結(jié)果產(chǎn)生進(jìn)位,則C1,表示無符

5、號數(shù)運(yùn)算發(fā)生上溢出,其他情況下C0; 在減法指令中(包括比較指令CMP),結(jié)果產(chǎn)生借位,則C0,表示無符號數(shù)運(yùn)算發(fā)生下溢出,其他情況下C1; 對于包含移位操作的非加/減法運(yùn)算指令,C中包含最后一次溢出位的數(shù)值; 對于其他非加/減法運(yùn)算指令,C位的值通常不受影響。 Z結(jié)果為0標(biāo)志位 Z1表示運(yùn)算結(jié)果是0,Z0表示運(yùn)算結(jié)果不是零; 對于CMP指令,Z1表示進(jìn)行比較的兩個(gè)數(shù)大小相等。 NT符號標(biāo)志位 本位設(shè)置成當(dāng)前指令運(yùn)算結(jié)果的bit31的值。當(dāng)兩個(gè)補(bǔ)碼表示有符號整數(shù)運(yùn)算時(shí),N1表示運(yùn)算的結(jié)果為負(fù)數(shù),N0 表示結(jié)果為正數(shù)或零。 5.簡述ARM處理器異常處理和程序返回的過程。 答:ARM在異常產(chǎn)生時(shí)會(huì)

6、進(jìn)行以下操作: (1) 將引起異常指令的下一條指令地址保存到新的異常模式的LR中,使異 常處理程序執(zhí)行完后能根據(jù)LR中的值正確返回; (2) 將CPSR的內(nèi)容復(fù)制到新的異常模式下的SPSR中; (3) 根據(jù)異常類型將CPSR模式控制位強(qiáng)制設(shè)定為發(fā)生異常所對應(yīng)的模式值; (4) 強(qiáng)制PC指向相應(yīng)的異常向量地址。 ARM在異常返回時(shí) (1) 從 SPSR_<mode>恢復(fù)CPSR; (2) 從LR_<mode>恢復(fù)PC 。 6.ARM處理器字?jǐn)?shù)據(jù)的存儲(chǔ)格式有哪兩種?并指出這兩種格式的區(qū)別。 答: 1) 小端存儲(chǔ)格式(Little-Endian) 在小端存儲(chǔ)格式中,對于地址為

7、A的字單元,其中字節(jié)單元由低位到高位字節(jié)地址順序?yàn)锳,A+1,A+2,A+3;對于地址為A的半字單元,其中字節(jié)單元由低位到高位字節(jié)地址順序?yàn)锳,A+1; 2) 大端存儲(chǔ)格式(Big-Endian) 在大端存儲(chǔ)格式中,對于地址為A的字單元,其中字節(jié)單元由高位到低位字節(jié)地址順序?yàn)锳,A+1,A+2,A+3;對于地址為A的半字單元,其中字節(jié)單元由高位到低位字節(jié)地址順序?yàn)锳,A+1。7 分析帶有存儲(chǔ)器訪問指令(LDR)的流水線運(yùn)行情況,并用圖示說明其流水線的運(yùn)行機(jī)制。 答:在ARM三級流水線下: 對存儲(chǔ)器的訪問指令LDR就是非單周期指令。這類指令在“執(zhí)行”階段后,還要進(jìn)行“存儲(chǔ)器訪問”和“寄存器回寫”

8、操作,每一步占用1個(gè)時(shí)鐘周期。在指令執(zhí)行時(shí)空圖中,處于時(shí)鐘周期T5時(shí),LDR指令要進(jìn)行數(shù)據(jù)的存儲(chǔ)器操作(訪存),在時(shí)鐘周期T6要進(jìn)行寄存器的回寫操作,這兩步還要占用執(zhí)行單元,因此其下1條指令的“執(zhí)行”就被阻斷了,其下數(shù)第2條指令的譯碼被阻斷,要等待LDR指令 操作完畢后,流水線的正常運(yùn)行才能被恢復(fù)。 在圖中,處理器用6個(gè)時(shí)鐘周期執(zhí)行了4條指令,指令平均周期數(shù)(CPI) = 1.5 時(shí)鐘周期。 8簡述ARM9的5級流水線每一級所完成的功能和實(shí)現(xiàn)的操作。 答:在ARM9在指令操作上采用5級流水線。 1) 取指:從指令Cache中讀取指令。 2) 譯碼:對指令進(jìn)行譯碼,識(shí)別出是對哪個(gè)寄存器進(jìn)行操作并

9、從通用寄存器中讀取操作數(shù)。 3) 執(zhí)行:進(jìn)行ALU運(yùn)算和移位操作,如果是對存儲(chǔ)器操作的指令,則在ALU中計(jì)算出要訪問的存儲(chǔ)器地址。 4) 存儲(chǔ)器訪問:如果是對存儲(chǔ)器訪問的指令,用來實(shí)現(xiàn)數(shù)據(jù)緩沖功能(通過數(shù)據(jù)Cache);如果不是對存儲(chǔ)器訪問的指令,本級流水線為一個(gè)空的時(shí)鐘周期。 寄存器回寫:將指令運(yùn)算或操作結(jié)果寫回到目標(biāo)寄存器中。 9 什么叫做流水線互鎖?應(yīng)如何來解決,舉例說明。 答: 在流水線運(yùn)行過程中可能會(huì)出現(xiàn)這種情況:當(dāng)前指令的執(zhí)行可能需要前面指令的執(zhí)行結(jié)果,但這時(shí)前面的指令沒有執(zhí)行完畢,從而會(huì)導(dǎo)致當(dāng)前指令的執(zhí)行無法獲得合法的操作數(shù),這時(shí)就會(huì)引起流水線的等待,這種現(xiàn)象在流水線機(jī)制里稱為互

10、鎖。 舉例:參見教材第29頁: 當(dāng)互鎖發(fā)生時(shí),硬件會(huì)停止這個(gè)指令的執(zhí)行,直到數(shù)據(jù)準(zhǔn)備好為止。如圖所示,LDR指令進(jìn)行完執(zhí)行階段,還需要兩個(gè)時(shí)鐘周期來完成存儲(chǔ)器訪問和寄存器寫操作,但這時(shí)指令MOV中用到的R9正是LDR中需要進(jìn)行寄存器加載操作后的寄存器, 因此MOV要進(jìn)行等待,直到LDR指令的寄存器寫操作完成。 3章 ARM指令集尋址方式1 在指令編碼中,條件碼占有幾位,最多有多少個(gè)條件,各個(gè)條件是如何形成的?答:見教材3.1節(jié)的描述。 2指令條件碼中,V標(biāo)志位在什么情況下才能等于1? 答:當(dāng)指令的算術(shù)運(yùn)算發(fā)生異常時(shí),V標(biāo)志位置1。例如,兩個(gè)正數(shù)相加,其結(jié)果為一負(fù)數(shù);或者是兩個(gè)負(fù)數(shù)相加,其結(jié)果為

11、一正數(shù),都會(huì)置V標(biāo)志位。 3在ARM指令中,什么是合法的立即數(shù)?判斷下面各立即數(shù)是否合法,如果合法則寫出在指令中的編碼格式(也就是8位常數(shù)和4位的移位數(shù))。 0x5430 0x108 0x304 0x501 0xFB10000 0x334000 0x3FC000 0x1FE0000 0x5580000 0x7F800 0x39C000 0x1FE80000 答:每個(gè)立即數(shù)由一個(gè)8位的常數(shù)進(jìn)行32位循環(huán)右移偶數(shù)位得到,其中循環(huán)右移的位數(shù)由一個(gè)4位二進(jìn)制的兩倍表示。即: <immediate>=immed_進(jìn)行32位循環(huán)右移(2*rotate_4)位 符合這一條件的都為合法的立即數(shù)。

12、0x5430 0B 0101 0100 0011 0000 不合法 0x108 0B 0001 0000 1000 1111 01000010(30/2) 0x304 0B 0011 0000 0100 1111 11000001(30/2) 0x501 0B 0101 0000 0001 不合法 0xFB10000 0B 1111 1011 0001 0000 0000 0000 不合法 0x334000 0B 0011 0011 0100 0000 0000 0000 1001 11001101(18/2) 0x3FC000 0B 0011 1111 0000 0000 0000 1010

13、 00111111(18/2) 0x1FE0000 0B 0001 1111 1110 (0000)4 不合法 0x5580000 0B 0101 0101 1000 (0000)4 不合法 0x7F80000 0B 0111 1000 0001 (0000)4 不合法 0x39C000 0B 0011 1001 1100 0000 0000 0000 1001 11100111(18/2) 0x1FE80000 0B 0001 1111 1110 (0000)4 不合法 4 分析邏輯右移、算術(shù)右移、循環(huán)右移、帶擴(kuò)展的循環(huán)右移它們間的差別。 答:見教材3.2節(jié)的圖3-1移位操作功能描述。 5

14、ARM數(shù)據(jù)處理指令具體的尋址方式有哪些,如果程序計(jì)數(shù)器PC作為目標(biāo)寄存器,會(huì)產(chǎn)生什么結(jié)果?ARM數(shù)據(jù)處理指令具體的尋址方式有5種,見教材3.2節(jié)的具體說明。如果程序計(jì)數(shù)器PC作為目標(biāo)寄存器,會(huì)產(chǎn)生程序發(fā)生跳轉(zhuǎn)。6 在Load/Store指令尋址中,字、無符號字節(jié)的Load/Store指令尋址和半字、有符號字節(jié)尋址,試分析它們之間的差別。 答:在Load/Store指令尋址中,字、無符號字節(jié)的Load/Store指令尋址有三種,具體見教材3.3.2節(jié); Load/Store指令尋址中,半字、有符號字節(jié)尋址有兩種,具體見教材3.3.3節(jié); 它們之間的差別:在半字、有符號字節(jié)尋址中,沒有Addres

15、sing_mode中的偏移量通過寄存器移位得到的形式。 7 塊拷貝Load/Store指令在實(shí)現(xiàn)寄存器組和連續(xù)的內(nèi)存單元中數(shù)據(jù)傳遞時(shí),地址的變化方式有哪幾種類型,并分析它們的地址變化情況。 答: Load/Store指令在實(shí)現(xiàn)寄存器組和連續(xù)的內(nèi)存單元中數(shù)據(jù)傳遞時(shí),地址的變化方式(addr_mode)有以下4種類型: 后增IA (Increment After) :每次數(shù)據(jù)傳送后地址加4; IB (Increment Before) :每次數(shù)據(jù)傳送前地址加4 ; 后減DA (Decrement After) :每次數(shù)據(jù)傳送后地址減4 ; DB (Decrement Before) :每次數(shù)據(jù)傳送

16、前地址減4 。 8棧操作指令地址的變化方式有哪幾種類型,并分析它們的地址變化情況,從而得出棧操作指令尋址和塊拷貝Load/Store指令之間的對應(yīng)關(guān)系。 答: (1) 四種類型的堆棧工作方式,即: 滿遞增堆棧FA(Empty Ascending):堆棧指針指向最后壓入的數(shù)據(jù),且由低地址向高地址生成。 滿遞減堆棧FD(Full Descending):堆棧指針指向最后壓入的數(shù)據(jù),且由高地址向低地址生成。 空遞增堆棧EA(Full Ascending):堆棧指針指向下一個(gè)將要放入數(shù)據(jù)的空位置,且由低地址向高地址生成。 空遞減堆棧ED(Empty Descending):堆棧指針指向下一個(gè)將要放入數(shù)

17、據(jù)的空位置,且由高地址向低地址生成。 (2) 棧操作指令尋址和塊拷貝Load/Store指令之間的對應(yīng)關(guān)系見表3-10。 9 分析協(xié)處理器加載/存儲(chǔ)指令的尋址方式中的內(nèi)存地址索引格式中不同的匯編語法格式下內(nèi)存地址的計(jì)算方法。 答:具體見教材3.3.2節(jié) 10寫出下列指令的機(jī)器碼,并分析指令操作功能。 MOV R0,R1 MOV R1,#0x198 ADDEQS R1,R2,#0xAB CMP R2,#0Xab LDR R0,R1,#4 STR R0,R1,R1,LSL #2! LDRH R0,R1,#4 LDRSB R0,R2,#-2! STRB R1,R2,#0xA0 LDMIA R0,R1

18、,R2,R8 STMDB R0!,R1-R5,R10,R11 STMED SP!,R0-R3,LR 答:現(xiàn)對以下三條指令進(jìn)行編碼,其余的參照本章的編碼說明。4章 ARM指令集系統(tǒng) 1. ARM指令可分為哪幾類?說出哪幾條指令是無條件執(zhí)行的。 ARM指令可分為: 數(shù)據(jù)處理指令 程序狀態(tài)寄存器與通用寄存器之間的傳送指令 Load/Store指令 轉(zhuǎn)移指令 異常中斷指令 協(xié)處理器指令 無條件執(zhí)行指令:BLX,BKPT 2.如何實(shí)現(xiàn)兩個(gè)64位數(shù)的加法操作,如何實(shí)現(xiàn)兩個(gè)64位數(shù)的減法操作,如何求一個(gè)64位數(shù)的負(fù)數(shù)? 答:(1)見教材例4-4: 實(shí)現(xiàn)64位數(shù)據(jù)加法運(yùn)算:假設(shè)R0和R1存放了一個(gè)64位數(shù)據(jù)(

19、作為被加數(shù)),R0存放數(shù)據(jù)的低32位;R2和R3中存放了另一個(gè)64位數(shù)據(jù)(作為加數(shù)),R2中存放低32位數(shù)據(jù)。運(yùn)算結(jié)果送回到R1:R0中(R0中存放低32位)。 ADDS R0,R0,R2 ;低落32位相加并影響標(biāo)志位 ADC R1,R1,R3 ;高32位相加再加上C標(biāo)志位 (進(jìn)位值) 2)見教材例4-6: SBC指令和SUBS指令聯(lián)合使用可以實(shí)現(xiàn)兩個(gè)64位的操作數(shù)相減。如果寄存器R0和R1中放置一個(gè)64位的被減數(shù),其中R0中放置低32位數(shù)值;寄存器R2和R3中放置一個(gè)64位的減數(shù),其中R2中放置低32位數(shù)值。運(yùn)算結(jié)果送回到R1:R0中(R0中存放低32位)。 SUBS R0,R0,R2 ;低

20、32位相減并影響標(biāo)志位 SBC R1,R1,R3 ; 高32位相減再減去C標(biāo)志位的反碼 3)見教材例4-8: 如果寄存器R0和R1中放置一個(gè)64位數(shù),其中R0中放置低32位數(shù)值;寄存器R4和R5中放置其負(fù)數(shù),其中R4中放置低32位數(shù)值。 RSBS R4,R0,#0 ; 0減去低32位并影響標(biāo)志位 RSC R5,R1,#0 ; 0減去高32位再減去C標(biāo)志位的反碼 3.寫出LDRB指令與LDRSB指令二進(jìn)制編碼格式,并指出它們之間的區(qū)別。 答:提示:LDRB指令與LDRSB指令編碼的符號不同,在功能上LDRB所加載的寄存器高24位清0,而LDRSB則是用符號位擴(kuò)展。 4.分析下列每條語句的功能,并

21、確定程序段所實(shí)現(xiàn)的操作。 CMP R0,#0 MOVEQ R1,#0 MOVGT R1,#1 答:分析: 當(dāng)R0等于0時(shí),MOVEQ執(zhí)行,則R1等于0; 當(dāng)R0等于正數(shù)時(shí),MOVGT執(zhí)行,則R1等于1; 此功能碼段可以判別R0中的值為正數(shù)還是0。 5.請使用多種方法實(shí)現(xiàn)將字?jǐn)?shù)據(jù)0xFFFFFFFF送入寄存器R0。 答: 例如,MVN R0,#0 或者: MOV R0,#0 SUB R0,R0,#1 還可以用其它運(yùn)算指令來實(shí)現(xiàn),讀者自行寫出。 6. 寫一條 ARM 指令,分別完成下列操作: a)R0 = 16 b)R0 = R1 / 16 (帶符號的數(shù)字) c)R1 = R2 * 3 d)R0

22、=-R0答:a)RO=16MOV RO,OX10b) RO=R1/16(帶符號的數(shù)字)MOV RO,R1,ASR#4c) R1= R2*3ADD R1,R2.R2.LSL#1d) R0 =-RORSB RO,RO.#0 7.編寫一個(gè)ARM匯編程序,累加一個(gè)隊(duì)列中的所有元素,碰上0時(shí)停止。結(jié)果放入 R4。 解答:(參考程序) /*- 寄存器的使用說明: R0:隊(duì)列指針 R1:加載隊(duì)列中的數(shù)據(jù) R4:隊(duì)列數(shù)據(jù)的累加結(jié)果 *-*/ .global start .text start: LDR R0, =DataZone 初始化為隊(duì)列的起始地址 MOV R4, #0 結(jié)果寄存器初始化為0 addNum

23、: LDRB R1, R0, #1 加載隊(duì)列中的數(shù)據(jù)存入R1中 CMP R1, #0 判斷R1的值是否為0 BLS stop 如果R1的值小于或等于0則停止累加 ADD R4, R4, R1 累加求和 B addNum 繼續(xù)循環(huán) stop: B . DataZone: .space 10, 0x10 在存儲(chǔ)單元中申請10個(gè)字節(jié)的連續(xù)空間并用0x10填充 .zero 5 在存儲(chǔ)單元中申請5個(gè)字節(jié)的連續(xù)空間并用0填充 .end 8.寫出實(shí)現(xiàn)下列操作的ARM指令: 當(dāng)Z=1時(shí),將存儲(chǔ)器地址為R1的字?jǐn)?shù)據(jù)讀入寄存器R0。 當(dāng)Z=1時(shí),將存儲(chǔ)器地址為R1+R2的字?jǐn)?shù)據(jù)讀入寄存器R0。 將存儲(chǔ)器地址為R1

24、-4的字?jǐn)?shù)據(jù)讀入寄存器R0。 將存儲(chǔ)器地址為R1+R6的字?jǐn)?shù)據(jù)讀入寄存器R0,并將新地址R1R6寫入R1。解答(1) MOVEQ R0, R1 (2) LDREQ R0, R1,R2 (3 LDR R0,R1,#-4 (4) LDR R0 R1,R6! 9.寫出下列ARM指令所實(shí)現(xiàn)操作: LDR R2,R3,-4 ! LDR R0,R0,R2 LDR R1,R3,R2,LSL2?。?LDRSB R0,R2,#-2! STRB R1,R2,#0xA0 LDMIA R0,R1,R2,R8 STMDB R0!,R1-R5,R10,R11 解答: LDR R2,R3,#-4! 將存儲(chǔ)器地址為R3-4的字?jǐn)?shù)據(jù)讀入R2,并將地址R3-4寫入R3 LDR R0,R0,R2 將存儲(chǔ)器地址為R0的字?jǐn)?shù)據(jù)讀入R0,并將地址R0+R2寫入R0 LDR R1,R3,R2,LSL#2! 將存儲(chǔ)器地址為R3+R2*4的字?jǐn)?shù)據(jù)讀入R1,并將地址R3+R2*4寫入R3 LDRS

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論