《微機原理與接口技術》課程設計說明書音樂演奏程序設計_第1頁
《微機原理與接口技術》課程設計說明書音樂演奏程序設計_第2頁
《微機原理與接口技術》課程設計說明書音樂演奏程序設計_第3頁
《微機原理與接口技術》課程設計說明書音樂演奏程序設計_第4頁
《微機原理與接口技術》課程設計說明書音樂演奏程序設計_第5頁
已閱讀5頁,還剩24頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、武漢理工大學微機原理與接口技術課程設計說明書課程設計任務書學生姓名: 專業班級: 自動化0801班 指導教師: 工作單位: 自動化學院 題 目: 音樂演奏程序設計要求完成的主要任務: (包括課程設計工作量及其技術要求,以及說明書撰寫等具體要求)1使用匯編語言設計一個在計算機上運行的音樂演奏程序;2屏幕顯示鋼琴圖像;3按大寫字母“a”,唱樂曲1;按大寫字母“b”,唱樂曲2;按大寫字母“c”,唱樂曲3,依次類推;4按q鍵,退出;5撰寫課程設計說明書。內容包括:摘要、目錄、正文、參考文獻、附錄(程序清單)。正文部分包括:設計任務及要求、方案比較及論證、軟件設計說明(軟件思想,流程,源程序設計及說明等

2、)、程序調試說明和結果分析、課程設計收獲及心得體會。時間安排: 1月5日-1月7日 查閱資料及方案設計1月8日-元月11日 編程1月12日-1月13日 調試程序1月14日-1月16日 撰寫課程設計報告指導教師簽名: 年 月 日系主任(或責任教師)簽名: 年 月 日目錄摘要- 1 -一 設計任務及要求- 2 -1.1 設計目的- 2 -1.2 設計要求- 2 -二 軟件設計說明- 3 -2.1 設計思路- 3 -2.2 設計流程圖- 4 -2.3 程序模塊- 5 -2.3.1 主程序- 5 -2.3.2 主菜單界面- 6 -2.3.3 音樂代碼段- 7 -2.3.4 歌曲演奏子程序- 8 -2.

3、3.5 通用發聲子程序- 9 -2.3.6 鋼琴界面畫圖程序- 10 -2.4 擴展功能- 12 -三 調試說明及結果分析-13 -四 課程設計收獲及心得體會- 17 -參考文獻- 18 -附錄- 19 - 26 -摘要本文主要對利用微機原理與接口技術來編寫簡易電子鋼琴進行分析,并介紹了基于8255a,8254芯片電子鋼琴系統的設計結構與體系。將簡譜音階轉換成匯編代碼,通過通用發聲程序發出對應的聲音。通過ibm-pc/xt機內的定時/計數器接口芯片8254,8255,可以實現聲音的接口。本文通過匯編語言編程,由系統內的8255a并行i/o接口的pb端口最低位來控制喇叭驅動系統,pb0控制825

4、3-5定時/計數器的定時計數;pb1來控制喇叭接通和斷開,以此來發聲。對樂譜的頻率和節拍進行編程,轉化為對8254-5定時/計數器和8255a并行接口的控制命令,從而實現音樂演奏。另外,為了方便實現人機交互,必須在顯示器上顯示相應的提示語句,這個可以通過調用bios中斷10h號功能語句來實現。程序運行時,人工輸入相關參數,程序檢測輸入參數并執行相關的指令,從而實現音樂播放功能。本程序主要完成的功能有完成三首歌曲的選擇與播放,還附加一個模擬鋼琴演奏部分。相應的輔助功能有顯示提示信息,操作員通過鍵盤輸入相應的字符命令,然后程序進行檢測,播放相應的歌曲或者退出程序,可以重復操作。關鍵詞:匯編 接口

5、音樂 演奏 音樂演奏程序設計一 設計任務及要求1.1 設計目的1) 鞏固和加深已經學習的微機原理與接口技術知識,并在設計的過程中學習新的匯編語言;2) 熟練掌握匯編語言中各中段語句的使用;3) 了解并掌握通用發聲程序的編寫方法以及發聲原理;4) 熟練掌握8254,8255芯片的功能和使用方法;5)通過設計一款音樂演奏軟件來培養對這門學科的興趣。1.2 設計要求要求完成的主要任務: (包括課程設計工作量及其技術要求,以及說明書撰寫等具體要求)1使用匯編語言設計一個在計算機上運行的音樂演奏程序;2屏幕顯示鋼琴圖像;3按大寫字母“a”,唱樂曲1;按大寫字母“b”,唱樂曲2;按大寫字母“c”,唱樂曲3

6、,依次類推;4按q鍵,退出;5撰寫課程設計說明書。二 軟件設計說明2.1 設計思路首先,設計一個主界面,用數據段語句定義,在程序執行的開始所有定義的提示都應顯示出來,但它們不參與程序內部的計算和轉換,而所定義的音樂頻率表和節拍時間,將隨通用發生程序執行播放歌曲。課程設計中使用的數據全部定義在名稱為dseg數據段中。音樂頻率表和節拍時間則均使用字(dw)的存儲方式來實現在主菜單顯示和子菜單顯示數據段均使用字節(db)的存儲方式來實現在此程序中主要運用主程序調用子程序方法實現該程序的功能。用到的芯片還包括8255,8254。該程序包括: 主程序主菜單界面模塊,音樂代碼等數據段模塊,歌曲演奏子程序模

7、塊,通用發聲子程序模塊鋼琴界面畫圖程序模塊共七大模塊。主程序模塊的功能主要是調用主菜單顯示模塊,將主菜單顯示在屏幕上,并對用戶輸入的菜單項目值進行判斷進而通過跳轉語句調用相應的子程序。2.2 設計流程圖開始初始化提示輸入語句并輸入是o?是a?是b?是c?是q?進入我的鋼琴播放:龍的傳人播放:愛的就是你播放:祝你生日快樂結束yyyynnnnn圖2.1 總流程圖2.3 程序模塊2.3.1 主程序初始化之后顯示主界面,輸入字符后,將其分別與o、a、b、c、q、比較,是o則進入我的鋼琴界面可以進行演奏,是a則播放歌曲1,是b則播放歌曲2,是c則播放歌曲3,是q則退出,都不是則再次輸入。start: m

8、ov ax,datas mov ds,ax lea dx,string mov ah,09h int 21h;提示選擇信息 mov ah,09h mov dx,offset chose int 21h;-input: mov ah,01hint 21h cmp al,ojz ctone cmp al,ojz ctone cmp al,ajz musica cmp al,ajz musicacmp al,bjz musicb cmp al,bjz musicb cmp al,cjz musicc cmp al,cjz musicccmp al,qjz exitcmp al,qjz exit jm

9、p input2.3.2 主菜單界面以下為主界面的代碼段,執行主程序是直接調用顯示。string db ,10,13 db # ,10,13 db # o _ # ,10,13 db # /_. _| piano | # ,10,13 db # | |_| # ,10,13db # # _ _| # # ,10,13db # _ # ,10,13db # # ,10,13db # o my piano # ,10,13db # a long de chuan ren # ,10,13db # b ai de jiu shi ni # ,10,13db # c happy birthday #

10、,10,13db # q exit # ,10,13db # # ,10,13db # ,10,13db o o ,10,13db o | o o | o ,10,13 db _|/_ _|/_ ,10,13db / / ,10,13db / / ,10,13 db % ,10,13,$運行程序后顯示界面如圖2.2: 圖2.2 主菜單界面2.3.3音樂代碼段歌曲1至3的音樂頻率表和節拍時間在程序執行的開始所有定義的提示都應顯示出來,但它們不參與程序內部的計算和轉換,而所定義的音樂頻率表和節拍時間,將隨通用發生程序執行播放歌曲。音樂頻率表和節拍時間則均使用字(dw)的存儲方式來實現,在主菜單顯示

11、和子菜單顯示數據段均使用字節(db)的存儲方式來實現。1) 音階簡譜向匯編語言轉換原理pc機上大多數i/o都是由主板上的8255(或8255a)可編程外圍接口芯片(ppi)管理的。ppi包括三個8位寄存器:兩個輸入寄存器,端口地址分別是60h、62h;一個輸出寄存器,端口地址為61h。由ppi輸出寄存器中的,也就是61h端口的d0、d1位來控制揚聲器的驅動方式。bios中的beep子程序:1、只能發出896hz的聲音;2、產生的音長只能是0.5s的倍數。3、編寫通用發聲程序應該能發出任意頻率的聲音,可由 1193100給定頻率12348c給定頻率 (21)計算出來。聲音的持續時間更易于調整。利

12、用cpu來產生延遲時間是最常用的一種方法。組成樂曲的每個音符的頻率值和持續時間是樂曲程序發聲所需要的兩個數據。 以下列出歌曲1的數據段:;1 long de chuan ren mus_freqa dw 330,371,393,441,495,441,393,393,371,330 dw 330,371,393,441,495,441,393,391,393,441,495 dw 330,371,393,441,495,441,393,393,371,330 dw 371,371,371,393,371,330,330,294,330 dw 495,495,495,441,393,441,44

13、1,495,441 dw 393,393,393,441,393,371,371,393,371 dw 495,495,495,441,393,441,441,495,441 dw 393,393,371,393,371,330,330,294,330,-1 mus_timea dw 1600,1600,1600,3200,1600,1600,3200,1600,1600,4800 dw 3200,1600,1600,3200,1600,1600,1600,1600,1600,1600,4800 dw 3200,1600,1600,3200,1600,1600,3200,1600,1600,4

14、800 dw 3200,3200,1600,3200,1600,3200,1600,1600,4800 dw 3200,3200,3200,1600,1600,3200,1600,1600,4800 dw 3200,3200,3200,1600,1600,3200,1600,1600,4800 dw 3200,3200,3200,1600,1600,3200,1600,1600,4800 dw 3200,3200,3200,1600,1600,3200,1600,1600,32002.3.4 歌曲演奏子程序以第一首歌的播放程序為例,程序演示圖見圖2.3。musica proc near;顯示提

15、示信息mov dx,offset musia mov ah,09h int 21h call huagangqin push dsmus_timea首地址指針sibp取出si中的頻率值取出bp中對應的持續時間dibx是-1?通用發聲程序發出該頻率聲音si+2bp+2回主菜單ny圖2.3 音樂演奏演示圖mus_frera偏移首地址 sub ax,ax push ax lea si,mus_freqa lea bp,ds:mus_timea mov cx,0freqa: lea bx,mus_jiezoua add bx,cx mov di,bx mov buffer,di mov di,si c

16、mp di,-1 je end_musa mov dx,ds:bp mov bx,dx call paintkey call gensound add si,2 add bp,2 add cx,2 jmp freqaend_musa:call initcall open jmp startmusica endp2.3.5通用發聲子程序直接調用該程序可發出對應頻率的聲音。gensound proc near push ax push bx push cx push dx push di mov al,0b6h out 43h,al mov dx,12h mov ax,533h*896 div d

17、i out 42h,al mov al,ah out 42h,al in al,61h mov ah,al or al,3 out 61h,alwait1: mov cx,0ffffhdelay1: loop delay1 dec bx jnz wait1 mov al,ah out 61h,al pop di pop dx pop cx pop bx pop ax retgensound endp2.3.6鋼琴界面畫圖程序調用匯編的畫圖的相關指令,此處用到劃線與寫像素點語句。先勾勒出鋼琴按鍵的總框圖,程序中給定劃線起始坐標點,再通過寫像素點畫陰影,不同的陰影給定不同顏色。特別注意的是鋼琴白按

18、鍵寫白色,黑鍵寫黑色。 paintside24:drawobilque 405,si,360,whiteinc sicmp si,150jc paintside24 mov si,140paintside34:drawobilque 455,si,410,whiteinc sicmp si,150jc paintside34 mov si,140paintside44:drawobilque 505,si,460,whiteinc sicmp si,150jc paintside44 ;畫分割線 mov si,240redraw04: mov di,si sub di,90 drawobilq

19、ue si,140,di,black add si,50 cmp si,540 jc redraw04 mov si,150huagangqin proccall initcall open mov si,190 ;si=start_x mov di,140 ;di=start_y mov bp,540 ;bp=end_xdraww4: drawline0 si,di,bp,white dec si dec bp inc di cmp di,230 jc draww4;畫陰影 draw 100,230,450,250,gray;側面陰影mov si,140paintside4:drawobil

20、que 540,si,450,grayinc sicmp si,160jc paintside4;黑鍵陰影mov si,140paintside04:drawobilque 255,si,210,whiteinc sicmp si,150jc paintside04 mov si,140paintside14:drawobilque 305,si,260,whiteinc sicmp si,150jc paintside14 mov si,140 paintb4:mov si,offset blacklmov di,offset blackrmov si,si+bxmov bp,di+bx m

21、ov di,140 drawb4: drawline0 si,di,bp,black dec si dec bp inc dicmp di,185 jc drawb4 add bx,2 cmp bx,9 jc paintb4;黑鍵底下陰影mov bx,0paintbb4:mov si,offset bblmov di,offset bbrmov si,si+bxmov bp,di+bxdraw si,185,bp,195,blackadd bx,2 cmp bx,9 jc paintbb4huagangqin endpredraw14: drawline1 si,230,250,black a

22、dd si,50 cmp si,440 jc redraw14;畫黑鍵盤mov bx,0 paintside24:drawobilque 405,si,360,whiteinc sicmp si,150jc paintside24 mov si,140paintside34:drawobilque 455,si,410,whiteinc sicmp si,150jc paintside34 mov si,140paintside44:drawobilque 505,si,460,whiteinc sicmp si,150jc paintside44 ;畫分割線 mov si,240redraw

23、04: mov di,si sub di,90 drawobilque si,140,di,black add si,50 cmp si,540 jc redraw04 mov si,150redraw14: drawline1 si,230,250,black add si,50 cmp si,440 jc redraw14;畫黑鍵盤mov bx,0 2.4 擴展功能除了課設要求實現的功能外,我們加入了一個模擬鋼琴演奏模塊,即可以通過按電腦鍵盤模擬按鋼琴的鍵,自己譜曲演奏。功能的實現:首先,定義好do,re,mi,fa,so,la,si各個音節的頻率數據段,當選擇字符o進入my piano后

24、,程序提示可以按鍵演奏,并掃描,獲取所按鍵的ascii碼;然后,將其轉換為按鍵上對應的字符,此程序為1,2,3,4,5,6,7正好是數字,分別表示do,re,mi,fa,so,la,si,同時每個數字對應音節的頻率數據段中各個頻率;再次,調用通用發聲程序發出所按鍵對應的頻率聲音。程序段如下:ctone:call huagangqin;獲取彈奏的音符scan:mov ah,00hint 16hcmp al,4fhjz end_musacmp al,6fhjz end_musa cmp al,37h ;ascii37h,退出 ja error cmp al,31h ;ascii31h,退出 jc

25、error and ax,000fh ;將ascii碼轉換成數字 mov buffer,ax ;將數字存儲在內存空間buffer中 jmp playerror:cmp al,1bhjz exitjmp scanplay:mov di,tonefdec axadd ax,ax ;tabfx為雙字表,需要將獲得的ascii符*2add di,axmov bx,di ;根據按鍵獲取的ascii碼得到相應的頻率值mov dx,12hmov ax,34deh ;1.193182mhz/bxdiv bxout 42h,almov al,ah out 42h,alcall paintkeycall dela

26、y ;揚聲器延時mov ax,12h ;往揚聲器送高頻,模擬關閉out 42h,almov al,ah out 42h,al jmp scanexit: mov ah,4ch int 21h三 調試說明及結果分析確定設計思路和流程圖后,通過查閱相關資料和即時學習,最后寫出了最初版的程序,調試過程中也遇到各種各樣的問題,下面將主要問題即解決方案歸納如下:a) 運行主程序,只正常顯示一部分界面,其他地方出現大量亂碼。解決方法:在主菜單的數據段定于語句中字符串后面加了$,問題得到解決。b) 播放音樂時音樂有踩上節奏,即每個音符發聲時間一樣長,沒有節奏感。解決方法:經過檢查程序,發現音樂的節拍時間的數

27、據沒有正常送入發生程序,經過修改后得到解決。c) 主菜單中要按兩次q鍵才能退出運行。解決方法:檢查程序,再退出處多插入了一條讀取字符的命令,刪除后問題得到解決。d) 小組成員將在各自電腦上調試好的音樂代碼段插入總的程序后,唱歌速度變快,失真。解決方法:這是由于自己寫的發生程序中時間的延遲程序延時長短不同,調成一致后問題得到解決。調試好后無誤的程序運行結果圖:把編好的源程序命名保存為yinyue.asm,在asm集成環境中進行調試,如果編譯成功,就選擇運行選項中的生成exe文件,這樣就產生了一個可運行程序,然后點擊運行,就會看到與題目要求相符的界面。主菜單圖見圖3.1圖3.1 主菜單界面進入my

28、 piano 界面后見圖3.2圖3.2 my piano播放 long de chuan ren(龍的傳人)界面見圖3.3圖3.3 long de chuan ren播放ai de jiu shi ni(愛的就是你)界面見圖3.4圖3.4 ai de jiu shi ni播放happy birthday(祝你生日快樂)界面見圖3.5圖3.5 happy birthday四 課程設計收獲及心得體會在課程設計開始階段,我感到無從下手,畢竟上課時學到都只是匯編基本知識,用來做課程設計是遠遠不夠的。后來,經過上網查閱相關資料和翻閱書籍,并學習匯編語言的新知識,心中才有了一個基本的思路。之后便和小組成員

29、一起投入到了為期近兩周的微機課設中去。本次課程設計的主要任務是用匯編語言編寫音樂演奏程序播放自己選定的歌曲,這其中涉及到8255a,8254芯片的利用,這讓我加深了對這些芯片的認識。而這其中用到了端口地址及工作方式這些接口技術,從而我領悟到微機原理與接口技術是相互關聯相互滲透的。經過小組成員的共同努力,第一周我們的設計思路及流程圖已近定下,得到老師的認可后,我們開始著手編寫和調試程序,這期間遇到了各種各樣的問題,但問題并不可怕,小組成員齊心協力,總能化解一個一個難題,每解決一個難題,大伙都特別興奮,而且信心也倍增,我們享受著其中的喜怒哀樂,覺得一切都很充實。短短的兩周課程設計卻困難重重的,但是

30、我們,一起克服困難,努力去完成課程設計。我們在解決困難的過程中有很多自己的感受,我想很多同學都會和我有一樣的感受,那就是感覺匯編語言真的是很神奇,很有意思。我們從開始的擔心和害怕漸漸變成了享受,享受著匯編帶給我們的快樂。看著自己做出來的東西,心里面的感覺真的很好。雖然我們做的東西都還很簡單,但是畢竟是我們自己設計出來的,很有成就感。而且我們也學會了很多知識。總的來說,這次課程設計實習讓我收獲頗多,不但鞏固了我微機原理與接口技術這門課上學到的知識,而且豐富了我的匯編知識,因為通過微機課設我學到了以前沒接觸過的匯編語言。這次課設培養了我的興趣,增強了我獨立的去分析問題和解決問題的能力,感謝學校提供

31、的這次機會,也感謝老師的栽培和指導!參考文獻1 周佩玲.微型計算機原理及接口技術.電子工業出版社,20052 譚浩強.微型計算機原理及應用.清華大學出版社,20013 戴梅萼,史嘉權.微型計算機技術及應用.清華大學出版社,20034 沈美明.ibm pc機匯編語言程序設計.清華大學出版社,19915 宋杰,汪志宏,江敏.微機原理與接口技術課程設計.機械工業出版社,2005附錄:總程序;畫橫線;- drawline0 macro start_x,start_y,end_x,colorlocal paintpush axpush bxpush cxpush dxmov ah,0chmov al,c

32、olormov bx,0mov cx,start_xmov dx,start_ypaint:int 10hinc cxcmp cx,end_xjc paintpop dxpop cxpop bxpop axendm;畫豎線 ;- drawline1 macro start_x,start_y,end_y,colorlocal paintpush axpush bxpush cxpush dxmov ah,0chmov al,colormov bx,0mov cx,start_xmov dx,start_ypaint:int 10hinc dxcmp dx,end_yjc paintpop dx

33、pop cxpop bxpop axendm ;畫斜線 向右傾斜 ;- drawobilque macro start_x,start_y,end_x,colorlocal paint2push axpush bxpush cxpush dxmov ah,0chmov al,colormov bx,0mov dx,start_ymov cx,start_xpaint2:int 10hdec cxinc dxcmp cx,end_xja paint2pop dxpop cxpop bxpop axendm ;畫填充矩形;- draw macro start_x,start_y,end_x,end

34、_y,colorlocal draw_next push ax push bx push cx push dxmov ah,0ch ;寫像素點mov al,color ;設置顏色 mov bh,0 ;選用頁號0 mov cx,start_x ;列起始點 mov dx,start_y ;行起始點draw_next: int 10h ;畫點 inc cx ;畫橫線 cmp cx,end_x ;比較行是否畫完 jne draw_next ;畫另一行 mov cx, start_x ;另一行的起始點 inc dx cmp dx,end_y ;比較列是否畫完 jne draw_next;未完繼續畫 po

35、p dx pop cx pop bx pop ax endmdatas segment;1 long de chuan ren mus_freqa dw 330,371,393,441,495,441,393,393,371,330 dw 330,371,393,441,495,441,393,391,393,441,495 dw 330,371,393,441,495,441,393,393,371,330 dw 371,371,371,393,371,330,330,294,330 dw 495,495,495,441,393,441,441,495,441 dw 393,393,393,

36、441,393,371,371,393,371 dw 495,495,495,441,393,441,441,495,441 dw 393,393,371,393,371,330,330,294,330,-1 mus_timea dw 1600,1600,1600,3200,1600,1600,3200,1600,1600,4800 dw 3200,1600,1600,3200,1600,1600,1600,1600,1600,1600,4800 dw 3200,1600,1600,3200,1600,1600,3200,1600,1600,4800 dw 3200,3200,1600,320

37、0,1600,3200,1600,1600,4800 dw 3200,3200,3200,1600,1600,3200,1600,1600,4800 dw 3200,3200,3200,1600,1600,3200,1600,1600,4800 dw 3200,3200,3200,1600,1600,3200,1600,1600,4800 dw 3200,3200,3200,1600,1600,3200,1600,1600,3200 mus_jiezoua dw 6,7,1,2,3,2,1,1,7,6 dw 6,7,1,2,3,2,1,7,1,2,3 dw 6,7,1,2,3,2,1,1,7,

38、6 dw 7,7,7,1,7,6,6,5,6 dw 3,3,3,2,1,2,2,3,2 dw 1,1,1,2,1,7,7,1,7 dw 3,3,3,2,1,2,2,3,2 dw 1,1,7,1,7,6,6,5,6 ;2 ai de jiu shi ni mus_freqb dw 525,393,262,393,350,393,350,393,441,525,525,441,525,393,525,589 dw 525,589,700,700,700,700,661,589,525,441 dw 525,589,700,700,700,589,661,589,589,525,525,525,52

39、5,441,393,350,350 dw 441,393,393,350,350,294,350,393,393 dw 525,393,262,393,350,393,350,393,441,525,525,441,525,393,525,589 dw 525,589,700,700,700,700,661,589,525,441 dw 525,589,700,700,700,589,661,589,589,525,525,525,525,441,393,350,350 dw 441,393,393,350,350,294,350,350 dw -1 mus_timeb dw 8dup(2000),4000,6 dup(2000),4000 dw 9dup(2000),8000 dw 5dup(2000),1000,1000,9 dup(2000),6000 dw 8dup(2000),4000 dw 8dup(2000),4000,6 dup(2000),4000 dw

溫馨提示

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

評論

0/150

提交評論