匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告.doc_第1頁(yè)
匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告.doc_第2頁(yè)
匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告.doc_第3頁(yè)
匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告.doc_第4頁(yè)
匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告.doc_第5頁(yè)
已閱讀5頁(yè),還剩23頁(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)介

匯編語(yǔ)言程序設(shè)計(jì)報(bào)告匯編語(yǔ)言程序設(shè)計(jì)報(bào)告 班級(jí) 班級(jí) 學(xué)號(hào) 學(xué)號(hào) 姓名 姓名 目錄目錄 匯編語(yǔ)言程序設(shè)計(jì)報(bào)告 1 匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告 4 實(shí)驗(yàn)一 4 實(shí)驗(yàn)內(nèi)容 4 實(shí)驗(yàn)?zāi)康?4 實(shí)驗(yàn)代碼 4 實(shí)驗(yàn)代碼整體思路 5 1 檢測(cè)所編程序的正確性 5 實(shí)驗(yàn)二 7 1 實(shí)驗(yàn)內(nèi)容 7 結(jié)果測(cè)試 11 Debug 11 實(shí)驗(yàn)三 13 實(shí)驗(yàn)要求 13 實(shí)驗(yàn)代碼 13 實(shí)驗(yàn)代碼思路 15 檢測(cè)結(jié)果 驗(yàn)證正確性 15 結(jié)論 17 實(shí)驗(yàn)四 17 實(shí)驗(yàn)內(nèi)容 17 流程圖 18 實(shí)驗(yàn)代碼 18 Windbg 21 實(shí)驗(yàn)結(jié)果測(cè)試 23 輸入數(shù)據(jù)進(jìn)行測(cè)試 24 實(shí)驗(yàn)五 24 實(shí)驗(yàn)內(nèi)容 多模塊程序設(shè)計(jì)及多語(yǔ)言混合編程 24 要求 24 實(shí)驗(yàn)代碼 24 實(shí)驗(yàn)代碼分析說(shuō)明 26 實(shí)驗(yàn)數(shù)據(jù)檢測(cè) 判斷是否成功完成實(shí)驗(yàn)任務(wù) 27 實(shí)驗(yàn)心得 28 匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)一實(shí)驗(yàn)一 實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)內(nèi)容 熟悉 DOS 編程環(huán)境 編寫一個(gè) DOS 環(huán)境的匯編語(yǔ)言程序 要求 從鍵盤 輸入一串字符 去除連續(xù)重復(fù)的字符后再顯示 如 輸入一串為 aaawwweerrty 的字符 串 輸出結(jié)果應(yīng)為 awerty 實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)?zāi)康?通過(guò)上機(jī)實(shí)踐加深對(duì) 16 位環(huán)境下編程的了解 學(xué)會(huì)使用 debuge 調(diào)試程序 實(shí)驗(yàn)代碼實(shí)驗(yàn)代碼 ASSUME CS CODE DS DATA DATA SEGMENT BUFFER DB 60 60 DUP PRINT DB TO INPUT CRLF DB 0DH 0AH DATA ENDS CODE SEGMENT MAIN MOV AX DATA MOV DS AX MOV AH 9 LEA DX PRINT INT 21H MOV AH 0AH LEA DX BUFFER INT 21H MOV AH 9 LEA DX CRLF INT 21H LEA SI BUFFER 1 LP1 INC SI LP2 MOV AL SI CMP AL 13 JZ DISP CMP AL SI 1 JNZ LP1 MOV DI SI LP3 INC DI MOV AL DI 1 MOV DI AL CMP AL 13 JZ LP2 JMP LP3 DISP MOV AL MOV SI AL MOV AH 9 LEA DX BUFFER 2 INT 21H EXIT MOV AX 4C00H INT 21H CODE ENDS END MAIN 實(shí)驗(yàn)代碼整體思路實(shí)驗(yàn)代碼整體思路 定義一個(gè)大小為 60 的緩沖區(qū) 用來(lái)存儲(chǔ)從鍵盤輸入的字 符串 調(diào)用中斷調(diào)用 將字符串輸入到緩沖區(qū)當(dāng)中 使用取地址符號(hào) Lea 取得輸入字符串的首地址然后后一位與前一 位相比 若相同則將其舍棄 否者將其記錄在緩沖區(qū)中 循環(huán)結(jié) 束之后在其后補(bǔ)上字符 即可一次輸出 無(wú)單個(gè)輸出 1 檢測(cè)所編程序的正確性檢測(cè)所編程序的正確性 編譯所建的編譯所建的 1 asm 文件 文件 按下回車鍵之后開始編譯 如下圖所示 編譯結(jié)束表明沒有錯(cuò)誤不存在警告按下回車鍵之后開始編譯 如下圖所示 編譯結(jié)束表明沒有錯(cuò)誤不存在警告 對(duì)編譯成功之后的文件進(jìn)行鏈接 以生成能運(yùn)行的對(duì)編譯成功之后的文件進(jìn)行鏈接 以生成能運(yùn)行的 exe 文件 如下圖文件 如下圖 1 1 所示 所示 1 1 鏈接之后發(fā)現(xiàn)鏈接 鏈接之后發(fā)現(xiàn)鏈接 Link 之后也是成功的 接下來(lái)就進(jìn)行測(cè)試的最后一步 即運(yùn)行 之后也是成功的 接下來(lái)就進(jìn)行測(cè)試的最后一步 即運(yùn)行 1 exe 文件 輸入一串字符串 看能否達(dá)到預(yù)期的目的 如達(dá)到 則成功 否者重新編文件 輸入一串字符串 看能否達(dá)到預(yù)期的目的 如達(dá)到 則成功 否者重新編 譯 譯 可見 與預(yù)期目的一致 達(dá)到了目的 可見 與預(yù)期目的一致 達(dá)到了目的 6 該實(shí)驗(yàn)使用的知識(shí)點(diǎn)該實(shí)驗(yàn)使用的知識(shí)點(diǎn) 1 中斷調(diào)用 以及使用功能號(hào)實(shí)現(xiàn)輸入輸出中斷調(diào)用 以及使用功能號(hào)實(shí)現(xiàn)輸入輸出 2 使用循環(huán) 無(wú)條件轉(zhuǎn)移指令 使用循環(huán) 無(wú)條件轉(zhuǎn)移指令 JMP 等 等 實(shí)驗(yàn)二實(shí)驗(yàn)二 1 實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)內(nèi)容 1 程序中自定義緩沖區(qū) AREA1 其中存放 200 個(gè)有序的無(wú)符號(hào)字型 數(shù)據(jù) 至少有 3 個(gè)重復(fù)數(shù)據(jù) 編程序?qū)⑵渑判蚝笏偷阶?AREA2 開始的 單元中 要求傳送后的數(shù)據(jù)從大到小排序 并實(shí)現(xiàn)查找功能 判定需要 查找的數(shù)據(jù)在 AREA1 與 AREA2 中分別對(duì)應(yīng)的位置 并通過(guò)查看內(nèi)存驗(yàn) 證結(jié)果的正確性 把有序的無(wú)符號(hào)字型數(shù)據(jù)換成帶符號(hào)字型數(shù)據(jù) 實(shí)現(xiàn) 以上功能 2 熟悉 DEBUG 調(diào)試環(huán)境 使用 DEBUG 調(diào)試程序察看機(jī)器碼 并單 步執(zhí)行 觀察每一條指令的執(zhí)行結(jié)果 寄存器的內(nèi)容 內(nèi)存變量和堆 棧數(shù)據(jù)的變化情況 2 實(shí)驗(yàn)代碼實(shí)驗(yàn)代碼如下 如下 assume ds data cs code ss stack data segment area1 dw 2 2 2 10 15 255 0 67 143 count dw area1 index dw 0 area2 dw 200 dup 0 flag db 200 dup 0 tips1 db Please input the number you want to find tips2 db Not Found crlf db 0dh 0ah output db 5 dup data ends stack segment stack dw 32 dup stack ends code segment findmost proc find the greatest number in area1 put it in AX push bx push cx push dx push bp lea bx area1 mov dx bx add bx 2 lo cmp dx bx jge smaller jae smaller 無(wú)符號(hào)時(shí)使用此指令 并將上條指令注釋掉無(wú)符號(hào)時(shí)使用此指令 并將上條指令注釋掉 and flag bx 1 jnz smaller mov dx bx 將當(dāng)前最大值儲(chǔ)存將當(dāng)前最大值儲(chǔ)存 mov bp bx smaller add bx 2 cmp bx count 檢查是否為最后一個(gè)元素檢查是否為最后一個(gè)元素 記錄最大值于記錄最大值于 ax jl notfinish mov ax dx mov WORD PTR ds flag bp 1 pop bp pop dx pop cx pop bx ret notfinish jmp lo findmost endp writeGreatest2area2 proc 按照要求將數(shù)據(jù)寫入按照要求將數(shù)據(jù)寫入 area2 push ax push bx lea bx area2 find another call findmost mov bx ax add bx 2 mov index bx lea ax area2 sub index ax lea ax count cmp index ax jnz find another pop bx pop ax ret writeGreatest2area2 endp convertDigital2Ascii proc push bx push dx mov dx ax xor bx bx mov cl 100 div cl add ax 48 mov output bx al inc bx mov ax dx mov cl 10 div cl add ah 48 add al 48 mov output bx al inc bx mov output bx ah lea dx output mov ah 9 int 21h lea dx crlf int 21h mov ax dx pop dx pop bx ret convertDigital2Ascii endp findTheValue proc 在兩個(gè)區(qū)域中分別查找數(shù)字在兩個(gè)區(qū)域中分別查找數(shù)字 ax 的位置的位置 push ax push bx push si push cx push dx mov cx count mov bx 2 equal1 add bx 2 cmp ax area1 bx jnz equal1 push ax mov ax bx sar ax 1 inc ax call convertDigital2Ascii pop ax mov bx 2 equal2 add bx 2 cmp ax area2 bx jnz equal2 push ax mov ax bx sar ax 1 inc ax call convertDigital2Ascii pop ax pop dx pop cx pop si pop bx pop ax ret findTheValue endp start mov ax data mov ds ax call writeGreatest2area2 mov ax 255 call findTheValue mov ax 4c00h int 21h code ends end start 結(jié)果測(cè)試 結(jié)果測(cè)試 對(duì)實(shí)驗(yàn)二進(jìn)行編譯鏈接 運(yùn)行程序 輸出實(shí)驗(yàn)結(jié)果 Debug 顯示寄存器內(nèi)容 如下圖所示 用 U 命令反匯編可執(zhí)行代碼 如下圖所示 用 g 命令設(shè)置斷點(diǎn)到 CS 00D8 處 如下圖所示 用 t 命令跟蹤執(zhí)行程序 如下圖所示逐條跟蹤三次的結(jié)果 用 q 命令退出 實(shí)驗(yàn)三實(shí)驗(yàn)三 實(shí)驗(yàn)要求 實(shí)驗(yàn)要求 熟悉 Windows 編程環(huán)境 編寫一個(gè) Windows 界面匯編程序 顯示一個(gè)帶 Yes No 選擇按鈕的 消息框 標(biāo)題顯示為 自己的姓名 正文內(nèi)容顯示為 學(xué)號(hào) 選擇 Yes 的 返回 你選擇的是 Yes 選擇 No 的返回 你選擇的是 No 2 編寫一個(gè) Windows 32 位控制臺(tái)程序 要求從鍵盤輸入 5 個(gè)十六 進(jìn)制數(shù) 輸出該數(shù)所對(duì)應(yīng)的二進(jìn)制數(shù)中所包含 0 的個(gè)數(shù) 3 熟悉 WINDBG 調(diào)試環(huán)境 使用 WINDBG 調(diào)試程序察看機(jī)器碼 并單步執(zhí)行 觀察每一條指令的執(zhí)行結(jié)果 寄存器的內(nèi)容 內(nèi)存變量和堆 棧數(shù)據(jù)的變化情況 實(shí)驗(yàn)代碼 實(shí)驗(yàn)代碼 386 model flat stdcall option casemap none MessageBoxA PROTO dword 386 model flat stdcall includelib msvcrt lib printf PROTO C dword vararg dword dword dword MessageBox equ Includelib user32 lib Includelib msvcrt lib NULL equ 0 MB OK equ 1 stack 4096 data SzTile byte 陳強(qiáng)陳強(qiáng) 0 SzMsg byte 1120131888 0 NO1 byte 我選的是確定我選的是確定 0ah 0 NO2 byte 我選的是取消我選的是取消 0ah 0 code start invoke MessageBox NULL offset SzMsg offset SzTile MB OK cmp eax 1 jz A cmp eax 1 jnz B A invoke MessageBox NULL offset NO1 offset SzTile MB OK ret B invoke MessageBox NULL offset NO2 offset SzTile MB OK ret ret end start scanf PROTO C dword vararg data szmsg byte d 0ah 0 msg byte d 0 szformat byte x 0 buf dword 40 dup l0 dword l1 dword l2 dword l3 dword l4 dword code start mov esi 0 L invoke scanf offset szformat offset buf mov eax buf mov ecx 4 mov edx 0 t mov ebx eax and ebx 1 cmp ebx 0 jz yz cmp ebx 0 jnz ty yz inc edx ty shr eax 1 loop t push edx INC ESI cmp esi 5 jb L pop l4 pop l3 pop l2 pop l1 pop l0 invoke printf offset szmsg l0 invoke printf offset szmsg l1 invoke printf offset szmsg l2 invoke printf offset szmsg l3 invoke printf offset msg l4 ret end start 實(shí)驗(yàn)代碼思路實(shí)驗(yàn)代碼思路 第一小題代碼思路 第一小題代碼思路 1 說(shuō)明說(shuō)明 MessageboxA 的調(diào)用規(guī)則和的調(diào)用規(guī)則和 參數(shù)類型參數(shù)類型 2 將定義的將定義的 MessageBoxA 通過(guò)指令通過(guò)指令 equ 賦給賦給 MessageBox 3 使用偽指令使用偽指令 invoke 首次輸出 首次輸出顯顯 示一個(gè)帶示一個(gè)帶 Yes No 選擇按鈕的消息選擇按鈕的消息 框 標(biāo)題顯示為 自己的姓名 正框 標(biāo)題顯示為 自己的姓名 正 文內(nèi)容顯示為 學(xué)號(hào)文內(nèi)容顯示為 學(xué)號(hào) 4 通過(guò)比較通過(guò)比較 MessageBox 的返回值與的返回值與 1 的大小確定其選擇的的大小確定其選擇的 yes 還是還是 no 5 再次使用偽指令再次使用偽指令 INVOKE 調(diào)用調(diào)用 MessageBox 二次輸出選擇二次輸出選擇 Yes 的返的返 回 回 你選擇的是你選擇的是 Yes 選擇 選擇 No 的的 返回 返回 你選擇的是你選擇的是 No 第二小題代碼分析 第二小題代碼分析 1 說(shuō)明說(shuō)明 scanf 和和 printf 的調(diào)用規(guī)則和的調(diào)用規(guī)則和 參數(shù)類型參數(shù)類型 2 在數(shù)據(jù)區(qū)說(shuō)明輸入輸出的表現(xiàn)形式在數(shù)據(jù)區(qū)說(shuō)明輸入輸出的表現(xiàn)形式 3 設(shè)置一個(gè)外部變量設(shè)置一個(gè)外部變量 esi 確保循環(huán)五確保循環(huán)五 次 即可以依次輸入次 即可以依次輸入 5 個(gè)十六進(jìn)制個(gè)十六進(jìn)制 數(shù) 不斷使數(shù)據(jù)右移即除二 與數(shù) 不斷使數(shù)據(jù)右移即除二 與 1 做與運(yùn)算 然后和做與運(yùn)算 然后和 0 比較大小 若比較大小 若 與與 0 相等 則該數(shù)有一個(gè)相等 則該數(shù)有一個(gè) 0 用 用 edx 記錄記錄 0 的個(gè)數(shù) 的個(gè)數(shù) 4 把把 edx 入棧 然后清零入棧 然后清零 5 出棧 倒序輸出出棧 倒序輸出 檢測(cè)結(jié)果 驗(yàn)證正確性檢測(cè)結(jié)果 驗(yàn)證正確性 1 對(duì)第一個(gè)小實(shí)驗(yàn)代碼進(jìn)行編譯鏈接 如下圖所示 對(duì)第一個(gè)小實(shí)驗(yàn)代碼進(jìn)行編譯鏈接 如下圖所示 2 運(yùn)行檢測(cè)結(jié)果 運(yùn)行檢測(cè)結(jié)果 分別選擇確定 取消 檢測(cè)是否有正確的返回值 實(shí)驗(yàn)測(cè)試如下 分別選擇確定 取消 檢測(cè)是否有正確的返回值 實(shí)驗(yàn)測(cè)試如下 3 對(duì)第二個(gè)小實(shí)驗(yàn)進(jìn)行編譯鏈接對(duì)第二個(gè)小實(shí)驗(yàn)進(jìn)行編譯鏈接 4 對(duì)第二個(gè)小實(shí)驗(yàn)進(jìn)行檢測(cè) 看是否正確 測(cè)試結(jié)果如下 對(duì)第二個(gè)小實(shí)驗(yàn)進(jìn)行檢測(cè) 看是否正確 測(cè)試結(jié)果如下 結(jié)論結(jié)論 經(jīng)過(guò)上述測(cè)試 實(shí)驗(yàn)結(jié)果與理論值相符 正確 經(jīng)過(guò)上述測(cè)試 實(shí)驗(yàn)結(jié)果與理論值相符 正確 實(shí)驗(yàn)四實(shí)驗(yàn)四 實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)內(nèi)容 把數(shù)組中的 n 個(gè)雙字型元素按從大到小 從小到大 的順序 排列 增加一個(gè)交換標(biāo)志 在排序完成時(shí)不再執(zhí)行多余的外層循環(huán) 熟悉 WINDBG 調(diào)試環(huán)境 使用 WINDBG 觀察內(nèi)存變量 并觀察結(jié)果 流程圖流程圖 實(shí)驗(yàn)代碼 實(shí)驗(yàn)代碼 386 model flat stdcall option casemap none ESIEBX EBX arr ESI 4 4 ESI ESI 1 EAX arr ESI 4 flag 1 arr ESI 4 4 EAX arr ESI 4 EBX 結(jié)束 flag 1 ESI 0 flag 0 開始 ECX n 1 flag fla1 ECX 0 Flag 1 includelib msvcrt lib printf PROTO C dword vararg scanf PROTO C dword vararg data input single num byte d 0 output single num byte d 0 output single num crlf byte d 0ah 0 numberOfElements dword number dword 128 dup code getInput proc local index temp numberOfEle dword invoke scanf offset input single num offset numberOfElements push ecx mov ecx numberOfElements mov numberOfEle ecx mov index 0 input push eax mov eax 4 mul index mov temp eax add temp offset number pop eax invoke scanf offset input single num temp mov ecx numberOfEle dec numberOfEle inc index loop input pop ecx ret getInput endp bubbleSort proc local flag byte pusha mov flag 0 Get the number of elements and save it at ecx mov ecx numberOfElements dec ecx loop out xor esi esi loop in mov eax number esi 4 mov ebx number esi 4 4 cmp eax ebx jg control mov flag 1 mov number esi 4 ebx mov number esi 4 4 eax control inc esi cmp esi ecx jb loop in test flag 1 jz endloop mov flag 0 loop loop out endloop popa ret bubbleSort endp output proc pusha mov ecx numberOfElements dec ecx dec ecx xor esi esi isover push ecx invoke printf offset output single num number esi 4 pop ecx cmp esi ecx inc esi jb isover invoke printf offset output single num crlf number esi 4 popa ret output endp start invoke getInput invoke bubbleSort invoke output ret end start Windbg 1 反匯編 使用 U 從起始地址 00401010 開始 列出 15 條語(yǔ)句 2 執(zhí)行斷點(diǎn)命令 G 3 單步執(zhí)行命令 t 如下圖表示用 t 執(zhí)行 3 條指令 4 進(jìn)程執(zhí)行命令 p 如下圖所示用 P 命令執(zhí)行一條語(yǔ)句 5 顯示寄存命令 r 如下所示 r 命令之后緊跟 P 命令顯示寄存器內(nèi)容 6 用 alt 4 顯示寄存器內(nèi)容 出現(xiàn)如下圖所示的寄存器窗口 7 顯示寄存單元 D 命令 實(shí)驗(yàn)結(jié)果測(cè)試 實(shí)驗(yàn)結(jié)果測(cè)試 對(duì)實(shí)驗(yàn)進(jìn)行編譯鏈接 輸入數(shù)據(jù)進(jìn)行測(cè)試輸入數(shù)據(jù)進(jìn)行測(cè)試 實(shí)驗(yàn)五實(shí)驗(yàn)五 實(shí)驗(yàn)內(nèi)容 實(shí)驗(yàn)內(nèi)容 多模塊程序設(shè)計(jì)及多語(yǔ)言混合編程 要求 要求 編寫一個(gè)匯編語(yǔ)言遞歸子程序 子模塊 求斐波那契數(shù)列 斐 波納契數(shù)列以如下被以遞歸的方法定義 F 0 0 F 1 1 F n F n 1 F n 2 n 2 n N 輸入一個(gè)數(shù)字 若該數(shù)字在 數(shù)列中 則輸出 N 若不在數(shù)列中 輸出 error 編寫一個(gè)計(jì)算 Z sin 2n 1 F n 的匯編語(yǔ)言主模塊 其中 sin x 調(diào) 用 C 語(yǔ)言的函數(shù)庫(kù) F n 通過(guò)調(diào)用 中的模塊實(shí)現(xiàn) 輸入 n 顯 示格式為 Z 使用調(diào)試程序觀察參數(shù)傳遞及堆棧平衡情況 實(shí)驗(yàn)代碼實(shí)驗(yàn)代碼 386 model flat stdcall option casemap none includelib msvcrt lib scanf PROTO C dword vararg printf PROTO C dword vararg data SzMsg byte d 0ah 0 Sz byte x 0 buf dword 2 Dup pj byte input error 0 F dword 1 T dword 1 counter dword 2 code start invoke scanf offset Sz offset buf cmp buf 1 jz L6 cmp buf 1 jnz L7 L6 invoke printf offset SzMsg buf jmp L L7 mov eax F push eax mov ebx T push ebx add eax ebx push eax inc counter mov edx ebx mov ebx eax mov eax edx cmp buf ebx jz L2 cmp buf ebx ja L3 L2 invoke printf offset SzMsg counter jmp L L3 invoke printf offset pj L ret end start 386 model flat stdcall Option casemap none includelib msvcrt lib printf PROTO C dword vararg scanf PROTO C dword vararg sin PROTO C dword vararg data n dword 0 f dword 50 dup 0 fmtout byte f n d 0ah 0 fmtfout byte z f 0ah 0 fmt byte d 0 siny qword 0 x qword 0 y qword 0 code start proc mov word ptr f 0 0 mov word ptr f 4 1 mov esi 0 mov ecx 30 L1 MOV eax f esi mov ebx f esi 4 add eax ebx mov f esi 8 eax add esi 4 loop L1 invoke scanf offset fmt addr n mov esi n invoke printf offset fmtout f esi 4 fild word ptr f esi 4 invoke sin esi fmul fstp x invoke printf offset fmtfout x RET start endp end start 實(shí)驗(yàn)代碼分析說(shuō)明 實(shí)驗(yàn)代碼分析說(shuō)明 1 將初始值 F 0 0 F 1 1 分別存儲(chǔ)在兩個(gè)不同的變量里 2 設(shè)置一個(gè)變量 count

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論