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

下載本文檔

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

文檔簡介

試驗(yàn)一認(rèn)識(shí)Tddebug集成操作軟件試驗(yàn)日志指導(dǎo)教師試驗(yàn)時(shí)間:年10月日學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級(jí)0411204學(xué)號(hào)211726姓名秦朋試驗(yàn)室s401一、試驗(yàn)題目認(rèn)識(shí)Tddebug集成操作軟件二、試驗(yàn)?zāi)康氖煜R編程序的開發(fā)過程。認(rèn)識(shí)Tddebug集成操作軟件。掌握在Tddebug集成環(huán)境中編輯、編譯、連接匯編語言程序措施。掌握INT21H軟件中斷來調(diào)用DOS內(nèi)部子程序的措施三、試驗(yàn)內(nèi)容及闡明1.試驗(yàn)內(nèi)容:數(shù)據(jù)傳送試驗(yàn)編程將數(shù)據(jù)段中的一種字符串傳送到附加段中,并輸出附加段中的目的字符串到屏幕上。參見示例出程序。修改此程序,采用字符串傳送指令完畢。2.試驗(yàn)中使用DOS功能調(diào)用(INT21H):參見教材《32位微型計(jì)算機(jī)原理與接口技術(shù)》89頁(1)顯示字符串入口:AH=09H調(diào)用參數(shù):DS:DX=串首地址,‘$’為結(jié)束字符。(2)返回DOS系統(tǒng)入口:AH=4CH調(diào)用參數(shù):AL=返回碼四、試驗(yàn)重要環(huán)節(jié)規(guī)定一數(shù)據(jù)傳送試驗(yàn)1.運(yùn)行Tddebug軟件,選擇Edit菜單編寫試驗(yàn)程序2.使用Compile菜單中的Compile和Link對(duì)試驗(yàn)程序進(jìn)行匯編、連接,生成執(zhí)行文獻(xiàn)。3.使用Rmrun菜單中的Run運(yùn)行程序,觀測(cè)運(yùn)行成果。4.使用Rmrun菜單中的Debug調(diào)試程序,查看程序段、數(shù)據(jù)段、附加段裝入內(nèi)存后的分派狀況。單步執(zhí)行數(shù)據(jù)傳送指令后,觀測(cè)各寄存器及數(shù)據(jù)區(qū)的內(nèi)容。過程如下:按F7單步執(zhí)行,在代碼區(qū)中有一種三角,表達(dá)正在執(zhí)行的指令。每一條指令的執(zhí)行一定會(huì)使目的寄存器和狀態(tài)寄存器發(fā)生變化,從有關(guān)窗口當(dāng)作果。檢查內(nèi)存數(shù)據(jù)區(qū)的內(nèi)容,關(guān)鍵是找出顧客程序的數(shù)據(jù)段和附加段:措施1:在CPU窗口按Tab鍵使內(nèi)存數(shù)據(jù)顯示區(qū)成為活動(dòng)區(qū),按Ctrl+G鍵,輸入:“DS或ES寄存器的值:偏移地址”,即可顯示顧客指定的數(shù)據(jù)區(qū)措施2:選擇菜單View|Dump,彈出內(nèi)存數(shù)據(jù)顯示窗口。3)查看執(zhí)行成果:按Alt+F5,切換到顧客窗口。更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察、調(diào)試程序的對(duì)的性。五、心得體會(huì)通過本次試驗(yàn)我初步認(rèn)識(shí)了匯編程序的開發(fā)過程,理解了Tddebug軟件,在一開始的試驗(yàn)中反應(yīng)太慢沒有跟上老師,但在自主實(shí)踐緩和通過與同學(xué)交流完畢了試驗(yàn),雖然對(duì)代碼還不是很熟悉,但Tddebug軟件的操作措施已經(jīng)熟悉,并且掌握了在此環(huán)境的編輯、編譯、鏈接匯編語言的程序措施和INT21H的中斷調(diào)用來調(diào)用DOS內(nèi)部子程序的措施。試驗(yàn)二I/O程序設(shè)計(jì)試驗(yàn)日志指導(dǎo)教師試驗(yàn)時(shí)間:年10月日學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級(jí)0411204學(xué)號(hào)211726姓名秦朋試驗(yàn)室s401一、試驗(yàn)題目I/O程序設(shè)計(jì)二、試驗(yàn)?zāi)康睦斫廛浿袛嗟恼{(diào)用措施及中斷過程。掌握INT21H軟件中斷來調(diào)用DOS系統(tǒng)I/O子程序的措施。掌握將存儲(chǔ)在內(nèi)存單元中的數(shù)據(jù)在屏幕上顯示的措施。掌握從鍵盤輸入信息到內(nèi)存的措施。三、試驗(yàn)規(guī)定1.將指定數(shù)據(jù)區(qū)中一種字節(jié)的數(shù)據(jù)以十六進(jìn)制數(shù)形式顯示在屏幕上。設(shè)計(jì)思緒:首先將該數(shù)以十六進(jìn)制數(shù)形式分解,然后將每一位分別轉(zhuǎn)換為ASCII碼送屏幕顯示。其中0H~9H之間的數(shù)加30H,即可得0H~9H的ASCII碼,而AH~FH的ASCII碼,則需再加7H,參見表5-1。參照程序流程如圖2-1所示。示例程序參見參照程序清單。2.編程由鍵盤輸入任意一種字符,將該字符的ASCII碼值顯示在屏幕上。3.從鍵盤輸入兩個(gè)1位十進(jìn)制數(shù),計(jì)算兩者之和,并將成果顯示在屏幕上。4.編程由鍵盤輸入任意一位數(shù),將該數(shù)以二進(jìn)制數(shù)形式顯示在屏幕上。四、試驗(yàn)重要環(huán)節(jié)規(guī)定二由鍵盤輸入任意一種字符,將ASCII碼值顯示在屏幕上1.畫出試驗(yàn)流程圖。參照代碼:;將指定數(shù)據(jù)區(qū)SD的數(shù)據(jù)以十六進(jìn)制數(shù)形式顯示在屏幕上圖2-1一種字節(jié)數(shù)以十六進(jìn)制數(shù)形式顯示處理流程DATA SEGMENT 圖2-1一種字節(jié)數(shù)以十六進(jìn)制數(shù)形式顯示處理流程MES DB 'Showaashex:',0AH,0DH,'$'SD DB 'a'DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOVAX,DATA MOV DS,AX MOV DX,OFFSETMES;顯示提醒信息 MOV AH,09H INT 21H MOV SI,OFFSETSD MOV AL,DS:[SI] AND AL,0F0H ;取高4位MOVCL,4 SHR AL,CL CMP AL,0AH ;與否是A以上的數(shù) JB C2 ADD AL,07H C2: ADD AL,30H MOV DL,AL ;顯示字符 MOV AH,02H INT 21H MOV AL,DS:[SI] AND AL,0FH ;取低4位 CMP AL,0AH JB C3 ADD AL,07HC3: ADD AL,30H MOV DL,AL ;顯示字符 MOV AH,02H INT 21H MOV AH,4CH ;返回DOS INT 21HCODE ENDS END START2.運(yùn)行Tddebug軟件,選擇Edit菜單編寫試驗(yàn)程序3.使用Compile菜單中的Compile和Link對(duì)試驗(yàn)程序進(jìn)行匯編、連接,生成執(zhí)行文獻(xiàn)。4.使用Rmrun菜單中的Run運(yùn)行程序,觀測(cè)運(yùn)行成果。5.使用Rmrun菜單中的Debug調(diào)試程序。單步執(zhí)行指令,觀測(cè)各寄存器及數(shù)據(jù)區(qū)的內(nèi)容。規(guī)定三從鍵盤輸入兩個(gè)1位十進(jìn)制數(shù),計(jì)算兩者之和。codesegment assumecs:code start: movcx,2 movbl,0 next: movah,1 int21h subal,30h jcnext cmpal,9h janext addal,bl daa movbl,al movdl,13 movah,2 int21h movdl,10 int21h loopnext movcl,4 movdh,2 next1: rolbl,cl movdl,bl anddl,0fh adddl,30h movah,2 int21h decdh jnznext1 movah,1 int21h movah,4ch int21h codeends endstart五、心得體會(huì)這次試驗(yàn)再次實(shí)踐了Tddebug軟件的使用措施,讓我更深層次理解了軟中斷的調(diào)用措施及中斷過程,掌握了INT21H軟件中斷來調(diào)用DOS系統(tǒng)I/O子程序的措施和講存儲(chǔ)在內(nèi)存單元中的數(shù)據(jù)在屏幕上顯示的措施,并且掌握了從鍵盤輸入信息到內(nèi)存的措施。在這次試驗(yàn)中我還自己動(dòng)手寫了代碼,雖然諸多不會(huì)都征詢了同學(xué),但后來還是成功實(shí)現(xiàn)了功能。試驗(yàn)三分支程序設(shè)計(jì)試驗(yàn)日志指導(dǎo)教師試驗(yàn)時(shí)間:年10月日學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級(jí)0411204學(xué)號(hào)211726姓名秦朋試驗(yàn)室s401一、試驗(yàn)題目分支程序設(shè)計(jì)二、試驗(yàn)?zāi)康恼莆毡容^指令、條件轉(zhuǎn)移指令的使用方法掌握分支構(gòu)造程序的構(gòu)成掌握分支程序的設(shè)計(jì)、調(diào)試措施三、試驗(yàn)規(guī)定1.判斷X的大小,并根據(jù)判斷成果以不一樣方式分別顯示。2.鍵入一種數(shù),判斷數(shù)與否在5<X<24范圍內(nèi),是輸出標(biāo)志0,不是輸出-1。3.編寫程序,在屏幕上顯示一組菜單,根據(jù)鍵盤輸入的菜單編號(hào),提醒你選擇的菜單名。4.從鍵盤輸入一種字符,判斷該字符是小寫字母、大寫字母、數(shù)字或其他字符,并給出對(duì)應(yīng)的提醒。四、試驗(yàn)重要環(huán)節(jié)規(guī)定一判斷X的大小,并根據(jù)判斷成果以不一樣方式分別顯示。畫出試驗(yàn)流程圖。參照代碼:;設(shè)NUMBER單元的數(shù)X以及數(shù)值N1,N2均為單字節(jié)無符號(hào)數(shù),請(qǐng)判斷X的大小,并根據(jù)判斷成果分別顯示:N1<=X<=N2,或X<N1,或X>N2。DATASEGMENTUSE16MESG1DB'N1<=X<=N2$'MESG2DB'X<N1$'MESG3DB'X>N2$'NUMBERDB66;無符號(hào)數(shù)XN1EQU22N2EQU88DATAENDSCODESEGMENTUSE16ASSUMECS:CODE,DS:DATABEG:MOVAX,DATAMOVDS,AXMOVDX,OFFSETMESG1CMPNUMBER,N1JAENEXT;X≥N1轉(zhuǎn)MOVDX,OFFSETMESG2JMPDISPNEXT:CMPNUMBER,N2JBEDISP;X≤N2轉(zhuǎn)MOVDX,OFFSETMESG3DISP:MOVAH,9INT21H;顯示成果信息MOVAH,4CHINT21H;返回DOSCODEENDSENDBEG運(yùn)行Tddebug軟件,選擇Edit菜單編寫試驗(yàn)程序使用Compile菜單中的Compile和Link對(duì)試驗(yàn)程序進(jìn)行匯編、連接,生成執(zhí)行文獻(xiàn)。使用Rmrun菜單中的Run運(yùn)行程序,觀測(cè)運(yùn)行成果。使用Rmrun菜單中的Debug調(diào)試程序。觀測(cè)構(gòu)成分支條件的各標(biāo)志的變化狀況及有關(guān)寄存器內(nèi)容。更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的對(duì)的性。規(guī)定二鍵入一種數(shù),判斷數(shù)與否在5<X<24范圍內(nèi),是輸出0,不是輸-1。DATASEGMENTUSE16MESG1DB'0$'MESG2DB'-1$'NUMBERDB66N1EQU5N2EQU24DATAENDSCODESEGMENTUSE16ASSUMECS:CODE,DS:DATABEG:MOVAX,DATAMOVDS,AXMOVDX,OFFSETMESG1 MOVAH,01H INT21H MOVBL,AL SUBBL,30H CMPBL,N1JGNEXTMOVDX,OFFSETMESG2JMPDISP NEXT:CMPBL,N2JBDISP

溫馨提示

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