微機(jī)接口音樂(lè)點(diǎn)歌課程設(shè)計(jì)_第1頁(yè)
微機(jī)接口音樂(lè)點(diǎn)歌課程設(shè)計(jì)_第2頁(yè)
微機(jī)接口音樂(lè)點(diǎn)歌課程設(shè)計(jì)_第3頁(yè)
微機(jī)接口音樂(lè)點(diǎn)歌課程設(shè)計(jì)_第4頁(yè)
微機(jī)接口音樂(lè)點(diǎn)歌課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(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)介

1、信息科學(xué)與技術(shù)學(xué)院微機(jī)原理與接口技術(shù)課程設(shè)計(jì)報(bào)告題目名稱: 音樂(lè)點(diǎn)歌 學(xué)生姓名: 11 學(xué) 號(hào): 111 專業(yè)年級(jí): 111 指導(dǎo)教師: 111 時(shí) 間:2111 一 概述 匯編語(yǔ)言是計(jì)算機(jī)能夠提供給用戶使用的最快而有效的語(yǔ)言,也是能夠利用計(jì)算機(jī)所有特性并能直接控制硬件的唯一語(yǔ)言。借助于匯編程序,計(jì)算機(jī)本身可以自動(dòng)地把 匯編源程序翻譯成用機(jī)器語(yǔ)言表示的目的程序,從而實(shí)現(xiàn)了程序設(shè)計(jì)工作的部分自動(dòng)化。1課程設(shè)計(jì)的目的掌握一些程序設(shè)計(jì)的基本方法,要指導(dǎo)主程序,子程序以及推棧段的使用,.了解通用發(fā)聲程序了解與掌握定時(shí).計(jì)數(shù).音樂(lè).頻率.時(shí)間之間的關(guān)系,學(xué)會(huì)用發(fā)聲程序的設(shè)計(jì)方法,學(xué)會(huì)用匯編語(yǔ)言編輯音樂(lè)程

2、序2課程設(shè)計(jì)的要求:1 其中可選五首以上歌曲。2 可以選速度 3 選音調(diào)(AG調(diào);每音調(diào)之間大約相差1.12倍,既C調(diào)比D調(diào)的頻率高1.12倍)4 任意暫停5 界面修飾。二 總體方案設(shè)計(jì)2.1主程序流程圖: 開(kāi)始 輸入字符 判斷是否為4 Y N 判斷是否為1 結(jié)束 Y N 判斷是否為2調(diào)用宏ADDRESS選擇速度,頻率 Y Music子程序調(diào)用宏ADDRESS選擇速度,頻率 Music子程序圖1 主程序流程圖2.2Music子程序流程圖:DI= -1返回DOS界面并重新輸入字符GENSOUND子程序取下一頻率值和下一時(shí)間值開(kāi)始結(jié)束 圖2 Music子程序流程圖2.3發(fā)聲原理圖:圖3 發(fā)聲原理圖

3、發(fā)聲原理:計(jì)算機(jī)有兩種產(chǎn)生聲音的方法,一種方法是通過(guò)I/O指令向設(shè)備寄存器(端口地址為61H)的第1位交替送1和0,使與第1位相連的揚(yáng)聲器脈沖門產(chǎn)生連續(xù)的脈沖電流,驅(qū)動(dòng)揚(yáng)聲器發(fā)出聲音。另一種方法是利用8254(系統(tǒng)定時(shí)器)中的2號(hào)定時(shí)器向揚(yáng)聲器發(fā)送不同頻率的脈沖,使之產(chǎn)生音調(diào)高低不同的聲音,這種產(chǎn)生聲音的方法可使計(jì)算機(jī)演奏出各種樂(lè)曲。本程序選用定時(shí)器產(chǎn)生聲音。ROM BIOS中的BEEP子程序能根據(jù)BL中給出的時(shí)間計(jì)數(shù)值控制8254定時(shí)器,產(chǎn)生持續(xù)時(shí)間為1個(gè)或幾個(gè)0.5秒、頻率為896HZ的聲音。通過(guò)對(duì)BEEP的修改,可以使其產(chǎn)生任一頻率的聲音。用匯編語(yǔ)言編寫的程序GENSOUND,能使PC機(jī)

4、發(fā)出指定頻率和指定延遲時(shí)間的聲音,它是一個(gè)很好的通用發(fā)聲程序。組成樂(lè)曲的每個(gè)音符的頻率值和持續(xù)時(shí)間是樂(lè)曲發(fā)聲程序所必須的兩組數(shù)據(jù),知道了音調(diào)及頻率的關(guān)系后,就可以按照樂(lè)曲的樂(lè)譜將每個(gè)音符的頻率和持續(xù)時(shí)間定義成兩個(gè)數(shù)據(jù)表,然后編程依次取出表中的頻率值和時(shí)間值,調(diào)用GENSOUND程序發(fā)出各種聲音。但GENSOUND程序產(chǎn)生的聲音不僅與輸入頻率有關(guān),而且與CPU有關(guān)。如果80X86的工作頻率為8MHZ(如IBM PS/ 2-25型),則T=125ns(1 /8MHz=125ns),那么上面程序產(chǎn)生的時(shí)間延遲就要短的多。在80286中,LOOP指令只需8個(gè)執(zhí)行周期,而不是17個(gè)執(zhí)行周期,這也會(huì)使延遲

5、時(shí)間縮短很多。因此,從PC/ AT開(kāi)始,對(duì)所有的80286,80386,80486和Intel Pentium計(jì)算機(jī),IBM都提供一種利用硬件產(chǎn)生時(shí)間延遲的方法,這種方法不僅與頻率無(wú)關(guān),也與CPU無(wú)關(guān)。方法是通過(guò)監(jiān)控端口61H的PB4,使PB4每15.08us觸發(fā)一次,以產(chǎn)生一個(gè)固定不變的時(shí)間基準(zhǔn)。在IBM PC AT BIOS中的WAITF子程序,就是一個(gè)產(chǎn)生N×15.08us時(shí)間延遲的程序。調(diào)用WAITF子程序時(shí),CX寄存器必須裝入15.08us的倍數(shù)N。利用WAITF子程序能獲得任意的延遲時(shí)間,而再不必考慮CPU的型號(hào)和工作頻率。依此原理可以進(jìn)一步修改通用發(fā)聲程序GENSOUN

6、D,使其不再依賴CPU的工作頻率。GENSOUND程序中的10ms延遲時(shí)間是通過(guò)執(zhí)行循環(huán)指令來(lái)獲得的,現(xiàn)在可以用WAITF子程序來(lái)取代它,計(jì)數(shù)值設(shè)置為663(10ms/ 15.08us=663)。本系統(tǒng)將修改后的通用子程序改名為SOUNDF,延遲時(shí)間表仍為10ms。(二)編曲原理利用計(jì)算機(jī)控制發(fā)聲的原理,可以編寫演奏樂(lè)曲的程序。樂(lè)曲是按照一定的高低、長(zhǎng)短和強(qiáng)弱關(guān)系組成的音調(diào)。在一首樂(lè)曲中,每個(gè)音符的音高和音長(zhǎng)與頻率和節(jié)拍有關(guān)。組成樂(lè)曲的每個(gè)音符的頻率值和持續(xù)時(shí)間是樂(lè)曲程序發(fā)聲所需要的兩個(gè)數(shù)據(jù)。對(duì)于頻率值,用WaveCN中的信號(hào)發(fā)生器輸出262HZ、294HZ、 330HZ、 349HZ、392

7、HZ、440HZ、494HZ、523HZ的信號(hào)相當(dāng)于C調(diào)的dou,ruai,mi,fa,sou,la,si,dou。而音符的持續(xù)時(shí)間是根據(jù)樂(lè)曲的速度及每個(gè)音符的節(jié)拍數(shù)來(lái)確定的。在4/4(四四拍)中,四分音符為1拍,每小節(jié)4拍,全音符持續(xù)4拍,二分音符持續(xù)2拍,四分音符持續(xù)1拍。八分音符持續(xù)半拍等。如果給全音符分配1s(100×10ms)的時(shí)間,則二分音符的持續(xù)時(shí)間為0.5s(50×10ms),四分音符的持續(xù)時(shí)間為0.25s(25×10ms),八分音符的持續(xù)時(shí)間為0.125(12.5×10ms)。知道音調(diào)與頻率和時(shí)間的關(guān)系,就可以按照樂(lè)曲的曲譜將每個(gè)音符的

8、頻率和持續(xù)時(shí)間定義成兩個(gè)數(shù)據(jù)表,然后編寫程序依次取出表中的頻率值和時(shí)間值,調(diào)用SOUNDF程序發(fā)出各種聲音。這次課程設(shè)計(jì)的設(shè)計(jì)思想是在熟練掌握匯編程序的設(shè)計(jì)方法的基礎(chǔ)上,利用通用發(fā)生程序編寫音樂(lè)程序組成音樂(lè)的每個(gè)音符的頻率值和持續(xù)時(shí)間是音樂(lè)程序發(fā)聲所需要的兩個(gè)數(shù)據(jù),根據(jù)音調(diào)與頻率和時(shí)間之間的關(guān)系,把要編輯的音樂(lè)的每個(gè)音符的頻率和持續(xù)時(shí)間定義成兩個(gè)數(shù)據(jù)表,進(jìn)而把它們寫入通用發(fā)聲程序,音樂(lè)程序就完成。在編制此音樂(lè)演奏程序時(shí),應(yīng)該知道ROM BIOS 中有個(gè)BEEP子程序,這能根據(jù)BL中組出的時(shí)間計(jì)數(shù)值控制8254定時(shí)器,產(chǎn)生持續(xù)時(shí)間為1個(gè)或幾個(gè)0.5秒,頻率為896HZ的聲音,我們可以利用并修改B

9、EEP,使其產(chǎn)生任一頻率的聲音。首先要了解計(jì)算機(jī)是如何產(chǎn)生聲音和樂(lè)曲的。找出相關(guān)程序源代碼,弄清楚各功能的環(huán)節(jié)間的聯(lián)系、聯(lián)接方法,搞清楚單調(diào)與頻率和時(shí)間的關(guān)系,利用計(jì)算機(jī)控制發(fā)聲的原理,依照基本的算法思想寫程序,測(cè)試,更正,擴(kuò)充功能,修飾細(xì)節(jié)。本次設(shè)計(jì)在具體設(shè)計(jì)過(guò)程中的整體設(shè)計(jì)思路如下:該程序主要分成1根據(jù)音階表和簡(jiǎn)譜為演奏的樂(lè)曲定義一個(gè)頻率表mus_freq和一個(gè)時(shí)間表mus_time。2分別將兩個(gè)表的偏移地址放入SI和BP。lea si, mus_freqlea bp, ds:mus_time3從表中取出音符的頻率放入DI,取出音符的持續(xù)時(shí)間(實(shí)際上是10ms的倍數(shù))放入BX。mov di

10、, simov bx, ds:bp頻率表中最后一個(gè)數(shù)據(jù)-1作為樂(lè)曲的結(jié)束符,也可用其他的特殊值來(lái)代替。發(fā)聲原理計(jì)算機(jī)有兩種產(chǎn)生聲音的方法,一種方法是通過(guò)I/O指令向設(shè)備寄存器(端口地址為61H)的第1位交替送1和0,使與第1位相連的揚(yáng)聲器脈沖門產(chǎn)生連續(xù)的脈沖電流,驅(qū)動(dòng)揚(yáng)聲器發(fā)出聲音。另一種方法是利用8254(系統(tǒng)定時(shí)器)中的2號(hào)定時(shí)器向揚(yáng)聲器發(fā)送不同頻率的脈沖,使之產(chǎn)生音調(diào)高低不同的聲音,這種產(chǎn)生聲音的方法可使計(jì)算機(jī)演奏出各種樂(lè)曲。本程序選用定時(shí)器產(chǎn)生聲音。ROM BIOS中的BEEP子程序能根據(jù)BL中給出的時(shí)間計(jì)數(shù)值控制8254定時(shí)器,產(chǎn)生持續(xù)時(shí)間為1個(gè)或幾個(gè)0.5秒、頻率為896HZ的聲音

11、。通過(guò)對(duì)BEEP的修改,可以使其產(chǎn)生任一頻率的聲音。用匯編語(yǔ)言編寫的程序GENSOUND,能使PC機(jī)發(fā)出指定頻率和指定延遲時(shí)間的聲音,它是一個(gè)很好的通用發(fā)聲程序。組成樂(lè)曲的每個(gè)音符的頻率值和持續(xù)時(shí)間是樂(lè)曲發(fā)聲程序所必須的兩組數(shù)據(jù),知道了音調(diào)及頻率的關(guān)系后,就可以按照樂(lè)曲的樂(lè)譜將每個(gè)音符的頻率和持續(xù)時(shí)間定義成兩個(gè)數(shù)據(jù)表,然后編程依次取出表中的頻率值和時(shí)間值,調(diào)用GENSOUND程序發(fā)出各種聲音。但GENSOUND程序產(chǎn)生的聲音不僅與輸入頻率有關(guān),而且與CPU有關(guān)。如果80X86的工作頻率為8MHZ(如IBM PS/ 2-25型),則T=125ns(1 /8MHz=125ns),那么上面程序產(chǎn)生的

12、時(shí)間延遲就要短的多。在80286中,LOOP指令只需8個(gè)執(zhí)行周期,而不是17個(gè)執(zhí)行周期,這也會(huì)使延遲時(shí)間縮短很多。因此,從PC/ AT開(kāi)始,對(duì)所有的80286,80386,80486和Intel Pentium計(jì)算機(jī),IBM都提供一種利用硬件產(chǎn)生時(shí)間延遲的方法,這種方法不僅與頻率無(wú)關(guān),也與CPU無(wú)關(guān)。方法是通過(guò)監(jiān)控端口61H的PB4,使PB4每15.08us觸發(fā)一次,以產(chǎn)生一個(gè)固定不變的時(shí)間基準(zhǔn)。在IBM PC AT BIOS中的WAITF子程序,就是一個(gè)產(chǎn)生N×15.08us時(shí)間延遲的程序。調(diào)用WAITF子程序時(shí),CX寄存器必須裝入15.08us的倍數(shù)N。利用WAITF子程序能獲得

13、任意的延遲時(shí)間,而再不必考慮CPU的型號(hào)和工作頻率。依此原理可以進(jìn)一步修改通用發(fā)聲程序GENSOUND,使其不再依賴CPU的工作頻率。GENSOUND程序中的10ms延遲時(shí)間是通過(guò)執(zhí)行循環(huán)指令來(lái)獲得的,現(xiàn)在可以用WAITF子程序來(lái)取代它,計(jì)數(shù)值設(shè)置為663(10ms/ 15.08us=663)。本系統(tǒng)將修改后的通用子程序改名為SOUNDF,延遲時(shí)間表仍為10ms。(二)編曲原理利用計(jì)算機(jī)控制發(fā)聲的原理,可以編寫演奏樂(lè)曲的程序。樂(lè)曲是按照一定的高低、長(zhǎng)短和強(qiáng)弱關(guān)系組成的音調(diào)。在一首樂(lè)曲中,每個(gè)音符的音高和音長(zhǎng)與頻率和節(jié)拍有關(guān)。組成樂(lè)曲的每個(gè)音符的頻率值和持續(xù)時(shí)間是樂(lè)曲程序發(fā)聲所需要的兩個(gè)數(shù)據(jù)。對(duì)

14、于頻率值,用WaveCN中的信號(hào)發(fā)生器輸出262HZ、294HZ、 330HZ、 349HZ、392HZ、440HZ、494HZ、523HZ的信號(hào)相當(dāng)于C調(diào)的dou,ruai,mi,fa,sou,la,si,dou。而音符的持續(xù)時(shí)間是根據(jù)樂(lè)曲的速度及每個(gè)音符的節(jié)拍數(shù)來(lái)確定的。在4/4(四四拍)中,四分音符為1拍,每小節(jié)4拍,全音符持續(xù)4拍,二分音符持續(xù)2拍,四分音符持續(xù)1拍。八分音符持續(xù)半拍等。如果給全音符分配1s(100×10ms)的時(shí)間,則二分音符的持續(xù)時(shí)間為0.5s(50×10ms),四分音符的持續(xù)時(shí)間為0.25s(25×10ms),八分音符的持續(xù)時(shí)間為0.

15、125(12.5×10ms)。知道音調(diào)與頻率和時(shí)間的關(guān)系,就可以按照樂(lè)曲的曲譜將每個(gè)音符的頻率和持續(xù)時(shí)間定義成兩個(gè)數(shù)據(jù)表,然后編寫程序依次取出表中的頻率值和時(shí)間值,調(diào)用SOUNDF程序發(fā)出各種聲音。5系統(tǒng)的主要功能:給用戶提供5首已經(jīng)寫好的短曲,根據(jù)用戶的選擇演奏樂(lè)曲,演奏完一首樂(lè)曲后跳回起始狀態(tài),如此循環(huán),直到用戶輸入結(jié)束的信息為止。源程序:;* STACK SEGMENT PARA STACK 'STACK' DB 64 DUP('STACK.') STACK ENDS;* DSEG SEGMENT PARA 'DATA'MESS1

16、 DB 50 DUP(' '),'Now the music is <<Happy birthday to you>> ',13,10,'$' MESS2 DB 50 DUP(' '),'Now the music is <<Mary had a little lamb>>',13,10,'$' MESS3 DB 50 DUP(' '),'Now the music is <<Taihu boat>> &

17、#39;,13,10,'$' MESS4 DB 50 DUP(' '),'please input the speed (s/q)',13,10,'$' MESS5 DB 50 DUP(' '),'please input the yiliang (h/m/l)',13,10,'$' MENU DB 5 DUP(13,10) DB 5 DUP(' '),'*',13,10 DB 5 DUP(' '),'*1:Happy birt

18、hday to you; *',13,10 DB 5 DUP(' '),'*2:Mary had a little lamb; *',13,10 DB 5 DUP(' '),'*4:Exit; *',13,10 DB 5 DUP(' '),'*',13,10 DB 5 DUP(' '),'please chioce the number of music:','$',13,10 change DB 125 DUP(' '),&#

19、39;error! please change anther NO.: ','$' MUS_FREG_l dw 262/2,262/2,294/2,262/2,349/2,330/2 dw 262/2,262/2,294/2,262/2,392/2,349/2 dw 262/2,262/2,523/2,440/2,349/2,330/2,294/2 dw 466/2,466/2,440/2,262/2,392/2,349/2 dw -1 MUS_FREG_m dw 262,262,294,262,349,330 dw 262,262,294,262,392,349 dw

20、 262,262,523,440,349,330,294 dw 466,466,440,262,392,349 dw -1 MUS_FREG_h dw 262*2,262*2,294*2,262*2,349*2,330*2 dw 262*2,262*2,294*2,262*2,392*2,349*2 dw 262*2,262*2,523*2,440*2,349*2,330*2,294*2 dw 466*2,466*2,440*2,262*2,392*2,349*2 dw -1 MUS_TIME_s dw 50*3/2,50*3/2,100*3/2,100*3/2,100*3/2,200*3/2

21、 dw 50*3/2,50*3/2,100*3/2,100*3/2,100*3/2,200*3/2 dw 50*3/2,50*3/2,100*3/2,100*3/2,100*3/2,100*3/2,300*3/2 dw 50*3/2,50*3/2,100*3/2,100*3/2,100*3/2,200*3/2 MUS_TIME_q dw 50,50,100,100,100,200 dw 50,50,100,100,100,200 dw 50,50,100,100,100,100,300 dw 50,50,100,100,100,200 mus_freg1_l dw 330*4/5,294*4/

22、5,262*4/5,294*4/5,330*4/5,330*4/5,330*4/5 dw 294*4/5,294*4/5,294*4/5,330*4/5,392*4/5,392*4/5 dw 330*4/5,294*4/5,262*4/5,294*4/5,330*4/5,330*4/5,330*4/5,330*4/5 dw 294*4/5,294*4/5,330*4/5,294*4/5,262*4/5 dw -1 mus_freg1_m dw 330,294,262,294,330,330,330 dw 294,294,294,330,392,392 dw 330,294,262,294,33

23、0,330,330,330 dw 294,294,330,294,262 dw -1 mus_freg1_h dw 330*2,294*2,262*2,294*2,330*2,330*2,330*2 dw 294*2,294*2,294*2,330*2,392*2,392*2 dw 330*2,294*2,262*2,294*2,330*2,330*2,330*2,330*2 dw 294*2,294*2,330*2,294*2,262*2 dw -1 mus_time1_s dw 6 dup(25),50 dw 2 dup(25,25,50) dw 12 dup(25),100 mus_ti

24、me1_q dw 6 dup(20),40 dw 2 dup(20,20,40) dw 12 dup(20),80 DSEG ENDS;* CODE SEGMENT PARA 'DATA' assume cs:code,ds:dseg,ss:stack music proc far mov ax,dseg mov ds,ax rotate:LEA DX,MENU mov ah, 9 ;顯示 int 21hchg: mov ah,1 ;掃描接收字符 int 21h cmp al,'1' je one cmp al,'2' je two cmp al

25、,'4' je endmus LEA DX,change mov ah,09 int 21h jmp chg ENDMUS: mov ax,4c00h int 21h ONE: lea dx,mess1 mov ah,09 int 21hyindiao:lea dx,mess5mov ah,09int 21hmov ah,01int 21hcmp al,'h'je one_hcmp al,'m'je one_mcmp al,'l'je one_lsudu:lea dx,mess4mov ah,09int 21hmov ah,01i

26、nt 21hcmp al,'s'je one_scmp al,'q'je one_qone_h: LEA SI,mus_FREG_hjmp suduone_m: LEA SI,MUS_FREG_mjmp suduone_l: LEA SI,MUS_FREG_ljmp suduone_s: LEA BP,DS:MUS_TIME_s JMP SOUNDone_q: LEA BP,DS:MUS_TIME_q JMP SOUND two: lea dx,mess2 mov ah,09 int 21hyindiao1:lea dx,mess5mov ah,09int 21

27、hmov ah,01int 21hcmp al,'h'je two_hcmp al,'m'je two_mcmp al,'l'je two_lsudu1:lea dx,mess4mov ah,09int 21hmov ah,01int 21hcmp al,'s'je two_scmp al,'q'je two_q two_h: LEA SI,mus_FREG1_hjmp sudu two_m: LEA SI,MUS_FREG1_mjmp sudu two_l: LEA SI,MUS_FREG1_ljmp sudu

28、two_s: LEA BP,DS:MUS_TIME1_s JMP SOUND two_q: LEA BP,DS:MUS_TIME1_q SOUND:freq: mov di,si cmp di,-1 je r mov bx,ds:bp call soundf add si,2 add bp,2 jmp freq r: JMP rotate music endp;*soundf proc near push ax push bx push cx push dx push di mov al,0b6h out 43h,al mov dx,12h mov ax,348ch div di out 42h,al mov al,ah out 42h,al in al,61h mov ah,al or al,3 out 61h,alwait1: mov cx,663 call waitfdelay: loop delay dec bx jnz wait1 mov al,ah out 61h,al pop di pop dx pop cx pop bx pop ax retsoundf endpwaitf proc near push axwa

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論