微機(jī)原理及接口技術(shù)實(shí)驗(yàn)講義_第1頁
微機(jī)原理及接口技術(shù)實(shí)驗(yàn)講義_第2頁
微機(jī)原理及接口技術(shù)實(shí)驗(yàn)講義_第3頁
微機(jī)原理及接口技術(shù)實(shí)驗(yàn)講義_第4頁
微機(jī)原理及接口技術(shù)實(shí)驗(yàn)講義_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、微機(jī)原理及接術(shù)書實(shí)驗(yàn)指導(dǎo)第一章 80X86 微機(jī)原理及其程序設(shè)計(jì)實(shí)驗(yàn)一 熟悉 PC 機(jī)的使用和調(diào)試匯編程序的方法一. 實(shí)驗(yàn)?zāi)康?1. 掌握匯編程序由編輯、編譯、到調(diào)試的全過程。2. 通過匯編調(diào)試工具加深對指令執(zhí)行過程的了解。二. 實(shí)驗(yàn)要求:1.了解 PC 機(jī)的系統(tǒng)類型和基本配置, 熟悉 PC 機(jī) DOS 和 WINDOWS 下的基本操作2.掌握使用 UltraEdit 等編輯器對匯編語言源程序 (操作。后擴(kuò)展名為.ASM ) 的編輯3.學(xué)會用宏匯編程序 MASM (或 TASM ) 對.ASM 文件進(jìn)行編譯(編譯后擴(kuò)展名為.obj)。4.使用程序 LINK (或 TLINK ) 對 .OBJ

2、文件生成 .EXE 文件。5. 學(xué)會用匯編調(diào)試工具軟件 TD (或DEBUG )令的了解、執(zhí)行程序、檢查運(yùn)行結(jié)果的方法。對.EXE 文件進(jìn)行調(diào)試進(jìn)一步深對指三. 實(shí)驗(yàn)儀器:PC 機(jī)一臺四. 實(shí)驗(yàn)步驟:匯編程序的編程環(huán)境有以下三種方式:1.Dos 窗口下命令行方式2.UltraEdit 方式3.硬件實(shí)驗(yàn)箱自帶的集成編程環(huán)境 Wmd86 方式其中第一種 Dos 方式,是指進(jìn)入 Dos 窗口模式編輯源文件,用命令行方式直接調(diào)用Tasm,Masm 等編譯工具進(jìn)行程序的編譯、Windows、調(diào)試,而后兩種工作方式都是在下進(jìn)行源文件的編輯,而編譯和工仍然是通過調(diào)用 Tasm,Masm 等編譯工具完成相應(yīng)作

3、。為了方便我們現(xiàn)在一般采用后兩種編程環(huán)境。下面我們分別介紹:1UltraEdit 方式UltraEdit 是 Windows 下非常優(yōu)秀的文本編輯軟件,有很好的可配置性,支持語法等。通過配置 UltraEdit,可實(shí)現(xiàn)在 UltraEdit 環(huán)境下編輯匯編源程序、匯編、連接、調(diào)用TDebug 調(diào)試,非常方便。配置完成后,可實(shí)現(xiàn)快捷鍵調(diào)用各編譯、連接、調(diào)試功能。實(shí)驗(yàn)上已經(jīng)預(yù)配置好了。配置方法說明(帶演示動畫)。使用說明:1.打開 UltraEdit,編輯并保存匯編源文件。先新建一個(gè)文件,并保存為.asm 為后綴的文件,此后,可以有語法指示。輸入?yún)R編程序,并保存。2.編譯UltraEdit 菜單欄

4、高級masm 編譯(或 Tasm 編譯)此菜單會調(diào)用 masm.exe(ml.exe)或 tasm.exe,輸出結(jié)果放在當(dāng)前編輯屏幕的下方。3.連接UltraEdit 菜單欄高級Link 連接(或 Tlink 連接)此菜單會調(diào)用 Link.exe(ml.exe)或 tlink.exe,輸出結(jié)果也放在當(dāng)前編輯屏幕的下方。4.調(diào)試UltraEdit 菜單欄高級Td 調(diào)試此菜單會新開一個(gè) dos 窗口,在其中運(yùn)行 td.exe,調(diào)試完畢,ALT+XTd 環(huán)境,exit 返回即可。另:dos 窗口模式與全屏模式的切換鍵:Alt+Enter調(diào)試最好在全屏模式下。2. Wmd86 方式1. 運(yùn)行Wmd86

5、 軟件,進(jìn)入Wmd86 集成開發(fā)環(huán)境。2. 根據(jù)程序設(shè)計(jì)使用語言的不同,通過在“設(shè)置”下拉列表來選擇需要使用的語言,如圖所示。語言選擇后,下次再啟動軟件,語言環(huán)境保持這次的修改不變。在這里,我們選擇匯編語言。3. 語言選擇后,點(diǎn)擊新建或按Ctrl+N為Wmd861。組合鍵來新建一個(gè)文檔,。默認(rèn)文件名4. 編寫實(shí)驗(yàn)程序,并保存,此時(shí)系統(tǒng)會提示輸入新的文件名,輸完后點(diǎn)擊保存。5. 點(diǎn)擊,編譯文件,若程序編譯無誤,則輸出的輸出信息,然后再進(jìn)行,無誤輸出的輸出信息。6. 連接PC與實(shí)驗(yàn)系統(tǒng)的通訊電纜,打開實(shí)驗(yàn)系統(tǒng)電源。7. 編譯、都正確并且上下位機(jī)通訊后,就可以程序,聯(lián)機(jī)調(diào)試了??梢酝ㄟ^端口列表中的“

6、端口測試”來檢查通訊是否正常。點(diǎn)擊程序。為編譯、下載組合按鈕,通過該按鈕可以將編譯、一次完成。后,在輸出區(qū)的結(jié)果窗中會顯示“加載!”,表示程序已正確。起始運(yùn)行語句下會有一條綠色的背景。五. 實(shí)驗(yàn)內(nèi)容:1. 輸入以下程序, 完成由編輯、編譯、到調(diào)試的全過程。在調(diào)試過程中應(yīng)使用單步、斷點(diǎn)等方法調(diào)試,注意觀察寄存器、標(biāo)志位和有關(guān)容的變化。器內(nèi)A 將 S1 (BYTE) ,S2 (WORD) 和 S3 (DWORD) 送至 D1,D2,D3 .注意: 以下程序有誤,在調(diào)試過程中加以修改使之正確DATA SEGMENTSS1 SS2 SS3 DD1 DD2 DD3DB DW DD DB DW DW123

7、4H EA32H 12345678H0?DATE ENDSCODESEGMEMTASUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV MOV MOV LEA LEA MOV MOV MOV MOV MOV MOV INC INC MOV MOV MOV INTDS,AX AL,SS1 DD1,AL SI,SS2 DI,DD AX,SIDI,AX SI,OFFSET S3 DI,OFFSET D3 AX,SI D3,AXSI DIAX,SIDI,AX AX,4C00H ;返21HCODEENDS STRATENDSB 完成兩個(gè)長整數(shù)相加的匯編程序要求: 調(diào)試過程中應(yīng)

8、更改必要的參數(shù)值,以驗(yàn)證程序的正確性,例如本題可修改加數(shù)和被加數(shù)以判別最進(jìn)位處理是否正確。將該程序修改為減法、壓縮的 BCD 數(shù)的加、減 ( BCD 數(shù)運(yùn)算時(shí)注意操作數(shù)應(yīng)符合要求)重新調(diào)試。DATA SEGMENT NUMBER BUFFER1 BUFFER2 RESULTDATA ENDSEQU 6DB 12H,0E2H,33H,43H,12H DB 22H,0A2H,55H,0F2H,3FH DB NUMBER DUP(?)CODE SEGMENTASSUME START:CS:CODE,DS:DATAMOVAX,DATAMOV MOV MOV MOV LEA XORDS,AX CX,NU

9、MBER-1SI,OFFSET DI,OFFSET BX,RESULTBUFFER1 ;被加數(shù)指針BUFFER2 ;加數(shù)指針;和指針AX,AX ;清 CF 標(biāo)志NEXT: MOV AL,SIADC MOV INC INC INCAL,DI ;帶進(jìn)位相加BYTE PTR BX,AL ;保存部分和SI ;變動指針DIBXLOOP NEXT ;循環(huán)ADC MOV MOV INTAH,0 ;最BYTE PTR AX,4C00H 21H進(jìn)位BX,AH;返CODE ENDSENDSTARTC 完成數(shù)據(jù)塊的移動.DS_DATA BUFFER1 DS_DATA ES_DATA RESULT ES_DATA M

10、Y_CODESEGMENTDB 0,1,2,3,4,5,6,7,8,9 ENDSSEGMENTDB 10 DUP(?) ENDSSEGMENTASSUME CS:MY_CODE,DS:DS_DATA,ES:ES_DATA MY_ PROCSTART:PUSH DSMOV AX,0 PUSH AXMOV AX,DS_DATA MOV DS,AXMOV AX,ES_DATA MOV ES,AXMOV MOV MOV REP RETMY_SI,OFFSET BUFFER1 DI,OFFSET RESULT CX,10MOVSBENDPMY_CODE ENDS END START2 在匯編調(diào)試工具軟件

11、的環(huán)境下, 完成下列指令的執(zhí)行, 注意選取有代表性的數(shù)據(jù), 并觀察指令執(zhí)行前后的數(shù)值變化:例如: 觀察 MOV AX,BX 指令在 TD 或 DEBUG 下將 AX,BX 分別置不同的值,寫入再觀察 AX,BX 寄存器的內(nèi)容。MOVAX,BX指令然后執(zhí)行,A.XCHGB.XLATC.LDS和LESD.MUL和IMULE.CBW和CWD 分正數(shù)和負(fù)的情況F.移位和循環(huán)指令G.串操作指令 ( 注意 CS 和 ES 的使用)實(shí)驗(yàn)二簡單程序設(shè)計(jì)一. 實(shí)驗(yàn)?zāi)康?1. 掌握簡單程序的設(shè)計(jì)和調(diào)試方法2. 利用匯編調(diào)試工具加深對指令和偽指令的了解二. 實(shí)驗(yàn)要求:簡單程序是復(fù)雜程序的基礎(chǔ)。簡單程序又稱順序程序,

12、顧名思意,就是為完成一簡單的目的,采用一串指令序列,按順序逐條執(zhí)行。在簡單程序執(zhí)行過程中,每條指令只執(zhí)行一次,同時(shí)由于沒有轉(zhuǎn)移,一般不考慮對標(biāo)志的影響。象所有匯編程序設(shè)計(jì)一樣,編程前,應(yīng)考慮如何分配 CPU 中的寄存器和內(nèi)存中單元等,要考慮到指令本身的特點(diǎn)和要求分配寄存器,例如,如果希望使用乘法指令進(jìn)行乘法,根據(jù)指令的要求,必須要使用 AL 或 AX 作為被乘數(shù),在這種情況下,AL或AX 就必須考慮為存放被乘數(shù),當(dāng)然,乘積應(yīng)該是放在 AX或DX:AX中。1. 掌握匯編程序的基本結(jié)構(gòu)及設(shè)計(jì)方法,包括:A匯編語言源程序結(jié)構(gòu)B基于匯編級的解題算法C寄存器和器的內(nèi)容分配D簡單匯編程序的設(shè)計(jì)E返的方法2

13、. 掌握對自編程序的調(diào)試及出錯(cuò)修改的方法,包括:A匯編程序的編輯、編譯、及調(diào)試B在調(diào)試程序過程中發(fā)現(xiàn)語法錯(cuò)誤的處理方法C在調(diào)試程序過程中如何發(fā)現(xiàn)邏輯錯(cuò)誤及處理方法3. 利用調(diào)試工具軟件對課堂中講授的等內(nèi)容加深了解指令、偽指令、操作符、運(yùn)算符三. 實(shí)驗(yàn)儀器:PC 機(jī)一臺四. 實(shí)驗(yàn)內(nèi)容:例 1將 AX 中 16 進(jìn)制數(shù)轉(zhuǎn)換為 10 進(jìn)制數(shù)輸出如 AX=47EH輸出 1150其流程圖如下:程序:codesegmentassume cs:codestart:mov ax,47EHmov cx,0mov bx,10disp1: movdx,0divbxpushdxinccxorax, axjnedisp

14、1disp2:pop dxmovah,2adddl,30hint21hloopdisp2mov ax,4c00hint 21hcode endsendstart練習(xí):2.1 用多種尋址方式將數(shù)據(jù)定義的 A1(字),A2(字),A3(雙字)的數(shù)據(jù)分別送至附加段 B1,B2,B3 單元。2.2 將 A 中的大寫英文字母轉(zhuǎn)換成相應(yīng)的小寫字母。例: A:45H('E')65H('e')2.3將 A 中數(shù)據(jù)(<=9)的平方存至 B 中 ( 利用 XLAT 指令 )。例:A:6B:24H(36)2.4將一個(gè)壓縮的 BCD 數(shù)轉(zhuǎn)換成相應(yīng)的 ASCII 碼。例:56H35

15、H('5'),36H('6')2.5有一種加密方法是首先在被加密的所有符號中建立其一一對應(yīng)的符號,例如:0 - 2 , 1 - 7 , 2 - 1,3- 6 , 4 - 95 - 0 , 6 - 8 , 7 - 3,8- 4 , 9 - 5然后將數(shù)據(jù)進(jìn)行變換后,即當(dāng)源數(shù)是 6 時(shí),保存的數(shù)據(jù)是 8,這樣就可以達(dá)到的效果。試編一程序完成十六進(jìn)制數(shù)的加密和程序。2.6 完成分別將兩個(gè)壓縮 BCD 數(shù)據(jù)和非壓縮 BCD 數(shù)據(jù)相加的程序 (加數(shù)和被加數(shù)及和小于 9999 )。2.7完成兩個(gè) 32 位數(shù)的乘法程序。例:01234567H*89ABCDEFH=9CA39DC

16、94E4629H2.8利用串操作指令完成兩串?dāng)?shù)據(jù)的比較, 結(jié)果用 RESULT 單元為 00H和 0FFH 表示相同或不相同。例: String1:ABC, String2:ABC 則 RESULT:00HString1:ABC, String2:ADC 則 RESULT:0FFH2.9 利用串操作指令統(tǒng)計(jì)以 "$" ( ASCII 碼為 24H )為結(jié)束的字符串中字符的個(gè)數(shù)。例:String:STUDY$ 則 RESULT:52.10 按本實(shí)驗(yàn)要求,自編一程序。實(shí)驗(yàn)三 分支程序設(shè)計(jì)一.實(shí)驗(yàn)?zāi)康?掌握分支程序設(shè)計(jì)和調(diào)試方法二.實(shí)驗(yàn)要求:分支程序的基本設(shè)計(jì)方法包括:1掌握利用

17、條件轉(zhuǎn)移指令方法2了解利用跳轉(zhuǎn)表方法3了解利用邏輯尺方法三.實(shí)驗(yàn)儀器:PC 機(jī)一臺四.實(shí)驗(yàn)內(nèi)容:分支結(jié)構(gòu)是程序設(shè)計(jì)的基本結(jié)構(gòu),它們在執(zhí)行過程中,或直接更改或通過對標(biāo)志的判別,實(shí)現(xiàn)更改順序執(zhí)行的次序,這些更改是通過對 IP (段內(nèi))或 CS:IP ()的修改完成的,而實(shí)現(xiàn)對這些寄存器的修改是通過無條件轉(zhuǎn)移和有條件轉(zhuǎn)移完成的。1 無條件轉(zhuǎn)移無條件轉(zhuǎn)移采用的是無條件轉(zhuǎn)移指令,即 JMP 類指令,在 8086 匯編中,JMP 類指令根據(jù)需要轉(zhuǎn)移的目的不同,分成短 JMP ( SHORT ),JMP( NEAR )和JMP ( FAR ),其基本格式如下:短 跳 轉(zhuǎn): JMP TTT ;TTT在該跳轉(zhuǎn)指

18、令的 ±127 字節(jié)之內(nèi)跳轉(zhuǎn): JMP TTT ;TTT是NEAR 型定義的標(biāo)號JMPNEARPTR TTTJMPCX ;利用寄存器替換 IPJMPWORDPTR BX ;利用內(nèi)存中某字單元內(nèi)容替換 IP跳轉(zhuǎn): JMP FAR PTR TTT ; TTT 是 FAR 型標(biāo)號JMPDWORD PTR BX ; 利用內(nèi)存中雙字單元內(nèi)容替換 IP 和 CS嚴(yán)格地說, SHORT 跳轉(zhuǎn)不是當(dāng)前 JMP 指令的 ±127 字節(jié)之內(nèi),計(jì)算機(jī)實(shí)際操作過程是將該指令讀入后的 IP ,即 JMP 當(dāng)前地址加 2 后的IP 與指令中八位的偏移量相加,然后替換 IP,所以,若以 JMP 指令的位

19、置為準(zhǔn)的話,則是 -126 至+129 之間。 SHORT 和 NEAR 型一般由匯編時(shí)自動區(qū)分,應(yīng)指出的是,條件轉(zhuǎn)移采用的都是 SHORT 型,因此,當(dāng)源和目的較遠(yuǎn)時(shí) ( 即超出 SHORT 范圍 ),應(yīng)在較近的位置設(shè)置一條 JMP 指令,以實(shí)現(xiàn)不同位置的跳轉(zhuǎn)。2 條件轉(zhuǎn)移條件判別指令是條件轉(zhuǎn)移程序設(shè)計(jì)的基礎(chǔ),掌握指令如何對標(biāo)志的影響及如何利用條件轉(zhuǎn)移指令達(dá)到程序分支的目的。如前所述,條件轉(zhuǎn)移的跳轉(zhuǎn)距離都是 SHORT 型。對跳轉(zhuǎn)的條件判別根據(jù)判別的條件分兩類,一種是單條件的判別,另一種是復(fù)合條件的判別,對單條件判別,主要對單一的標(biāo)志位進(jìn)試,如判 CF 標(biāo)志,判 SF 標(biāo)志等,而復(fù)合條件則是

20、對多標(biāo)志位進(jìn)行判別,其標(biāo)志的影響一般是由數(shù)值運(yùn)算后決定的,如帶符號數(shù)大于等于的條件判別等。盡管復(fù)合條件需多標(biāo)志判別, 但在 8086 指令助記符中與單條件轉(zhuǎn)移指令沒有區(qū)別。單條件判別指令如下:1 JC 或 JNC 根據(jù)進(jìn)位標(biāo)志 CF 進(jìn)行轉(zhuǎn)移2JE/JZ或 JNE/JNZ 根據(jù)零標(biāo)志 ZF 進(jìn)行轉(zhuǎn)移3JS 或JNS根據(jù)符號標(biāo)志 SF 進(jìn)行轉(zhuǎn)移4JO 或JNO根據(jù)溢出標(biāo)志 OF 進(jìn)行轉(zhuǎn)移5JP/JPE 或JNP/JPO 根據(jù)奇偶標(biāo)志 PF 進(jìn)行轉(zhuǎn)移根據(jù)操作數(shù)的不同,分無符號數(shù)和帶符號數(shù)的判別,對無符號數(shù)有A( 高于 ) B( 低于),帶符號數(shù)有 G( 大于 ) L( 小于 ) 等判別。為了方便起

21、見,其指令助記符對同一種條件可能有多種表示方法,如,JGE 與 JNL 的條件判別條件是相同的,使用者根據(jù)習(xí)慣和需要選取其中的一種表示。無符號數(shù)判別指令如下:1JA/JNBE高于(不低于等于)轉(zhuǎn)移2JAE/JNB高于等于(不低于)轉(zhuǎn)移3JB/JNAE低于(不高于等于)轉(zhuǎn)移4JBE/JNA低于等于(不高于)轉(zhuǎn)移帶符號數(shù)判別指令如下:1JG/JNLE大于(不小于等于)轉(zhuǎn)移2JGE/JNL大于等于(不小于)轉(zhuǎn)移3JL/JNGE小于(不大于等于)轉(zhuǎn)移4JLE/JNG小于等于(不大于)轉(zhuǎn)移3分支程序設(shè)計(jì)有條件轉(zhuǎn)移程序是分支程序主要部分,這樣的分支程序是根據(jù)當(dāng)前運(yùn)算的結(jié)果去選擇不同的程序段執(zhí)行,反之,如果

22、要求是根據(jù)不同的情況,完成不同的任務(wù),則需要使用分支程序結(jié)構(gòu)來實(shí)現(xiàn)。如上述,程序的分支是根據(jù)標(biāo)志決定的,所以,如何影響標(biāo)志及如何利用標(biāo)志是分支程序的重點(diǎn),例如,AX是否是負(fù)數(shù),我們可用多種方法實(shí)現(xiàn):方法一 AND AX, AX ; 影響 SF 標(biāo)志JS MINCE ; 為負(fù)數(shù)轉(zhuǎn)入負(fù)數(shù)處理.方法二 CMP AX, 0 ; 影響 SF 標(biāo)志JS MINCE ; 為負(fù)數(shù)轉(zhuǎn)入負(fù)數(shù)處理.方法三 TEST AX,8000H ; 影響 ZF 標(biāo)志JNZ MINCE ; 為負(fù)數(shù)轉(zhuǎn)入負(fù)數(shù)處理.方法四 ADD AX,AX ; 影響 CF 標(biāo)志JC MINCE ; 為負(fù)數(shù)轉(zhuǎn)入負(fù)數(shù)處理.方法五 SHL AX,1 ;

23、影響 CF 標(biāo)志JC MINCE ; 為負(fù)數(shù)轉(zhuǎn)入負(fù)數(shù)處理.還可以舉出其它方法由上例可以看出,同樣的目的可用不同的方法去影響不同的標(biāo)志,采用不同的跳轉(zhuǎn)指令來實(shí)現(xiàn),顯然,要編好分支程序,首先應(yīng)掌握指令對標(biāo) 志如何影響,這也是匯編程序設(shè)計(jì)的特點(diǎn)之一。本實(shí)驗(yàn)中有輸入和顯示。以下列出簡單的字符輸入和顯示的程序,注意,它們都是以 ASCII 碼方式體現(xiàn)的。1. 由鍵盤讀入字符的程序:MOVAH,01 ; 功能號INT21H ; 系統(tǒng)調(diào)用讀入字符MOVINPUT_CHAR, AL ; AL 為輸入的字符的ASCII 碼值2. 由屏幕顯示字符的程序:MOVAH,02H ; 功能號MOVDL,'#

24、9; ; DL : 顯示字符的 ASCII 碼INT21H ; 系統(tǒng)調(diào)用顯示字符四. 實(shí)驗(yàn)內(nèi)容:例:設(shè)計(jì)一數(shù)據(jù)塊間的搬移程序。設(shè)計(jì)思想:程序要求把內(nèi)存中一數(shù)據(jù)區(qū)(稱為源數(shù)據(jù)塊)傳送到另一種情況,區(qū)(成為目的數(shù)據(jù)塊)。源數(shù)據(jù)塊和目的數(shù)據(jù)塊在中可能有三對于兩個(gè)數(shù)據(jù)塊分離的情況,如圖1-4-1(a),數(shù)據(jù)的傳送從數(shù)據(jù)塊的首地址開始,或從數(shù)據(jù)塊的末地址開始均可。但是對于有重疊的情況,則要加以分析,否則重疊部分會因“搬移”而遭到破壞,可有如下結(jié)論:當(dāng)源數(shù)據(jù)塊首地址目的塊首地址時(shí),從數(shù)據(jù)塊末地址開始傳送數(shù)據(jù),如圖1-4-1(b) 所示。當(dāng)源數(shù)據(jù)塊首地址目的塊首地址時(shí),從數(shù)據(jù)塊首地址開始傳送數(shù)據(jù),如圖1-4

25、-1(c) 所示。實(shí)驗(yàn)程序流程圖實(shí)驗(yàn)程序SSTACK SEGMENT STACK DW 64 DUP(?)SSTACK ENDS CODE SEGMENT ASSUME CS:CODESTART: MOV CX, 0010H MOV SI, 3100HMOV DI, 3200H CMP SI, DIJA A2ADD SI, CX ADD DI, CX DEC SIDEC DIA1: MOV AL, SI MOV DI, AL DEC SIDEC DI DEC CX JNE A1 JMP A3A2: MOV AL, SI MOV DI, AL INC SIINC DIDEC CXJNE A2A3

26、: JMP A3 CODE ENDSEND START練習(xí):3.1 將一個(gè)字節(jié)的十六進(jìn)制數(shù)轉(zhuǎn)換成對應(yīng)的 ASCII 碼。例: 3EH33H('3'),4EH('E')3.2 編寫可接受 10 個(gè)鍵盤命令 ( A,B.J ),完成分別轉(zhuǎn)向 P1,P2,.P10 的程序。P1,P2,.P10 程序用 P1,P2,.P10 顯示表示。3.3 將 10 個(gè)十六位帶符號數(shù)中正數(shù)相加。例:3543H,5943H,-3578H,-3432H,4523H,3323H,-5634H,54EFH,-5423H,7230H則 1CDEBH3.4 利用邏輯尺方法完成 16 個(gè)無符號數(shù)

27、( WORD )中第 1,3,6,8,10,11,14 個(gè)數(shù)的相加。例:0FE4H,4320H,9564H,4575H,0E47AH,8643H,5686H,4542H3B4CH,3223H,7856H,5435H,5432H,0A586H,5456H,6673H則 2C0CCH3.5 編寫在一串?dāng)?shù)據(jù)中統(tǒng)計(jì)正數(shù),負(fù)數(shù)和零的個(gè)數(shù)并加以顯示。例: 34H,-3BH,-5AH,72H,0,-2DH,0,66H則正數(shù):3,負(fù)數(shù):3,零:23.6 統(tǒng)計(jì)某十六位數(shù)中 "1" 的個(gè)數(shù)并加以顯示。例: 0101001100101110B 則 83.7一種數(shù)值濾波的方法是將相鄰的兩數(shù)求平均值

28、,試編程序?qū)崿F(xiàn)。3.8將字符串 1字符串 2 的中間, 其位置由鍵盤輸入。3.9在一已排序的數(shù)組中新的數(shù)據(jù),新數(shù)據(jù)后的數(shù)組仍滿足排序要求。3.10 編寫一串在帶符號數(shù)中找出最大數(shù)和最小數(shù)的程序。例: 35H,32H,73H,10H,08H,0FH,2AH,3BH 則:最大數(shù) 73H最小數(shù) 08H3.11 在一組數(shù)據(jù)中根據(jù)最高兩位( D7D6 ) 分別將對應(yīng)的數(shù)據(jù)位相加,結(jié)果加以顯示。例 D7D6 D5D4D3D2D1D0信息位數(shù)據(jù)位3.12 統(tǒng)計(jì)一組數(shù)據(jù) ( BYTE ) 中 D3D2D1 位相同的個(gè)數(shù)并加以顯示。3.13 編寫一程序完成無符號數(shù)的排序程序(由大到小)。例: 34H,67H,0

29、E2H,0A7H,89H,73H,51H,43H0E2H,0A7H,89H,73H,67H,51H,43H,34H3.14 自編題實(shí)驗(yàn)四 循環(huán)程序設(shè)計(jì)一.實(shí)驗(yàn)?zāi)康?掌握循環(huán)程序的設(shè)計(jì)和調(diào)試方法二.實(shí)驗(yàn)要求:掌握循環(huán)程序的基本結(jié)構(gòu)及設(shè)計(jì)方法, 包括:A循環(huán)程序的循環(huán)初始化、循環(huán)體及循環(huán)條件B多種循環(huán)條件C循環(huán)體中的指針變化了解多重循環(huán)程序的設(shè)計(jì)方法三.實(shí)驗(yàn)儀器:PC 機(jī)一臺四.實(shí)驗(yàn)內(nèi)容:例: 計(jì)算 9 之內(nèi)的階乘流程圖:程序:練習(xí):4.1 編寫在一串?dāng)?shù)據(jù)中統(tǒng)計(jì)正數(shù),負(fù)數(shù)和零的個(gè)數(shù)并加以顯示。例: 34H,-3BH,-5AH,72H,0,-2DH,0,66H則正數(shù):3,負(fù)數(shù):3,零:24.2統(tǒng)計(jì)某

30、十六位數(shù)中 "1" 的個(gè)數(shù)并加以顯示。例:0101001100101110B 則 84.3一種數(shù)值濾波的方法是將相鄰的兩數(shù)求平均值,試編程序?qū)崿F(xiàn)。4.4將字符串 1字符串 2 的中間, 其位置由鍵盤輸入。4.5求。在一已排序的數(shù)組中新的數(shù)據(jù),新數(shù)據(jù)后的數(shù)組仍滿足排序要4.6編寫一串在帶符號數(shù)中找出最大數(shù)和最小數(shù)的程序。例:35H,32H,73H,10H,08H,0FH,2AH,3BH 則:最大數(shù) 73H 最小數(shù) 08H4.7在一組數(shù)據(jù)中根據(jù)最高兩位( D7D6 ) 分別將對應(yīng)的數(shù)據(jù)位相加, 結(jié)果加以顯示。例 D7D6 D5D4D3D2D1D0信息位 數(shù) 據(jù) 位4.8統(tǒng)計(jì)一組

31、數(shù)據(jù) ( BYTE ) 中 D3D2D1 位相同的個(gè)數(shù)并加以顯示。4.9編寫一程序完成無符號數(shù)的排序程序(由大到小)。例:34H,67H,0E2H,0A7H,89H,73H,51H,43H0E2H,0A7H,89H,73H,67H,51H,43H,34H4.10 自編題實(shí)驗(yàn)五 簡單 DOS 和 BIOS 調(diào)用匯編程序設(shè)計(jì)實(shí)驗(yàn)?zāi)康?一.掌握簡單 DOS 系統(tǒng)功能和 BIOS 的調(diào)用方法二.實(shí)驗(yàn)要求:1. 掌握 DOS 系統(tǒng)功能調(diào)用方法A了解 DOS 系統(tǒng)調(diào)用所完成的功能B掌握如何根據(jù)題目要求利用系統(tǒng)調(diào)用完成所需的功能C掌握系統(tǒng)調(diào)用的方法, 包括參數(shù)設(shè)置,功能號設(shè)置,系統(tǒng)調(diào)用和出口參數(shù)獲得2. 掌

32、握 BIOS 調(diào)用方法三.實(shí)驗(yàn)儀器:PC 機(jī)一臺四.實(shí)驗(yàn)內(nèi)容:BIOS 和 DOS 是兩組系統(tǒng)服務(wù)軟件集合,它們使用戶能夠和使用 PC機(jī)的硬件,也可以這么說,對一個(gè)匯編程序編來說,如果要使用 PC 機(jī)硬件的話,一般是采用 BIOS 和 DOS 調(diào)用來實(shí)現(xiàn)。在使用 MS-DOS 的PC 機(jī)上使用硬件的基本方法有以下三種:直接硬件使用 PC 機(jī)硬件實(shí)現(xiàn),編寫直接最直接的方法是通過編寫使用 IN 和 OUT指令硬件的程序需要編對所使用硬件的非常熟悉,包括口地址,命令,硬件結(jié)構(gòu)等,這些,對一般的編來說,要掌握是有一定難度的,同樣,即使是編掌握了必要的硬件知識,但由于直接調(diào)試程序的所要考慮的因素較多,也

33、會使編寫的程序相當(dāng)繁雜,增加了,另一方面,編按的要求設(shè)置硬件的工作方式,有可能會影響整個(gè)系統(tǒng)的運(yùn)行,另外,采用直接硬件的編程方法編制的程序,其可移植性相當(dāng)差,在一個(gè)上運(yùn)行的程序,換到另外一個(gè)廠家生產(chǎn)的上有可能無法運(yùn)行,因此,如果不是為了獲得更高的執(zhí)行效率和獲得DOS 和 BIOS 不支持的功能,程序員應(yīng)避免采用該方法。使用 BIOS 調(diào)用BIOS 稱為基本輸入輸出系統(tǒng),由 DOS-BIOS 和 ROM-BIOS 兩部分組成,它是計(jì)算機(jī)硬件和其它程序之間的第一道緩沖。BIOS 直接和外設(shè)通訊,完成設(shè)備一級的,并附有其它的實(shí)用服務(wù)功能,它為編提供了一個(gè)簡單的軟件接口以避免和外設(shè)直接打交道,這樣,可

34、以降低編對硬件要求的了解程度,簡化使用 PC 機(jī)硬件的程序,而 BIOS 是 PC機(jī)的標(biāo)準(zhǔn)軟件接口,具有兼容性,提高了編制程序的可移植性。采用 BIOS 功能調(diào)用主要是為了得到較高的運(yùn)行效率(與 DOS 功能調(diào)用相比),或者需要利用 DOS 不具備的某些功能.。BIOS 調(diào)用最常見的是在顯示器的程序中,不同的顯示器會增加相應(yīng)的 BIOS 功能。使用 DOS 調(diào)用DOS 在更次上給出了與 BIOS 相同的功能,一般說來, DOS調(diào)用需要的對硬件有,出口參數(shù)較 BIOS 簡單,調(diào)用也容易,方便,不需要編的了解,通過調(diào)用 DOS ,還可以充分利用操作系統(tǒng)提供的所有功能,編制的程序可移植性也較高。與

35、BIOS 相比,DOS 完成的功能沒有其豐富,即對于某些特殊的要求,DOS 調(diào)用也許不能實(shí)現(xiàn),此外,DOS 調(diào)用的執(zhí)行效率也比 BIOS 低。應(yīng)該使用哪種方法選擇哪種方式應(yīng)根據(jù)不同的需要來選擇,首先必須是以完成任務(wù)為目的,一般按 DOS , BIOS 到硬件直接的順序選擇,另外,好的編程者還要根據(jù)程序應(yīng)用的場合,權(quán)衡程序的可移植性,編程的復(fù)雜性和目標(biāo)代碼長短等因素選擇相應(yīng)的方式。此外,在選擇 DOS 調(diào)用時(shí),因注意操作系統(tǒng)的版本,一般的高版本的操作系統(tǒng)兼容低版本。DOS 功能調(diào)用的一般步驟為:1.必要,裝入?yún)?shù)到規(guī)定的寄存器;2.裝入功能號到 AH 中;必要,裝入子功能號到 AL 中;3.調(diào)用

36、 DOS 相應(yīng)功能的中斷 ( 這里一般指 INT 21H );4.必要,取出返回結(jié)果或出錯(cuò)信息.例 1:利用 Dos 系統(tǒng)功能調(diào)用將輸入的小寫字母轉(zhuǎn)換成大寫輸出如:鍵盤輸入 abcdef在屏幕上換行輸出 ABCDEF程序:例2:編寫實(shí)驗(yàn)程序,利用BIOS調(diào)用在顯示器上的輸出窗口顯示AZ共26字母。顯示I/O 功能調(diào)用使用說明如下:INT 10 使用說明:AH00H,AL01H功能:清屏:AH01H,AL數(shù)據(jù)功能:寫AL中的數(shù)據(jù)到顯示屏上個(gè)大寫英文:AH06H,DS:BX字串首地址,且字符串尾用00H功能:顯示一字串,直到遇到00H 為止填充實(shí)驗(yàn)程序:SSTACK SEGMENT STACKDW

37、 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODESTART: MOV CX,001AHMOV BL,41H ;A的ASCII碼值MOV AH,01H A1: MOV AL,BLINT 10H ;功能調(diào)用INC BLPUSH CXMOV CX,0FFFFH A2: LOOP A2 POP CXDEC CX JNZ A1A3: JMP A3 CODE ENDSEND START練習(xí):5.1 在鍵盤上輸入十個(gè)一位的十進(jìn)制數(shù),相加后在屏幕上顯示。參考系統(tǒng)調(diào)用:A 鍵盤輸入并INT 21H 功能 01HB 顯示輸出 INT21H 功能 02H5.2 在

38、屏幕上顯示"What is your name? " ,輸入姓名后顯示" My name is" 。參考系統(tǒng)調(diào)用:A 顯示字符串 INT 21H 功能 09HB 鍵盤輸入到緩沖區(qū) INT 21H 功能 0AH5.3 在屏幕上顯示 ASCII 字母表。5.4 將當(dāng)前鍵盤狀態(tài)在屏幕上顯示, 用 ON/OFF表示。參考系統(tǒng)調(diào)用:A 讀當(dāng)前鍵盤狀態(tài) INT 16H 功能 02H參數(shù):無出口參數(shù):AL : 當(dāng)前狀態(tài)7 6 5 4 32 10. . . . . . .1RIGHT SHIFT 鍵按下. . . . . . 1.LIFT SHIFT 鍵按下. . .

39、. . 1 . .CTRL 鍵按下. . . . 1 . . .ALT 鍵按下. . . 1 . . . .SCROLL LOCK 鍵按下. . 1 . . . . .NUM LOCK 鍵按下. 1 . . . . . .CAPS LOCK 鍵按下1 . . . . . . .INS 鍵觸發(fā)5.5 在屏幕上顯示系統(tǒng)日期和時(shí)間,用英文表示幾。參考系統(tǒng)調(diào)用:A 取系統(tǒng)日期 INT 21H 功能 2AH ( 置系統(tǒng)日期2BH )參數(shù) AH= 2AH出口參數(shù)CX=年( 1980 2099)DH=月(112)DL=天(131)AL=幾(0:天,1:一.)B 取系統(tǒng)時(shí)間INT 21H 功能 2CH( 置系

40、統(tǒng)時(shí)間20H )參數(shù)AH=2CH出口參數(shù)CH=小時(shí) ( 0 23 )CL=分 (059 )DH=秒 (059 )DL=百分秒(0 99 )5.6 在鍵盤上輸入等待時(shí)間 (毫秒)求的時(shí)間后, 再顯示 " END "。后,屏幕上顯示 " BEGIN.",等待要參考系統(tǒng)調(diào)用:A 標(biāo)準(zhǔn)時(shí)間等待( AT 以上)INT 15H 功能 86H參數(shù) AH= 86HCX:DX = 等待的微秒數(shù)5.7 顯示當(dāng)前 MS-DOS 版本 ( V5.0)。參考系統(tǒng)調(diào)用:A 取 MS-DOS 版本號,次版本號和版本標(biāo)志INT 21H 功能 33H 子功能 06H參數(shù) AH= 33HA

41、L= 06H出口參數(shù) BL= 版本號BH= 次版本號DH= 版本標(biāo)志5.8 在屏幕上循環(huán)顯示 ASCII 符號表 ( 由 21H 開始到 0FFH回車鍵結(jié)束。),直到鍵入5.9 自編題。實(shí)驗(yàn)六 子程序和宏匯編的程序設(shè)計(jì)一.實(shí)驗(yàn)?zāi)康?1.掌握子程序設(shè)計(jì)和調(diào)試方法2.掌握多模塊匯編程序設(shè)計(jì)方法3.掌握宏匯編的程序設(shè)計(jì)方法二.實(shí)驗(yàn)要求:1. 掌握子程序設(shè)計(jì)方法,包括:A子程序間參數(shù)簡單傳遞方法B利用堆棧傳遞方法C子程序的遞歸2. 掌握多模塊匯編程序的設(shè)計(jì)、調(diào)試,包括:A PUBLIC 和 EXTRN 偽指令的使用方法B 多模塊的3. 掌握宏匯編的程序設(shè)計(jì)方法三. 實(shí)驗(yàn)儀器:PC 機(jī)一臺四. 實(shí)驗(yàn)內(nèi)容

42、:例:求無符號字節(jié)序列中的最大值和最小值設(shè)有一字節(jié)序列,其首地址為3000H,字節(jié)數(shù)為08H。利用子程序的方法編程求出該序列中的最大值和最小值。程序流程圖如圖1-7所示實(shí)驗(yàn)程序SSTACK SEGMENT STACKDW 64 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODESTART: MOV AX, 0000H MOV DS, AXMOV SI, 3000H ; 數(shù)據(jù)MOV CX, 0008H址CALL BRANCH ; 調(diào)用子程序HERE: JMP HEREBRANCH PROC NEAR ;JCXZ A4 PUSH SI PUSH CX PU

43、SH BX MOV BH, SI MOV BL, BH CLDA1: LODSB CMP AL, BH JBE A2MOV BH, AL JMP A3A2: CMP AL, BLJAE A3子程序,返回參數(shù)在AX中MOV BL, ALA3: LOOP A1 MOV AX, BX POP BXPOP CX POP SI A4: RETBRANCH ENDP CODE ENDSEND START練習(xí):6.1 將一串 ASCII子程序?qū)崿F(xiàn)。碼中小寫英文字母轉(zhuǎn)換成大寫, 該串以 "$" 結(jié)束,要求判別和轉(zhuǎn)換用6.2將一串十六進(jìn)制數(shù)轉(zhuǎn)換成對應(yīng)的 ASCII 碼, 其中轉(zhuǎn)換過程用子程序

44、實(shí)現(xiàn)。6.3AX將 DISPLAY 單元 ( WORD ) 中的數(shù)據(jù)用二進(jìn)制的方式顯示, 其中子程序完成將中數(shù)據(jù)顯示的功能。6.4主程序讀入一串字符后, 利用堆棧方式將該字符串的,偏移及串長傳給子程序,在子程序中加以顯示, 返回主程序后顯示 'OK'。6.5 利用堆棧方法實(shí)現(xiàn) N! 的計(jì)算。6.6 A 模塊中有兩組無符號數(shù), B 模塊是加法程序, 在 A 模塊中兩次調(diào)用 B 模塊實(shí)現(xiàn)加法。其參數(shù)用 PUBLIC 和 EXTRN 方式進(jìn)行傳遞。6.7 利用數(shù)據(jù)段以 COMMAND 方式完成第 6 題的要求。6.8 編寫一可實(shí)現(xiàn)左右移多位的宏定義,并利用該宏定義實(shí)現(xiàn) A1 左移 3

45、 位, A2 右移5 位的程序。同時(shí), 利用顯示子程序?qū)⒁莆磺昂蟮臄?shù)據(jù)加以顯示。6.9 編寫用查表法求 1 15 平方的程序,( 00 推出 )結(jié)果在屏幕上顯示。其中平方表用宏定義實(shí)現(xiàn)。 數(shù)據(jù)由鍵盤輸入6.10自編題。第二章 80X86微機(jī)接術(shù)實(shí)驗(yàn)實(shí)驗(yàn)一 8255實(shí)驗(yàn)二 8253實(shí)驗(yàn)三 8259 中斷實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康?. 掌握82592. 學(xué)習(xí)82593. 掌握8259實(shí)驗(yàn)設(shè)備中斷器的工作原理;的應(yīng)用編程方法;級聯(lián)方式的使用方法。PC機(jī)一臺,TD-PITE 實(shí)驗(yàn)裝置一套。實(shí)驗(yàn)內(nèi)容及步驟1. 中斷器8259 簡介在Intel 386EX一個(gè)為主中集成有中斷單元(ICU),該單元包含有兩個(gè)級聯(lián)中斷器,

46、器,一個(gè)為從器。該中斷單元就功能而言與工業(yè)上標(biāo)準(zhǔn)的82C59A 是一致的,操作方法也相同。從片的INT連接到主片的IR2 信號上兩片8259 的級聯(lián)。器的IR1 開放出來供實(shí)驗(yàn)使在TD-PITE 實(shí)驗(yàn)系統(tǒng)中,將主器的IR6、IR7 以及從用,主片8259 的IR4供系統(tǒng)串口使用。8259的內(nèi)部連接及外部管腳引出。初始化命令字1 寄存器(ICW1)說明見圖所示。初始化命令字2寄存器(ICW2)說明見圖2-3-3所示。初始化命令字3寄存器(ICW3)說明,主片見圖2-3-4,從片見圖2-3-5。初始化命令字4寄存器(ICW4)說明見圖2-3-6。操作命令字1 寄存器(OCW1)說明見圖2-3-7。

47、操作命令字2 寄存器(OCW2)說明如圖2-示。操作命令字3寄存器(OCW3)說明如圖2-3-9所示在對8259 進(jìn)行編程時(shí),首先必須進(jìn)行初始化。一般先使用CLI指令將所有的可中斷,然后寫入初始化命令字。8259有一個(gè)狀態(tài)機(jī)對寄存器的,不正確的初始化順序會造成異常初始化。在初始化主片8259 時(shí),寫入初始化命令字的順序是:ICW1、ICW2、ICW3、然后是ICW4,初始化從片8259 的順序與初始化主片8259 的順序是相同的。系統(tǒng)啟動時(shí),主片8259 已被初始化,且4 號中斷源(IR4)提供給與PC 聯(lián)機(jī)的串口通信使用,其它中斷源被。中斷矢量地址與中斷號之間的關(guān)系如下表所示:2. 8259

48、 單中斷實(shí)驗(yàn)實(shí)驗(yàn)接線圖如圖2-3-11所示,單次脈沖輸出與主片8259 的IR7 相連,每按動一次單次脈沖,產(chǎn)生一次外部中斷,在顯示屏上輸出一個(gè)字符“7”。實(shí)驗(yàn)程序SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART: PUSH DSMOV AX, 0000HMOV DS, AXMOV AX, OFFSET MIR7 ;取中斷地址MOV SI, 003CH ;中斷矢量地址MOV SI, AX ;填I(lǐng)RQ7 的偏移矢量MOV AX, CS ;段地址MOV SI, 003EHMOV SI, AX ;填I(lǐng)

49、RQ7 的段地址矢量CLIPOP DS;初始化主片 8259MOV AL, 11HOUT 20H, AL ;ICW1MOV AL, 08HOUT 21H, AL ;ICW2MOV AL, 04HOUT 21H, AL ;ICW3MOV AL, 01HOUT 21H, AL ;ICW4MOV AL, 6FH ;OCW1OUT 21H, ALSTIAA1: NOPJMP AA1MIR7: STICALL DELAYMOV AX, 0137HINT 10H ;顯示字符 7MOV AX, 0120HINT 10HMOV AL, 20HOUT 20H, AL ;中斷結(jié)束命令I(lǐng)RETDELAY: PUSH

50、 CXMOV CX, 0F00HAA0: PUSH AXPOP AXLOOP AA0POP CXRETCODE ENDSEND START實(shí)驗(yàn)步驟(1)按圖 2-3-11連接實(shí)驗(yàn)線路;(2)編寫實(shí)驗(yàn)程序,經(jīng)編譯、無誤后裝;(3)運(yùn)行程序,重復(fù)按單次脈沖開關(guān) KK1,顯示屏?xí)@示字符“7”以說明響應(yīng)了中斷3 驗(yàn)證中斷優(yōu)先級分別在IR6,IR7 引腳上接KK1,KK2 作為中斷源,然后編寫中斷子程序 irq6,irq7 其內(nèi)容分別是延時(shí)顯示數(shù)字 6 和 7,先撥動 kk2,其應(yīng)該在延時(shí)若干秒后顯示 7,在其還沒有顯示 7 之前,撥動 kk1,觀察結(jié)果.連線圖:程序如下:48259 級聯(lián)實(shí)驗(yàn)實(shí)驗(yàn)接線

51、圖如圖2-3-12 所示,KK1連接到主片8259 的IR7 上,KK2連接到從片8259 的IR1 上,當(dāng)按一次KK1時(shí),顯示屏上顯示字符“M7”,按一次KK2時(shí),顯示字符“S1”。編寫程序。實(shí)驗(yàn)程序SSTACK SEGMENT STACK DW 32 DUP(?)SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: PUSH DSMOV MOV MOVMOV MOV MOVAX, 0000H DS, AXAX, OFFSET MIR7 ;取中斷地址SI, 003CH ;中斷矢量地址SI, AX ;填I(lǐng)RQ7的偏移矢量AX, CS ;段地址MOV MOV MOVMOVMOV MOV MOV MOV CLI POPSI, 003EHSI, AX ;填I(lǐng)RQ7的段地址矢量AX, OFFSET SIR1SI, 00C4H SI, AX AX, CS SI, 00C6H SI, AXDS;初始化主片8259 MOV AL, 11HOUT 20H, AL MOV AL, 08H OUT 21H, AL MOV AL, 04H OUT 21H, AL MOV AL, 01

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論