![《匯編語(yǔ)言及接口技術(shù)》實(shí)驗(yàn)指導(dǎo)(2013)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/19/5d1c692b-104f-43ea-9498-915e828333e3/5d1c692b-104f-43ea-9498-915e828333e31.gif)
![《匯編語(yǔ)言及接口技術(shù)》實(shí)驗(yàn)指導(dǎo)(2013)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/19/5d1c692b-104f-43ea-9498-915e828333e3/5d1c692b-104f-43ea-9498-915e828333e32.gif)
![《匯編語(yǔ)言及接口技術(shù)》實(shí)驗(yàn)指導(dǎo)(2013)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/19/5d1c692b-104f-43ea-9498-915e828333e3/5d1c692b-104f-43ea-9498-915e828333e33.gif)
![《匯編語(yǔ)言及接口技術(shù)》實(shí)驗(yàn)指導(dǎo)(2013)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/19/5d1c692b-104f-43ea-9498-915e828333e3/5d1c692b-104f-43ea-9498-915e828333e34.gif)
![《匯編語(yǔ)言及接口技術(shù)》實(shí)驗(yàn)指導(dǎo)(2013)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/19/5d1c692b-104f-43ea-9498-915e828333e3/5d1c692b-104f-43ea-9498-915e828333e35.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、匯編語(yǔ)言與接口技術(shù)實(shí)驗(yàn)指導(dǎo)河南大學(xué)ji院2013.9匯編語(yǔ)言實(shí)驗(yàn)環(huán)境和要求匯編語(yǔ)言是計(jì)算機(jī)及計(jì)算機(jī)類專業(yè)學(xué)生的專業(yè)基礎(chǔ)課,是培養(yǎng)學(xué)生直接使用計(jì)算機(jī)硬件資源能力的一門(mén)課程。它不僅能幫助學(xué)生進(jìn)一步理解計(jì)算機(jī)組成原理課程中的各種概念,而且還為其他課程:操作系統(tǒng)、接口與通信技術(shù)和計(jì)算機(jī)控制技術(shù)等課程提供必要的預(yù)備知識(shí)。該課程在計(jì)算機(jī)學(xué)科設(shè)置中起著承上啟下的作用。一、實(shí)驗(yàn)環(huán)境匯編實(shí)驗(yàn)是在一般PC機(jī)上完成的,采用MASM6.11宏匯編進(jìn)行實(shí)驗(yàn)。MASM6.11版本對(duì)硬件環(huán)境無(wú)特殊要求,對(duì)軟件的要求如下:(1) 操作系統(tǒng):Windows2000的命令提示符狀態(tài)。 在Windows下進(jìn)入DOS命令行的方法:“
2、開(kāi)始”à“運(yùn)行”à鍵入“cmd”即可進(jìn)入DOS命令行;(2) 編輯環(huán)境:EDIT.COM、記事本等文本編輯器(隨操作系統(tǒng)提供)。(3) 匯編和連接程序文件: 匯編程序MASM.EXE 連接程序LINK.EXE 匯編連接程序ML.EXE 匯編鏈接錯(cuò)誤提示ML.ERR(4) 調(diào)試程序:DEBUG.EXE(隨操作系統(tǒng)提供)。二、PC機(jī)DEBUG調(diào)試工具的使用DEBUG.EXE程序是專門(mén)為分析和開(kāi)發(fā)匯編語(yǔ)言程序而設(shè)計(jì)的一種調(diào)試工具,具有跟蹤程序執(zhí)行、觀察中間運(yùn)行結(jié)果、顯示和修改寄存器或存儲(chǔ)單元內(nèi)容等多種功能。是學(xué)習(xí)匯編語(yǔ)言必須掌握的調(diào)試工具。1、DEBUG程序使用在命令提示符下鍵入
3、命令:DEBUG 盤(pán)符:路徑文件名.EXE參數(shù)1參數(shù)2 這時(shí)屏幕上出現(xiàn)DEBUG的提示符“-”,表示系統(tǒng)在DEBUG狀態(tài)下,此時(shí)可以用DEBUG命令進(jìn)行程序調(diào)試。在DEBUG環(huán)境下,默認(rèn)采用十六進(jìn)制數(shù)制,所有數(shù)值不需要帶數(shù)制后綴。若進(jìn)入DEBUG的命令中將所有的參數(shù)都省略,則僅進(jìn)入DEBUG環(huán)境,內(nèi)存中不包含特定的程序和數(shù)據(jù)。此時(shí),可寫(xiě)入指令和數(shù)據(jù)進(jìn)行驗(yàn)證調(diào)試,也可以使用N或者L命令從指定盤(pán)上裝入要調(diào)試的程序。如果進(jìn)入DEBUG的命令中包含文件名,則進(jìn)入DEBUG環(huán)境的同時(shí),將指定程序調(diào)入內(nèi)存,當(dāng)前程序的代碼段作為默認(rèn)的CS段,從0單元保存。2、DEBUG的常用命令DEBUG命令都是單字母命令
4、,按照不同命令的格式其后可加上一個(gè)或多個(gè)參數(shù),若包含多個(gè)命令參數(shù),其間用空格作為分隔符。DEBUG命令不區(qū)分大小寫(xiě)。(1)匯編命令 A格式:A起始地址功能:以匯編指令的形式輸入代碼,系統(tǒng)自動(dòng)將匯編指令翻譯成機(jī)器指令代碼,并從默認(rèn)或指定地址單元開(kāi)始存放。若缺省起始地址,則從當(dāng)前CS:100地址開(kāi)始存放。A命令按行匯編,主要是用于小段程序的匯編或?qū)δ繕?biāo)程序的修改。舉例:Ø 命令:A含義:從默認(rèn)地址輸入?yún)R編指令;Ø 命令:A 1000:20含義:從地址為1000H:20H的單元輸入?yún)R編指令;Ø 命令:A CS:1000含義:從CS段的1000H單元輸入?yún)R編指令;(2)反
5、匯編命令 U格式1:U起始地址格式2:U起始地址結(jié)束地址|字節(jié)數(shù)功能: 格式1從指定起始地址處開(kāi)始將32個(gè)字節(jié)的目標(biāo)代碼(非32條指令)轉(zhuǎn)換成匯編指令形式,如果省略起始地址,則從當(dāng)前CS:IP指向地址開(kāi)始反匯編、或接著上次U命令繼續(xù)反匯編。格式2將指定范圍的內(nèi)存單元中的目標(biāo)代碼轉(zhuǎn)換成匯編指令。注意,這里的反匯編是以指令為單位進(jìn)行顯示。界面說(shuō)明:Ø 界面左邊:以邏輯地址形式顯示每條匯編指令所在存儲(chǔ)單元的首單元地址;Ø 界面中間:每條匯編指令對(duì)應(yīng)的機(jī)器指令代碼;Ø 界面右邊:處理了符號(hào)之后的匯編指令;舉例:Ø 命令:U含義:查看默認(rèn)地址的匯編指令,默認(rèn)條數(shù);
6、Ø 命令:U 0含義:從0地址查看匯編指令,默認(rèn)CS段;Ø 命令:U 0 50含義:查看地址0到50H的匯編指令,默認(rèn)CS段; 地址范圍要確認(rèn)該范圍中所有指令都是完整的。Ø 命令:U DS:0含義:將DS:0地址中的內(nèi)容當(dāng)作指令,查看默認(rèn)條數(shù);(3)顯示、修改寄存器命令 R格式:R寄存器名功能:如果給出寄存器名,則顯示該寄存器的內(nèi)容并可進(jìn)行修改。如果不指定寄存器名,則顯示所有寄存器的內(nèi)容及當(dāng)前值(不能修改)。R命令只能顯示、修改16位寄存器,對(duì)于標(biāo)志寄存器只能通過(guò)執(zhí)行指令的方式修改。界面說(shuō)明:Ø 界面中間兩行:顯示各寄存器內(nèi)容;先顯示13個(gè)寄存器的值;后
7、面的8個(gè)符號(hào)分別表示OF、DF、IF、SF、ZF、AF、PF、CF標(biāo)志位的狀態(tài),符號(hào)含義如下表:標(biāo)志位OFDFIFSFZFAFPFCF置位符號(hào)(1)OVDNEINGZRACPECY復(fù)位符號(hào)(0)NVUPDIPLNZNAPONCØ 界面最后一行:顯示下一條將要執(zhí)行的指令;若指令中有存儲(chǔ)單元尋址方式的操作數(shù),則指令后顯示該操作數(shù)的地址和數(shù)值;舉例:Ø 命令:R含義:查看所有寄存器內(nèi)容;Ø 命令:R ax含義:查看寄存器AX中的內(nèi)容,并可修改;(4)顯示存儲(chǔ)單元命令 D格式1:D起始地址格式2:D起始地址結(jié)束地址|L字節(jié)數(shù)功能:格式1從起始地址開(kāi)始按十六進(jìn)制顯示128個(gè)
8、單元的內(nèi)容,每行16個(gè)單元,共8行。格式2顯示指定范圍內(nèi)存儲(chǔ)單元的內(nèi)容,其他顯示方式與格式1一樣。如果省略起始地址或地址范圍,則從當(dāng)前的地址開(kāi)始按格式1顯示。界面說(shuō)明:Ø 界面左邊:以邏輯地址形式顯示指定的或默認(rèn)的存儲(chǔ)單元地址;Ø 界面中間:存儲(chǔ)單元中的實(shí)際存放內(nèi)容,每一行顯示16個(gè)單元,每個(gè)單元存放一個(gè)字節(jié)數(shù)據(jù);Ø 界面右邊:存儲(chǔ)單元中值的對(duì)應(yīng)的ASCII碼字符;若存儲(chǔ)單元中存放的是不可顯示的ASCII碼值,則顯示“.”;例如: -D 200 ;表示從DS:0200H開(kāi)始顯示128個(gè)單元內(nèi)容-D 100 120 ;表示顯示DS:0100-DS:0120單元的內(nèi)容
9、說(shuō)明:在DEBUG中,地址表示方式有如下形式:段寄存器名:相對(duì)地址,如:DS:100段基值:偏移地址(相對(duì)地址),如:23A0:1500舉例:Ø 命令:D含義:默認(rèn)查看;Ø 命令:D 1000:0含義:從指定單元查看數(shù)據(jù),默認(rèn)長(zhǎng)度;Ø 命令:D DS:0含義:從指定單元查看DS段中的數(shù)據(jù),默認(rèn)長(zhǎng)度;Ø 命令:D 0 5含義:查看DS段中05單元中的6個(gè)數(shù)據(jù);Ø 命令:D 10 L 5含義:查看DS段中從10H開(kāi)始的連續(xù)5個(gè)單元內(nèi)容;(5)修改存儲(chǔ)單元命令 E格式1:E起始地址 內(nèi)容表格式2:E地址功能: 格式1按內(nèi)容表的內(nèi)容修改從起始地址開(kāi)始的
10、多個(gè)存儲(chǔ)單元內(nèi)容,即用內(nèi)容表指定的內(nèi)容來(lái)代替存儲(chǔ)單元當(dāng)前內(nèi)容。例如:E DS:0100 'VAR'12 34表示從DS:0100 為起始單元的連續(xù)五個(gè)字節(jié)單元內(nèi)容依次被修改為'V'、'A'、'R'、12H、34H。格式2是逐個(gè)修改指定地址單元的當(dāng)前內(nèi)容。如:E DS:0010156F:0010 41.5F其中156F:0010單元原來(lái)的值是41H,5FH為輸入的修改值。若只修改一個(gè)單元的內(nèi)容,這時(shí)按回車(chē)鍵即可;若還想繼續(xù)修改下一個(gè)單元內(nèi)容,此時(shí)應(yīng)按空格鍵,就顯示下一個(gè)單元的內(nèi)容,需修改就鍵入新的內(nèi)容,不修改再按空格跳過(guò),如此重復(fù)直
11、到修改完畢,按回車(chē)鍵返回DEBUG“-”提示符。如果在修改過(guò)程中,將空格鍵換成按“-”鍵,則表示可以修改前一個(gè)單元的內(nèi)容。舉例:Ø 命令:E 100含義:查看DS段中100H單元起始的存儲(chǔ)單元內(nèi)容,并可隨時(shí)修改;Ø 命令:E ES:10 1 31 20含義:將ES段中地址為10H12H的3個(gè)單元中的值修改為1、31H、20H;Ø 命令:E 10 ABCD含義:將DS段中地址10H13H的連續(xù)4個(gè)單元內(nèi)容修改為41H44H;(6)運(yùn)行命令 G格式:G=起始地址斷點(diǎn)地址功能:CPU從指定起始地址開(kāi)始執(zhí)行,在斷點(diǎn)地址處停止,即斷點(diǎn)地址中的指令不執(zhí)行。若省略起始地址,則從
12、當(dāng)前CS:IP指示地址開(kāi)始執(zhí)行一條指令。注意,斷點(diǎn)地址必須是某一條指令的起始地址,否則查看到的程序有可能會(huì)出錯(cuò)。舉例:Ø 命令:G含義:從當(dāng)前位置連續(xù)執(zhí)行程序,到結(jié)束;Ø 命令:G=0含義:從0地址連續(xù)執(zhí)行程序,到結(jié)束;Ø 命令:G 14含義:從當(dāng)前位置執(zhí)行程序到14H,中斷;Ø 命令:G=3 20含義:從地址3執(zhí)行程序到地址20H,中斷;(7)跟蹤命令 T格式:T=起始地址指令條數(shù)功能:從指定地址開(kāi)始執(zhí)行指定條數(shù)的指令,若省略指令條數(shù),則默認(rèn)執(zhí)行一條指令,若省略起始地址,則從當(dāng)前CS:IP指示地址開(kāi)始執(zhí)行。舉例:Ø 命令:T含義:從當(dāng)前位置單
13、步執(zhí)行1條指令;Ø 命令:T 3含義:從當(dāng)前位置單步執(zhí)行3條指令;Ø 命令:T=0含義:從0地址單步執(zhí)行1條指令;Ø 命令:T=4 2含義:從4地址單步執(zhí)行2條指令;(8)退出命令 Q格式:Q功能:退出DEBUG,返回到操作系統(tǒng)。三、PC機(jī)匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)步驟 編輯源程序文件使用EDIT文本編輯器編輯源文件,鍵入EDIT <源文件名.ASM>或 EDIT但使用后者時(shí)應(yīng)注意將文件保存為.ASM文件。 匯編連接源程序文件ML <源文件名.ASM>如果源程序沒(méi)有錯(cuò)誤,則自動(dòng)生成.OBJ文件和.EXE可執(zhí)行文件。若源程序有語(yǔ)法錯(cuò)誤時(shí),會(huì)出現(xiàn)錯(cuò)誤
14、信息提示,需回到編輯狀態(tài)下修改源程序后重新匯編。運(yùn)行程序 經(jīng)過(guò)匯編、連接后生成的.EXE文件,可直接運(yùn)行,只要鍵入相應(yīng)的文件名即可。調(diào)試程序:使用DEBUG調(diào)試前面生成的可執(zhí)行的.EXE文件。各種DEBUG命令如前所述。四、實(shí)驗(yàn)報(bào)告書(shū)寫(xiě)要求 使用專用的實(shí)驗(yàn)報(bào)告紙,每個(gè)實(shí)驗(yàn)一份,字跡工整,內(nèi)容清晰,注意填寫(xiě)必要的信息(如:姓名、學(xué)號(hào)、班級(jí)、輔導(dǎo)教師、同實(shí)驗(yàn)者); 填寫(xiě)實(shí)驗(yàn)題目、實(shí)驗(yàn)?zāi)康牡龋粚?shí)驗(yàn)步驟中要求列出當(dāng)次實(shí)驗(yàn)的過(guò)程及各種數(shù)據(jù)輸入輸出的情況;匯編語(yǔ)言程序設(shè)計(jì)部分還要寫(xiě)出完整的源程序,以及上機(jī)調(diào)試過(guò)程中遇到的問(wèn)題和解決方法。預(yù)備實(shí)驗(yàn)一 DEBUG命令練習(xí)實(shí)驗(yàn)?zāi)康?、熟悉匯編語(yǔ)言程序的編寫(xiě)、匯編
15、、運(yùn)行的一般過(guò)程;2、掌握常用的DEBUG命令,并可應(yīng)用于匯編語(yǔ)言程序調(diào)試過(guò)程中。實(shí)驗(yàn)內(nèi)容1、使用給定程序練習(xí)匯編語(yǔ)言程序的編輯、匯編、執(zhí)行、調(diào)試的過(guò)程;2、在DEBUG狀態(tài)下,練習(xí)常用的DEBUG命令調(diào)試給定程序。實(shí)驗(yàn)學(xué)時(shí)本實(shí)驗(yàn)內(nèi)容共用4學(xué)時(shí),分兩次實(shí)驗(yàn)完成。實(shí)驗(yàn)步驟1、匯編語(yǔ)言程序的編輯、匯編、執(zhí)行練習(xí)(1)建立匯編語(yǔ)言程序源文件使用DOS或Windows下的任何文本編輯器來(lái)建立匯編語(yǔ)言程序源文件,建議使用記事本,文件后綴名應(yīng)保存為“.asm”(請(qǐng)注意不要隱藏已知后綴名)。將如下程序代碼保存為“test.asm”的源文件。程序功能:在屏幕上顯示CHAR變量所定義的字符。程序代碼:DATA
16、SEGMENT CHAR DB FDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX , DATA MOV DS , AX MOV DL , CHAR MOV AH , 2 INT 21H MOV AX , 4C00H INT 21HCODE ENDSEND START(2)匯編源程序,生成可執(zhí)行文件在保證工作目錄下存在ml.exe文件和link.exe文件時(shí),可直接對(duì)匯編語(yǔ)言源程序進(jìn)行匯編連接,使用的命令如下(以test.asm文件名為例):ml test.asm若源程序無(wú)語(yǔ)法和邏輯錯(cuò)誤,即可匯編連接成功,同時(shí)生成目標(biāo)文件tes
17、t.obj和可執(zhí)行文件test.exe。當(dāng)源程序中存在語(yǔ)法錯(cuò)誤時(shí),匯編連接不會(huì)進(jìn)行。若工作目錄下存在ml.err文件,則會(huì)顯示包含錯(cuò)誤存在行的提示信息,程序員可以依次來(lái)判斷錯(cuò)誤所在。圖1 test.asm文件的匯編過(guò)程注意:該命令中源文件的后綴名一定不可省去,否則會(huì)提示無(wú)法找到源文件。本程序中常出現(xiàn)的錯(cuò)誤: 第2行出錯(cuò):源程序第2行中的“CHAR DB F”單引號(hào)改為英文狀態(tài),如圖2中的第一行錯(cuò)誤“invalid character in file”;該錯(cuò)誤會(huì)導(dǎo)致第三行的錯(cuò)誤“undefined symbol”,即CHAR定義語(yǔ)句寫(xiě)錯(cuò),導(dǎo)致程序中使用CHAR變量時(shí)無(wú)法找到。 第11行出錯(cuò):源程
18、序第11行中的“MOV AX , 4C00H”,將數(shù)字“00”寫(xiě)成了字母“oo”;該錯(cuò)誤會(huì)導(dǎo)致如圖2中的第二行錯(cuò)誤“nondigit in number”,即該使用數(shù)值中沒(méi)有找到數(shù)字。 找不到源文件:源文件不在當(dāng)前操作的目錄下;或者文件名用錯(cuò)了。圖2 錯(cuò)誤信息(3)執(zhí)行程序,查看結(jié)果在DOS命令行下,運(yùn)行生成的可執(zhí)行文件,命令為:test.exe該命令中,文件的后綴名可省去。若程序有輸入輸出內(nèi)容,則會(huì)在DOS命令行下看到結(jié)果。若程序沒(méi)有輸入輸出內(nèi)容,則只能進(jìn)入DEBUG狀態(tài)下查看程序的運(yùn)行結(jié)果。2、DEBUG命令練習(xí)將上面生成的可執(zhí)行文件test.exe文件調(diào)入DEBUG進(jìn)行調(diào)試,使用的命令是
19、:debug test.exe注意,這里調(diào)入的是可執(zhí)行文件,后綴名必須加。進(jìn)入DEBUG下,命令提示符是“-”,可以使用各種DEBUG命令調(diào)試。這里建議使用以下命令查看,注意以下命令是進(jìn)入DEBUG后連續(xù)執(zhí)行的結(jié)果,單獨(dú)使用可能無(wú)法得到預(yù)期效果。(1)反匯編命令U當(dāng)調(diào)入程序文件后,直接使用無(wú)參數(shù)的U命令可從第一條指令開(kāi)始查看當(dāng)前的程序代碼。屏幕顯示的內(nèi)容是:默認(rèn)從第一行代碼開(kāi)始顯示,共反匯編32個(gè)單元的指令(指令條數(shù)依據(jù)指令長(zhǎng)度而不同,以整條指令為單位)。請(qǐng)注意查看DEBUG狀態(tài)下的指令與源文件中的指令有何不同。(2)寄存器查看命令R直接使用無(wú)參的R命令可查看當(dāng)前各寄存器狀態(tài),由于程序還未執(zhí)行
20、,可以看到寄存器的狀態(tài)為初始的隨機(jī)值。請(qǐng)注意當(dāng)前CS:IP寄存器的內(nèi)容與上一步U命令看到的指令地址是一致的,但DS、ES等段寄存器則為初始的隨機(jī)值。(3)查看存儲(chǔ)單元命令D直接使用無(wú)參數(shù)的D命令,顯示存儲(chǔ)單元內(nèi)容。應(yīng)注意區(qū)分的是:當(dāng)前查看到的是從DS:0地址開(kāi)始的連續(xù)128個(gè)單位的數(shù)據(jù),并不是當(dāng)前程序的數(shù)據(jù)段數(shù)據(jù)。(4)單步執(zhí)行命令T從程序開(kāi)始單步執(zhí)行程序的前兩條指令,使用的命令格式為:T 2執(zhí)行完前兩條指令即返回,顯示當(dāng)前的寄存器狀態(tài),請(qǐng)注意查看當(dāng)前的CS、IP寄存器狀態(tài)與執(zhí)行指令前的差別,請(qǐng)?jiān)囍忉屵@兩個(gè)寄存器的含義。注意:INT指令不可單步執(zhí)行,需使用G命令連續(xù)執(zhí)行。(5)查看存儲(chǔ)單元命
21、令D使用帶參數(shù)的D命令,顯示從有效地址為0的存儲(chǔ)單元開(kāi)始的連續(xù)128個(gè)單元中的數(shù)據(jù)。在此查看存儲(chǔ)單元地址、單元內(nèi)容、以及對(duì)應(yīng)的字符顯示。命令為:D 0請(qǐng)注意該D命令顯示的內(nèi)容與上一個(gè)D命令顯示的單元地址是否相同,為什么?(6)反匯編命令U直接使用反匯編命令U,會(huì)接著上次T命令執(zhí)行的位置05處開(kāi)始反匯編顯示指令。 (7)斷點(diǎn)/連續(xù)執(zhí)行命令G使用斷點(diǎn)執(zhí)行的功能,從當(dāng)前位置執(zhí)行到顯示指令結(jié)束,命令為:G 0D程序執(zhí)行,可在屏幕上看到“F”字符的顯示。注意,該命令中的“0D”是斷點(diǎn)地址,即指令“MOV AX , 4C00H”的保存位置,該命令會(huì)將該位置之前的所有指令執(zhí)行完畢。斷點(diǎn)地址必須是U命令可見(jiàn)的
22、地址。(8)修改存儲(chǔ)單元內(nèi)容命令E使用E命令將CHAR變量中的字符修改為“M”,命令為:E 0 M或者使用命令E 0在提示下輸入M的ASCII碼4DH。(9)查看存儲(chǔ)單元內(nèi)容命令D使用D命令查看所修改的內(nèi)容,命令為:D 0 L1(10)連續(xù)執(zhí)行命令G從第一條指令開(kāi)始重新執(zhí)行程序,使用G命令:G=0 10指定程序執(zhí)行的區(qū)間,在屏幕上可以看到“M”字符的顯示。(11)匯編命令A(yù)在DEBUG下修改匯編語(yǔ)言程序,使用A命令:A 5在給定的單元中輸入指令“MOV DL , 39”,兩次回車(chē),返回到DEBUG提示符下。(12)連續(xù)執(zhí)行命令G重新執(zhí)行程序,使用G命令:G=0指定程序執(zhí)行的區(qū)間,在屏幕上可以看
23、到“9” 字符的顯示,同時(shí)顯示“Program terminated normally”的提示信息,表示程序執(zhí)行結(jié)束。(13)退出命令Q執(zhí)行Q命令,即可從DEBUG狀態(tài)下退出,返回DOS系統(tǒng)。思考問(wèn)題1. DEBUG狀態(tài)下如何觀察源程序?和文本編輯方式下的源程序有哪些區(qū)別?2. 試解釋以上第2步中各DEBUG命令的含義。3. 若要將程序中的第三條匯編指令換成“MOV DL , 61H”,則更換該指令的DEBUG命令應(yīng)為什么?更換后程序的執(zhí)行結(jié)果是什么?實(shí)驗(yàn)報(bào)告要求本次實(shí)驗(yàn)不寫(xiě)實(shí)驗(yàn)報(bào)告。練習(xí)嘗試按上面的方法調(diào)試該程序。程序功能:從鍵盤(pán)上輸入一個(gè)字符串,保存于數(shù)據(jù)段中,分別顯示該字符串的長(zhǎng)度和字符
24、串中第二個(gè)字符。程序代碼:DATA SEGMENT INMESS DB 'PLEASE INPUT A STRING(LENGTH<9):$' LENMESS DB 10,13,'THE LENGTH OF THE STRING IS:$' CHARMESS DB 10,13,'THE SECOND CHAR OF THE STRING IS:$' INSTRING DB 10,?,10 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX , DATA MOV DS
25、 , AX LEA DX , INMESS ; 顯示提示信息 MOV AH , 09H INT 21H LEA DX , INSTRING ; 輸入字符串,保存于INSTRING MOV AH , 0AH INT 21H LEA DX , LENMESS ; 顯示提示信息 MOV AH , 09H INT 21H LEA BX , INSTRING ; 獲取輸入字符串的長(zhǎng)度值,并顯示 INC BX MOV DL , BX ADD DL , 30H MOV AH , 02H INT 21H LEA DX , CHARMESS ; 顯示提示信息 MOV AH , 09H INT 21H MOV D
26、L , BX+2 ; 顯示字符串中的第二個(gè)字符 MOV AH , 02H INT 21H MOV AX , 4C00H ; 程序返回 INT 21HCODE ENDS END START調(diào)試內(nèi)容:(1)將生成的可執(zhí)行文件調(diào)入DEBUG,觀察各寄存器的內(nèi)容;(2)斷點(diǎn)執(zhí)行到指令的位置,觀察各寄存器的變化情況、數(shù)據(jù)段中定義的各字符串INMESS、LENMESS、CHARMESS、INSTRING的位置;(3)斷點(diǎn)執(zhí)行到指令的位置,觀察程序執(zhí)行的結(jié)果;(4)斷點(diǎn)執(zhí)行到指令的位置,從鍵盤(pán)輸入字符串,返回后觀察輸入字符串的保存位置;(5)斷點(diǎn)執(zhí)行到指令的位置,觀察程序執(zhí)行的結(jié)果;(6)分別單步執(zhí)行指令開(kāi)
27、始的4條指令,試觀察每條指令執(zhí)行的結(jié)果;(7)斷點(diǎn)執(zhí)行到指令的位置,觀察程序執(zhí)行的結(jié)果;(8)斷點(diǎn)執(zhí)行到指令的位置,觀察程序執(zhí)行的結(jié)果;(9)斷點(diǎn)執(zhí)行到指令的位置,觀察程序執(zhí)行的結(jié)果;預(yù)備實(shí)驗(yàn)二 預(yù)備知識(shí)練習(xí)實(shí)驗(yàn)?zāi)康?、熟悉各種操作數(shù)的尋址方式,并能在DEBUG環(huán)境中查看各操作數(shù);2、熟悉8086指令系統(tǒng)中的各類指令的用法和功能,為以后的程序編寫(xiě)打下基礎(chǔ)。實(shí)驗(yàn)內(nèi)容1、使用給定程序練習(xí)匯編語(yǔ)言程序的編輯、匯編、執(zhí)行、調(diào)試的過(guò)程;2、在DEBUG狀態(tài)下,練習(xí)常用的DEBUG命令調(diào)試給定程序。實(shí)驗(yàn)學(xué)時(shí)本實(shí)驗(yàn)內(nèi)容共用6學(xué)時(shí),分三次實(shí)驗(yàn)完成。實(shí)驗(yàn)步驟1、尋址方式練習(xí)(1)在DEBUG命令行下,按以下步驟
28、完成操作。(A)使用e命令修改存儲(chǔ)地址以150、200為首的6個(gè)單元的內(nèi)容:-e150 *:0150 *.00 *.01-e200 *:0200 *.10 *.20 *.30 *.40注意:帶下劃線的部分是需要輸入的內(nèi)容。(B)使用查看命令d,查看上步所修改的存儲(chǔ)單元的內(nèi)容(注意對(duì)應(yīng)的段地址):-d150 L2-d200 L4(C)使用匯編命令a,輸入以下指令序列:-a100 *:0100 mov ax , cs *:0102 mov ds , ax *:0104 mov bx , 100 *:0107 mov ax , 150 *:010A add bx , ax *:010C mov al
29、 , bx *:010E add al , bx+1 *:0111 mov si , 2 *:0114 add al , bx+si *:0116 mov ah , 0 *:0118 mov ch , 0 *:011A mov cl , bx+si+1 *:011D add ax , cx(D)使用反匯編命令u,查看上步輸入的匯編語(yǔ)言程序(注意對(duì)應(yīng)的段地址):-u100(E)使用單步執(zhí)行命令t執(zhí)行該指令序列,查看每一步執(zhí)行的結(jié)果,并記錄。(2)使用適當(dāng)?shù)腄EBUG命令,按以下步驟完成操作。(A)修改以下寄存器的值: (DS)=1000H , (ES)=2000H , (SI)=1FEH(B)將
30、從存儲(chǔ)單元1000H:01FEH開(kāi)始的連續(xù)四個(gè)單元內(nèi)容修改為:11H、22H、33H、44H;將從存儲(chǔ)單元2000H:01FEH開(kāi)始的連續(xù)四個(gè)單元內(nèi)容修改為:12H、34H、56H、78H;(C)輸入?yún)R編指令:MOV AX , DS MOV BX , SI+2 MOV CX , BX ES: MOV DX , SI(D)指出以上各指令中源操作數(shù)的尋址方式,邏輯地址,并使用相關(guān)的DEBUG查看源操作數(shù)的值;(3)在Debug命令行下,完成以下操作。(A)將字?jǐn)?shù)據(jù)2345H存放到地址為1200H:100H單元中;(B)使用適當(dāng)?shù)腄EBUG命令,采用三種不同的邏輯地址形式查看這個(gè)字?jǐn)?shù)據(jù);(C)選擇不
31、同的尋址方式,使用MOV指令將這個(gè)字?jǐn)?shù)據(jù)送入AX寄存器中;要求至少采用3種不同的尋址方式。2、操作符與表達(dá)式練習(xí)(1)已知數(shù)據(jù)段定義如下,請(qǐng)驗(yàn)證以下各指令的正誤,并指出錯(cuò)誤原因,或給出指令執(zhí)行結(jié)果。DATA SEGMENTWordVar dw 2 dup(?)ByteVar db ?DATA ENDS驗(yàn)證指令: MOVbyte ptr ES:WordVarBX , 100 MOVAX , offset WordVarSI LEAAX , WordVarSI CMPWordVar , ByteVar MOVAL , ByteVar + WordVar ADDWordVar , AL MOVByt
32、eVar , ByteVar WordVar(2)已知數(shù)據(jù)段定義如下,請(qǐng)畫(huà)出數(shù)據(jù)段中各數(shù)據(jù)的存放形式,并指出下列指令的執(zhí)行結(jié)果。 DSEG SEGMENT ORG 10H MyAddrDW$ BvarDB1,2,3 DB123 BufDB5 DUP(?) EVEN Len1=$-Bvar WvarDW1,2 ALIGN 4 DvarDD1,2,3 Len2EQU$-Dvar Len3EQUBuf-Bvar DSEG ENDS指令如下: MOV AX , offset Dvar MOV AX , Len1 MOV AX , Len2 MOV AX , Len3 MOV AX , MyAddr M
33、OV AX , word ptr BVar + 2 MOV AX , lengthof WVar + lengthof BVar MOV AX , type DVar + sizeof BVar MOV AX , word ptr DVar + 1(3)已知數(shù)據(jù)段定義如下,試完成以下要求的操作。DSEG SEGMENTARRAY DW 34H , 56H , 12H , 78HOTHER DW ?DA1DB20H DUP(?)DA2DW10HDSEG ENDS 試用MOV指令將數(shù)組ARRAY中的最后一個(gè)字?jǐn)?shù)據(jù)傳送到BX寄存器; 試用MOV指令將數(shù)組長(zhǎng)度存入CX寄存器中; 試使用一條指令將變量D
34、A1中的數(shù)據(jù)個(gè)數(shù)送入CX寄存器中。3、基本指令練習(xí)(1)數(shù)據(jù)傳送指令的練習(xí)在DEBUG命令行下,利用A命令輸入以下指令序列,然后使用T命令單步跟蹤執(zhí)行,并使用相應(yīng)的DEBUG命令查看每條指令的執(zhí)行結(jié)果。指令序列如下:MOV SP , B0MOV AX , 1234MOV BX , 5678PUSH AXPUSH BXPOP CXPOP DXMOV SI , 2000LEA BX , SIMOV WORD PTR SI , 5566MOV WORD PTR BX+2 , 7788LDS AX , SIMOV DI , SI(2)算術(shù)運(yùn)算指令的練習(xí)在DEBUG命令行下,利用A命令輸入以下指令序列,
35、然后使用T命令單步跟蹤執(zhí)行,并使用相應(yīng)的DEBUG命令查看每條指令的執(zhí)行結(jié)果和標(biāo)志位變化情況。指令序列如下:MOV AX , 1234MOV BX , 5678ADD AX , BXMOV CX , 9ABCSUB CL , CHMOV BYTE PTR 2000 , 55INC BYTE PTR 2000MOV AX , 20MOV BL , 8DIV BLMOV AL , 2MOV CL , 10MUL CLMOV AL , 6CBWMOV AX , 1050CWD(3)邏輯運(yùn)算指令的練習(xí)在DEBUG命令行下,利用A命令輸入以下指令序列,然后使用T命令單步跟蹤執(zhí)行,并使用相應(yīng)的DEBUG命
36、令查看每條指令的執(zhí)行結(jié)果和標(biāo)志位變化情況。指令序列如下:MOV AX , FEMOV BX , 5678AND AX , BXMOV CX , 9ABCMOV DX , FF00OR DX , CXMOV AL , 55XOR AL , 0FMOV BL , 1SHL BL , 1SHL BL , 1MOV CL , 80SAR CL , 1SHR CL , 1實(shí)驗(yàn)報(bào)告要求本次實(shí)驗(yàn)不寫(xiě)實(shí)驗(yàn)報(bào)告。實(shí)驗(yàn)一 基本編程方法練習(xí)實(shí)驗(yàn)?zāi)康?、通過(guò)編制簡(jiǎn)單的程序,練習(xí)匯編語(yǔ)言基本編程方法。2、練習(xí)在Debug 狀態(tài)下調(diào)試程序的方法。實(shí)驗(yàn)內(nèi)容根據(jù)以下題目要求,編寫(xiě)匯編語(yǔ)言源程序,并完成調(diào)試。1、試編寫(xiě)程序,完
37、成下面公式的計(jì)算。 A (X-Y+24)/ Z的商,B (X-Y+24)/ Z的余數(shù) 其中,變量X和Y是32位有符號(hào)數(shù),變量A、B、Z是16位有符號(hào)數(shù)。Y DD 12A DW ?B DW ?Z DW 5DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CX,DSLDS AX,XMOV DX,DSMOV DS,CXLES BX,YMOV CX,DXMOV DX,ESSUB AX,BXSBB CX,DXADD AX,24ADC CX,0MOV DX,CXLEA BX,ZIDIV BXMOV A,AXMO
38、V B,DXMOV AX,4C00HINT 21HCODE ENDSEND START2、試將字節(jié)數(shù)據(jù)B1 拆分成兩個(gè)半字節(jié)數(shù)據(jù),分別存放于其后兩個(gè)單元X 和Y 中。編程提示:數(shù)據(jù)段定義應(yīng)包含B1、X、Y 三個(gè)變量,其中B1變量自定義具體的數(shù)值,X、Y 變量的數(shù)值由程序賦值,分別是B1 的高低半個(gè)字節(jié)。該程序中需要使用邏輯操作完成半字節(jié)數(shù)據(jù)的拆分。DATA SEGMENTB1 DB 12HX DB ?Y DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV AL,B1MOV AH,B1AND
39、AL,0FHMOV Y,ALMOV CL,4SHR AH,CLAND AH,0FHMOV X,AHMOV AX,4C00HINT 21HCODE ENDSEND START3、從鍵盤(pán)接收兩個(gè)不大于5的十進(jìn)制數(shù)字,并以十進(jìn)制數(shù)據(jù)形式顯示其和。編程提示: 該程序中要求的均為一位數(shù)據(jù)的輸入輸出,暫時(shí)不考慮多位數(shù)據(jù),請(qǐng)輸入05 之間的數(shù)據(jù),顯示的結(jié)果為09。請(qǐng)不要輸入兩個(gè)5,以免出現(xiàn)不能直接輸出的情況。DATA SEGMENTA DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV AH,01INT 2
40、1HAND AL,0FHMOV BL,ALMOV AH,01INT 21HAND AL,0FHADD AL,BLADD AL,30HMOV DL,ALMOV AH,02INT 21HMOV AX,4C00HINT 21HCODE ENDSEND START4、從鍵盤(pán)接收一個(gè)字符串(假定輸入字符串長(zhǎng)度大于3),試換行輸出該字符串中第二個(gè)字符開(kāi)始的連續(xù)2個(gè)字符。 編程提示:該程序應(yīng)先使用DOS功能調(diào)用接收一個(gè)字符串。顯示其中的子串,要求從第二個(gè)字符開(kāi)始,連續(xù)顯示2個(gè)字符,該功能可使用字符串顯示的DOS功能調(diào)用,也可以使用單字符顯示的DOS功能調(diào)用,重復(fù)顯示兩次。DATA SEGMENTBUF DB
41、 10,?,10 DUP("$")DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA DX,BUFMOV AH,0AHINT 21HMOV AH,2MOV DL,10INT 21HMOV DL,13INT 21HMOV DL,BUF+3MOV AH,2INT 21HMOV DL,BUF+4MOV AH,2INT 21HMOV AX,4C00HINT 21HCODE ENDSEND START實(shí)驗(yàn)學(xué)時(shí)本實(shí)驗(yàn)內(nèi)容共用4學(xué)時(shí),分兩次實(shí)驗(yàn)完成。實(shí)驗(yàn)報(bào)告要求本次實(shí)驗(yàn)報(bào)告中要求寫(xiě)實(shí)驗(yàn)內(nèi)容3 的
42、編寫(xiě)、調(diào)試過(guò)程,其中包括程序設(shè)計(jì)思路、程序流程圖、程序代碼、和調(diào)試過(guò)程中遇到的典型問(wèn)題以及解決方法。實(shí)驗(yàn)二 分支循環(huán)結(jié)構(gòu)程序練習(xí)實(shí)驗(yàn)?zāi)康模?)通過(guò)編制包含分支、循環(huán)結(jié)構(gòu)的程序,練習(xí)匯編語(yǔ)言綜合編程方法。(2)練習(xí)在Debug 狀態(tài)下調(diào)試程序的方法。實(shí)驗(yàn)內(nèi)容1、試編寫(xiě)程序,完成以下功能。(1)程序執(zhí)行時(shí),顯示提示信息“Please input a string(length<9):”,由用戶輸入一個(gè)長(zhǎng)度小于9的字符串;(2)然后顯示提示信息“Please input the index of the char to display:”,請(qǐng)用戶指定該串中的某個(gè)字符的位置號(hào);(3)程序?qū)⒂脩糁?/p>
43、定位置的字符顯示出來(lái)。例如:用戶輸入一個(gè)字符串“ABCDEFG”,然后指定的位置號(hào)為2,則屏幕顯示字符“C”。注意:這里的位置號(hào)從0開(kāi)始。注意:以上功能的實(shí)現(xiàn)不要求程序做控制判斷,在字符串輸入時(shí),由人為控制字符串長(zhǎng)度小于9;在指定位置號(hào)時(shí),由人為控制輸入的位置號(hào)是合法的。2、試使用分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)程序完善上面的程序功能。(1)采用01號(hào)DOS功能調(diào)用,接收用戶輸入的字符串,并在程序中對(duì)字符串進(jìn)行長(zhǎng)度檢查,若長(zhǎng)度大于9,則要求用戶重新輸入;(2)用戶在指定位置號(hào)時(shí),進(jìn)行判斷,若輸入非法(位置號(hào)大于實(shí)際字符串長(zhǎng)度),則提示用戶重新輸入;(3)統(tǒng)計(jì)用戶輸入的字符串中特定字符的數(shù)目并顯示??上戎付ㄌ?/p>
44、定字符進(jìn)行統(tǒng)計(jì),然后再由用戶指定字符進(jìn)行統(tǒng)計(jì)。實(shí)驗(yàn)學(xué)時(shí)本實(shí)驗(yàn)內(nèi)容共用6學(xué)時(shí),分三次實(shí)驗(yàn)完成。實(shí)驗(yàn)報(bào)告要求本次實(shí)驗(yàn)報(bào)告中,可只寫(xiě)分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的程序段,報(bào)告中要包含分支、循環(huán)結(jié)構(gòu)程序段的設(shè)計(jì)思路、程序流程圖、程序代碼、和調(diào)試過(guò)程中遇到的典型問(wèn)題以及解決方法。data segment buf1 db 'Please input a string(length<9):',10,13,'$' buf2 db 9 dup('$'),10,13,'$' buf3 db 'Please input the index of t
45、he char todisplay:',10,13,'$'data endscode segment assume cs:code,ds:datastart: mov ax,data mov ds,ax lea dx,buf1 mov ah,9 int 21h lea dx,buf2 mov ah,10 int 21h lea dx,buf3 mov ah,9 int 21h mov ah,1 int 21h and al,0fh mov ah,0 mov si,2 mov bx,ax mov dl,buf2bx+si mov ah,2 int 21h mov ax,4
46、c00h int 21hcode endsend startDATA SEGMENT BUF1 DB 'Please input a string(length<9)',10,13,'$' BUF2 DB 20,?,20 DUP(?) BUF3 DB 'Please input the index of the char to display',10,13,'$' NUM DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX L
47、EA DX,BUF1 MOV AH,9 INT 21HINPUT:LEA DX,BUF2 MOV AH,10 INT 21H MOV SI,1 MOV CH,0 MOV CL,BUF2SI JCXZ INPUT CMP CL,9 JA INPUT INDEX:LEA DX,BUF3 MOV AH,9 INT 21H MOV AH,01 INT 21H SUB AL,30H CMP AL,CL JA INDEX MOV BL,AL MOV BH,0 MOV AL,BUF2SI+BX MOV DL,AL MOV AH,02 INT 21H MOV DL,0AGAIN:INC SI CMP AL,B
48、UF2SI JZ SUM LOOP AGAIN JMP DISPSUM: INC DL LOOP AGAIN MOV NUM,DLDISP: ADD DL,30H MOV AH,02 INT 21H MOV AX,4C00H INT 21HCODE ENDS END START 實(shí)驗(yàn)三 綜合程序練習(xí)實(shí)驗(yàn)?zāi)康?、練習(xí)編寫(xiě)包含分支、循環(huán)、子程序結(jié)構(gòu)的程序。2、練習(xí)在Debug狀態(tài)下跟蹤調(diào)試程序的方法。實(shí)驗(yàn)內(nèi)容根據(jù)以下題目要求,編寫(xiě)匯編語(yǔ)言源程序,并完成調(diào)試。1、已知無(wú)符號(hào)字?jǐn)?shù)組LIST的第一個(gè)字?jǐn)?shù)據(jù)為其元素個(gè)數(shù),其后數(shù)據(jù)按大小關(guān)系排序保存。試將某無(wú)符號(hào)字?jǐn)?shù)據(jù)X插入數(shù)組LIST的正確位置,并修改元素
49、個(gè)數(shù)。編程提示:該程序中要將X插入遞增數(shù)組,需要和數(shù)組中每一個(gè)數(shù)據(jù)值進(jìn)行大小比較,直至找到大于X的元素。數(shù)據(jù)比較的方式:(1)從前向后比較:找到合適位置后,再移動(dòng)其后元素; (2)從后向前比較:比較到不合適,直接移動(dòng)該元素,直到找到合適位置,剛好騰出X的保存空間;2、試用子程序?qū)崿F(xiàn)以下要求。 題目:從鍵盤(pán)接收若干個(gè)一位十進(jìn)制數(shù)值(09),并以十進(jìn)制數(shù)據(jù)形式顯示其和。 要求:(1)用子程序?qū)崿F(xiàn)一位十進(jìn)制數(shù)值的輸入; (2)當(dāng)用戶未輸入數(shù)值,直接回車(chē)時(shí),結(jié)束輸入; (3)輸出的數(shù)據(jù)為多位十進(jìn)制數(shù)據(jù),而機(jī)器內(nèi)部計(jì)算的和是十六進(jìn)制形式,需要進(jìn)行數(shù)制轉(zhuǎn)換,然后以字符串的形式輸出結(jié)果; (4)程序中要求有
50、必要的提示信息。 例如:用戶在提示信息下輸入三個(gè)數(shù)值: Please input a number:5 Please input a number:3 Please input a number:4程序顯示運(yùn)算結(jié)果 The sum is:123、試用子程序改進(jìn)以上題目。 題目:從鍵盤(pán)接收若干個(gè)N位的十進(jìn)制數(shù)值(065535),并以二進(jìn)制、十進(jìn)制、十六進(jìn)制三種數(shù)制形式顯示其和。 要求:(1)用子程序?qū)崿F(xiàn)一個(gè)N位十進(jìn)制數(shù)值的輸入,在主程序的循環(huán)結(jié)構(gòu)中調(diào)用該子程序; (2)當(dāng)用戶未輸入數(shù)值,直接回車(chē)時(shí),結(jié)束輸入; (3)輸出的數(shù)據(jù)為多位十進(jìn)制數(shù)據(jù),而機(jī)器內(nèi)部計(jì)算的和是十六進(jìn)制形式,需要進(jìn)行數(shù)制轉(zhuǎn)換,然后以十進(jìn)制字符串的形式輸出結(jié)果; (4)程序中要求有必要的提示信息。 例如:用戶在提示信息下輸入三個(gè)數(shù)值: Please input a number:15 Please input a number:30 Please input a number:45 程序顯示運(yùn)算結(jié)果 The sum is:0101 101
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能城市管理與服務(wù)作業(yè)指導(dǎo)書(shū)
- IT領(lǐng)域云服務(wù)平臺(tái)架構(gòu)規(guī)劃與建設(shè)方案
- 軟件測(cè)試技術(shù)及實(shí)施流程作業(yè)指導(dǎo)書(shū)
- 綠色農(nóng)業(yè)發(fā)展作業(yè)指導(dǎo)書(shū)
- 工程居間合同
- 能源化工行業(yè)項(xiàng)目管理作業(yè)指導(dǎo)書(shū)
- 2025年??谪涍\(yùn)從業(yè)資格證年考試題及答案
- 2025年酒泉普通貨運(yùn)從業(yè)資格證考試
- 2024-2025學(xué)年高中地理第四單元從人地關(guān)系看資源與環(huán)境單元活動(dòng)4遙感技術(shù)及其應(yīng)用練習(xí)含解析魯教版必修1
- 景觀設(shè)計(jì)師年終總結(jié)
- 2025年全國(guó)科技活動(dòng)周科普知識(shí)競(jìng)賽試題庫(kù)及答案
- 工廠生產(chǎn)區(qū)清潔流程及安全規(guī)范
- 2025年日歷(日程安排-可直接打印)
- 新漢語(yǔ)水平考試 HSK(四級(jí))
- 牛津譯林版六年級(jí)下冊(cè)單詞詞匯表匯總(完整打印版)
- JJF 1975-2022 光譜輻射計(jì)校準(zhǔn)規(guī)范
- Q∕SY 05268-2017 油氣管道防雷防靜電與接地技術(shù)規(guī)范
- 財(cái)產(chǎn)保險(xiǎn)招標(biāo)評(píng)分細(xì)則表
- 培卵素是什么
- 《細(xì)菌》初中生物優(yōu)秀教學(xué)設(shè)計(jì)(教案)
- 水運(yùn)工程質(zhì)量檢驗(yàn)標(biāo)準(zhǔn)第3篇疏浚與吹填工程
評(píng)論
0/150
提交評(píng)論