匯編語(yǔ)言實(shí)驗(yàn)報(bào)告1_第1頁(yè)
匯編語(yǔ)言實(shí)驗(yàn)報(bào)告1_第2頁(yè)
匯編語(yǔ)言實(shí)驗(yàn)報(bào)告1_第3頁(yè)
匯編語(yǔ)言實(shí)驗(yàn)報(bào)告1_第4頁(yè)
匯編語(yǔ)言實(shí)驗(yàn)報(bào)告1_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、攀枝花學(xué)院實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)課程:匯編語(yǔ)言課程實(shí)驗(yàn) 實(shí)驗(yàn)項(xiàng)目:DEBUG編程與調(diào)試 實(shí)驗(yàn)日期:2011.11.7 系:計(jì)算機(jī)學(xué)院 班級(jí):10級(jí)計(jì)本 學(xué)號(hào):201010801035一實(shí)驗(yàn)?zāi)康模?.掌握DEBUG常用命令。2.掌握匯編語(yǔ)言程序的一般格式3.掌握使用masm編譯和連接匯編語(yǔ)言程序。4.學(xué)習(xí)如何用debug進(jìn)行程序調(diào)試二實(shí)驗(yàn)設(shè)備:1.硬件環(huán)境微型計(jì)算機(jī)(Intel x86系列CPU)一臺(tái)2.軟件環(huán)境Windows98/2000/XP操作系統(tǒng)、調(diào)試程序DEBUG.EXE。三實(shí)驗(yàn)步驟:1.DEBUG程序的調(diào)用 打開windows命令窗口選擇“開始”運(yùn)行”在windows98/xp環(huán)境中,輸入“c

2、ommand”命令,在windows2000環(huán)境中,輸入“cmd”命令;在命令窗口中啟動(dòng)DEBUG,可鍵入命令DEBUG 文件名 參數(shù)在DEBUG啟動(dòng)成功后,將出現(xiàn)提示符“-”,此時(shí)就可用DEBUG命令來調(diào)試程序。 關(guān)于使用命令的幾點(diǎn)說明:l 命令是單個(gè)字母l 出現(xiàn)提示符“-”后才能輸入命令,在按“回車”鍵后,該命令才開始執(zhí)行。l DEBUG把鍵入的數(shù)字均看成十六進(jìn)制數(shù) 2. 匯編語(yǔ)言程序上機(jī)過程四實(shí)驗(yàn)內(nèi)容:1.DEBUG的主要命令 (1)顯示與修改寄存器1).r寄存器名 功能:顯示和修改寄存器內(nèi)容-r ax;顯示和修改某個(gè)寄存器內(nèi)容 2)rf 功能:顯示和修改標(biāo)志位(2) 顯示與修改寄存器存

3、儲(chǔ)單元1)d范圍功能:顯示指定范圍內(nèi)的內(nèi)存單元內(nèi)容。其中范圍的格式:d 起始位置從開始位置顯示128個(gè)字節(jié)的內(nèi)容例:d 1381:100說明:l xxxx:yyyy前面4位十六進(jìn)制數(shù)是內(nèi)存單元的段地址,后面4位十六進(jìn)制數(shù)是內(nèi)存單元的偏移量;l 中間顯示區(qū)域是內(nèi)存單元 (十六進(jìn)制的形式),每行顯示16個(gè)字節(jié)的內(nèi)容;l 右邊以“字符”顯示內(nèi)存單元值。d 起始位置結(jié)束位置從開始位置顯示到結(jié)束位置例:d ds:0 fd 起始位置L長(zhǎng)度從從開始位置顯示指定長(zhǎng)度的內(nèi)容例:d ds:0 L 102) e地址 字節(jié)值表功能:用值表中的值替換從“地址”開始的內(nèi)存單元內(nèi)容例:d 1af5:0e 1af5:012

4、34 56 d 1af5:03)f范圍 字節(jié)值表功能:用值表中的值填充指定范圍的內(nèi)存單元內(nèi)容,其中范圍通常是1)中的后兩種格式。例:d 1af5:0100f 1af5:0100 l 20 1 2 3 4 5d 1af5:0100(3)編程與調(diào)試命令1) a地址功能:輸入?yún)R編指令例:e ds :200 abcd$;從地址ds:200輸入字符串a(chǎn)bcd,以$為結(jié)束字符.輸入以下命令mov dx,200mov ah,9int 21 ;調(diào)用9號(hào)功能顯示“字符串”。“字符串”的起始地址為ds:200int 20 ;結(jié)束程序2)u范圍 功能:反匯編,顯示機(jī)器碼所對(duì)應(yīng)的匯編指令例:u 1003)g=起始地址

5、 斷點(diǎn)地址功能:從當(dāng)前地點(diǎn)開始執(zhí)行,到終點(diǎn)結(jié)束l 如未指定起始地址則從當(dāng)前的cs:ip指示的地址開始執(zhí)行。l 如未指定斷點(diǎn)地址,到終點(diǎn)結(jié)束。例:g = 100 ;顯示字符“abcd”4)t=地址 正整數(shù) 功能:跟蹤執(zhí)行。從指定地址開始執(zhí)行正整數(shù)條指令,若缺省正整數(shù),表示執(zhí)行一條指令,若兩項(xiàng)都缺省,表示從當(dāng)前CS:IP指示地址開始執(zhí)行一條指令。5)P命令p=地址 正整數(shù) 功能:其使用方式與t命令相同,但不進(jìn)入子程序調(diào)用或軟中斷例:p=100pp2.hello world程序的編寫,連接與調(diào)試(1)建立匯編語(yǔ)言程序源文件。新建一個(gè)文本文檔,將名字改為aa.asm,輸入如下的源程序:stack1 s

6、egment stack;dw 256 dup(?)stack1 ends data1 segment msg db 'hello,word$'data1 ends code1 segment assume cs:code1,ds:data1,ss:stack1start:mov ax,data1mov ds,ax mov dx,offset msgmov ah,9int 21hmov ah,4ch int 21h;終止程序的執(zhí)行,返回doscode1 ends end start(2) 匯編源文件,形成目標(biāo)文件。1) 打開windows命令窗口2) 進(jìn)入masm程序的安裝目錄

7、。輸入cd c:masm ;cd命令為dos操作系統(tǒng)的命令3) 匯編文件在dos命令窗口中可鍵入命令:masm若無(wú)錯(cuò),則形成.OBJ目標(biāo)文件和.LST列表文件??捎肈ir命令(dos操作系統(tǒng)的命令)查看。4) 列表文件的使用列表文件可以用文本編輯器打開。若源文件有語(yǔ)法錯(cuò)誤,據(jù)錯(cuò)誤提示(可以在列表文件中查找),返回步驟1,修改源文件。下面給出列表文件實(shí)例:0000stack1 segment stack 0000 0100dw 256 dup(?) ? 0200stack1 ends 0000data1 segment 0000 68 65 6C 6C 6F 2C 77msg db 'h

8、ello,world.$' 數(shù)據(jù)段段名不一致 6F 72 6C 64 2E 24datt1 ends t2.ASM(7): error A2000: Block nesting error 0000code1 segment 'code' assume cs:code1,ds:data1,ss:stack1 0000start: 0000 B8 - Rmov ax,data1 0003 8E D8mov ds,ax 0005 BA 0000 Rmov dx,offset msg 0008 B4 09mov ah,9 操作數(shù)類型不一致 000A CD 21int 21h

9、000C B4 00mov ah,4c00h t2.ASM(16): error A2050: Value out of range 000E CD 21int 21h 0010code1 ends end start Segments and Groups: N a m e Length AlignCombine ClassCODE1 . . . . . . . . . . . . . 0010PARANONE'CODE'DATA1 . . . . . . . . . . . . . 000DPARANONESTACK1 . . . . . . . . . . . . . 0

10、200PARASTACKSymbols: N a m e Type Value AttrMSG . . . . . . . . . . . . . . L BYTE0000DATA1START . . . . . . . . . . . . . L NEAR0000CODE1FILENAME . . . . . . . . . . . TEXT t2 19 Source Lines 19 Total Lines 8 Symbols 50254 + 416098 Bytes symbol space free 0 Warning Errors 3 Severe Errors(3)形成可執(zhí)行文件。在dos命令窗口中可鍵入命令:LINK 若有錯(cuò),據(jù)錯(cuò)誤提示,返回步驟1,修改錯(cuò)誤。若無(wú)錯(cuò),則形成.EXE可執(zhí)行文件??捎肈ir命令(dos操作系統(tǒng)的命令)查看。(4)運(yùn)行程序在命令窗口中鍵入可執(zhí)行文件名,即可執(zhí)行該程序。(5)調(diào)試程序運(yùn)行結(jié)果不對(duì),需調(diào)試程序,查找原因。1) 返回步驟1查看源文件,查找錯(cuò)誤,修改源文件。2) 若無(wú)法通過查看源文件找出錯(cuò)誤,可在DEBUG下調(diào)試.EXE文件,找出錯(cuò)誤之處,再返回步驟1。用debug調(diào)試可執(zhí)行程序

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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)論