




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
電子科技大學計算機工程學院標準實驗報告(實驗)課程名稱電子科技大學教務處制表電子科技大學實驗報告實驗一學生姓名:穆薩·圖拉克學號:2012060090033指導教師:實驗地點:主樓A2-412實驗時間:19:00~一、實驗室名稱:二、實驗項目名稱:匯編源程序的上機調試操作基礎訓練三、實驗學時:四、實驗原理:(包括知識點,電路圖,流程圖)DEBUG的基本調試命令;匯編數(shù)據(jù)傳送和算術運算指令MASM宏匯編開發(fā)環(huán)境使用調試方法五、實驗目的:1.掌握DEBUG的基本命令及其功能2.學習數(shù)據(jù)傳送和算術運算指令的用法3.熟悉在PC機上編輯、匯編、連接、調試和運行匯編語言程序的過程六、實驗內容:(介紹自己所選的實驗內容)1.DEBUG命令的使用2.程序的調試與運行3.編寫程序計算以下表達式:Z=(5X+2Y-7)/2設X、Y的值放在字變量VARX、VARY中,結果存放在字節(jié)單元VARZ中。七、實驗器材(設備、元器件):WinXPPC機,MASM,50,VisulASM軟件平臺。八、實驗步驟:(編輯調試的過程)1.編輯源程序,建立一個以后綴為.ASM的文件.2.匯編源程序,檢查程序有否錯誤,有錯時回到編輯狀態(tài),修改程序中錯誤行。無錯時繼續(xù)第3步。3.連接目標程序,產(chǎn)生可執(zhí)行程序。4.用DEBUG程序調試可執(zhí)行程序,記錄數(shù)據(jù)段的內容。九、實驗數(shù)據(jù)及結果分析:(實驗運行結果介紹或者截圖,對不同的結果進行分析)程序說明:功能:本程序完成Z=(5X+2Y-7)/2這個等式的計算結果求取。其中X與Y是已知量,Z是待求量。結構:首先定義數(shù)據(jù)段,兩個DB變量VARX與VARY(已經(jīng)初始化),以及結果存放在VARZ,初始化為?。然后定義堆棧段,然后書寫代碼段,代碼段使用順序程序設計本程序,重點使用MOV和IMUL以及XOR,IDIV完成程序設計。詳細內容見程序注釋。程序清單:DATASEGMENTVARXDB10VARYDB10VARZDB?DATAENDSSTACKSEGMENTPARASTACKSTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKMAIN:MOVAX,DATAMOVDS,AXMOVAL,VARXMOVAH,VARYSALAL,1SALAL,1ADDAL,VARXSALAH,1ADDAL,AHSUBAL,7SARAL,1MOVVARZ,ALMOVAH,4CHINT21HCODEENDSENDMAIN程序框圖:開始AX與AX進行異或(置零)AX與AX進行異或(置零)CX與CX進行異或(置零)VARX→AL5→CLAL=AL*CLAL→DLAX與AX進行異或(置零)AX與AX進行異或(置零)VARY→AL2→CLAL=AL*CLAL+DL→ALAL-7→AL2→CLCL/2=CLAL→VARZ結束結束調試說明:將匯編語言(.asm文件)通過masm命令轉換為目標程序(.obj文件),通過link命令轉換為目標程序可執(zhí)行程序(.exe文件);這次試驗還要用-p參數(shù)以及d參數(shù)顯示結果為:十、實驗結論:(聯(lián)系理論知識進行說明)通過本次實驗,我們學習了解掌握了DEBUG的基本命令及其功能,學習了數(shù)據(jù)傳送和算術運算指令的用法,熟悉了在PC機上編輯、匯編、連接、調試和運行匯編語言程序的過程。完成了Z=(5*X+2*Y-7)/2算術式的編程計算,使用到了以上學習到的知識,并且利用了順序程序設計的思想。通過本次實驗,大大提升了對匯編程序設計這門課實踐意義的理解,提高了編程能力和設計水平。報告評分:指導教師簽字:電子科技大學實驗報告實驗二學生姓名:穆薩·圖拉克學號:2012060090033指導教師:實驗地點:主樓A2-412實驗時間:19:00~一、實驗室名稱:二、實驗項目名稱:分支程序與循環(huán)程序設計三、實驗學時:四、實驗原理:(包括知識點,電路圖,流程圖)分支程序設計基本規(guī)范與調試方法,循環(huán)程序設計與調試方法;分配與使用寄存器的相關方法五、實驗目的:1.掌握分支程序的結構。
2.掌握分支程序的設計與調試方法。
3.掌握循環(huán)程序設計與調試方法
4.掌握正確分配與使用寄存器。
六、實驗內容:(介紹自己所選的實驗內容)1.根據(jù)輸入的字母進行大小寫轉換(若是輸入小寫字母則轉換成為大寫字母,反之),若輸入的不是字母則提示出錯并重新輸入。
2.從鍵盤上輸入三個一位十進制數(shù),將其中大于均值的數(shù)顯示出來。
3.顯示九九表(任意形式均可)
4.鍵盤輸入1-7,對應輸出Monday-Sunday。七、實驗器材(設備、元器件):WinXPPC機,MASM,50,VisulASM軟件平臺。八、實驗步驟:(編輯調試的過程)1.編寫源程序文件;
2.匯編,若發(fā)現(xiàn)語法錯誤或者格式錯誤則修改;
3.鏈接,形成可執(zhí)行文件;
4.運行程序,得到正確結果;
5.撰寫實驗報告:
1)實驗目的;
2)實驗要求;
3)實驗步驟;
4)實驗中涉及知識介紹;
5)畫出流程圖;
6.寫出源程序清單,并附注釋;
7.寫出調試過程及運行結果并分析;
8.總結實驗中遇到的問題及解決方法;
九、實驗數(shù)據(jù)及結果分析:(實驗運行結果介紹或者截圖,對不同的結果進行分析)程序說明:本程序完成求九九乘法表,就相當于C語言中用兩個for循環(huán)程序清單:dataSEGMENTaDB1bDB?dataENDScodeSEGMENTASSUMECS:code,DS:datamain: MOVAX,data; MOVDS,AXloop1:;循環(huán)標志 MOVAL,a; MOVCL,AL; MOVb,1;loop_in: MOVAH,2; ORb,30h; MOVDL,b INT21h MOVDL,'*'; INT21h ORa,30h; MOVDL,a;;a的或運算存放到DL中 MOVAH,2 INT21h MOVDL,'='; INT21h SUBa,30h; SUBb,30h; MOVAL,a;a* MOVBL,b;b MULBL;a*b賦給BL寄存器 MOVBL,10; DIVBL;AL/BL%->ah,/->al MOVBL,AH; MOVAH,2 CMPAL,00h;;AL的內容與0比較 JEloop2; ORAL,30h; MOVDL,AL INT21H loop2: ORBL,30h; MOVAH,2 MOVDL,BL INT21h MOVAH,2 MOVDL,'' INT21h INCb LOOPloop_in;跳轉到loop_in標志位置 MOVAH,2 MOVDL,13 INT21h MOVAH,2 MOVDL,10 INT21h INCa CMPa,10 JBloop1 MOVAH,4ch INT21hcodeENDSENDmain程流程圖:調試說明:將匯編語言(.asm文件)通過masm命令轉換為目標程序(.obj文件),通過link命令轉換為目標程序可執(zhí)行程序(.exe文件);顯示結果為:十、實驗結論:(聯(lián)系理論知識進行說明)通過本次實驗,掌握了分支程序的結構特點,學習了分支程序的設計和調試方法,掌握了循環(huán)程序的結構特點并學習了循環(huán)程序的設計和調試方法,運用了循環(huán)程序設計的思想,本實驗的原理框圖較為復雜,但是框圖給出了明確的思路和解題方向,是很好的學習方法。本次程序設計實驗運用了數(shù)個跳轉指令,JL,JLE,跳轉指令在循環(huán)程序設計過程中具有很重要的特點。報告評分:指導教師簽字:電子科技大學實驗報告實驗三學生姓名:穆薩·圖拉克學號:2012060090033指導教師:實驗地點:主樓A2-412實驗時間:19:00~一、實驗室名稱:二、實驗項目名稱:數(shù)制、碼制和子程序的編程與調試三、實驗學時:四、實驗原理:(包括知識點,電路圖,流程圖)數(shù)制、碼制和子程序設計基本規(guī)范與調試方法; MASM宏匯編開發(fā)環(huán)境使用方法;循環(huán)程序設計與調試方法;分配與使用寄存器的相關方法五、實驗目的:1.熟練掌握編寫匯編語言原程序的基本方法和基本框架。
2.熟練使用DEBUG調試程序。
3.掌握十六進制數(shù)與ASCII碼之間,ASCII碼與BCD碼之間的轉換。
4.掌握用DOS功能調用,實現(xiàn)字符的輸入和顯示。
5.掌握子程序的編程與調試方法。
六、實驗內容:(介紹自己所選的實驗內容)1、從鍵盤輸入兩個2位十進制正數(shù),相加,結果以十六進制數(shù)形式顯示在屏幕上。(要求結果顯示完整的算式)
2、從鍵盤輸入兩個2位十進制正數(shù)轉換成組合BCD碼后,相加,結果以十進制形式顯示在屏幕上。(要求結果顯示完整的算式)
3、從鍵盤輸入兩個2位十六進制數(shù),相加,結果以十進制形式顯示在屏幕上。(要求結果顯示完整的算式)
七、實驗器材(設備、元器件):WinXPPC機,MASM,50,VisulASM軟件平臺。八、實驗步驟:(編輯調試的過程)1、程序說明。說明程序的功能、結構。2、調試說明。包括上機調試的情況、上機調試步驟、調試所遇到的問題是如何解決的,并對調試過程中的問題進行分析,對執(zhí)行結果進行分析。3、寫出源程序清單(含注解)和執(zhí)行結果(截圖)。4、畫出對應的流程圖九、實驗數(shù)據(jù)及結果分析:(實驗運行結果介紹或者截圖,對不同的結果進行分析)程序說明:本實驗輸入兩個子程序,一個是將十六進制數(shù)轉換成二進制數(shù)的子程序,還有就是講二進制數(shù)轉換為十進制數(shù)的。在程序運行的時候我們首先輸入兩個十六進制數(shù),然后分別轉換為二進制數(shù)(利用子程序)之后加法計算出二進制結果然后我們再利用子程序B轉出十進制最終結果。程序清單:DATASEGMENTMSG1DB13,10,'Pleaseinputhexnumber_1:$';輸入提示字符串MSG2DB13,10,'Pleaseinputhexnumber_2:$';輸入提示字符串CRLFDB13,10,'$'NNDB?,?MMDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEADX,MSG1MOVAH,9INT21HCALLIN_CHAR;調用IN_CHARMOVMM,ALLEADX,MSG2;MOVAH,9INT21H;返回DOSCALLIN_CHARMOVNN,ALLEADX,CRLFMOVAH,9INT21HMOVAL,MMCALLOUT_NUMMOVDL,'+'MOVAH,2INT21HMOVAL,NNCALLOUT_NUMMOVDL,'='MOVAH,2INT21HMOVAL,NNADDAL,MM;MN與NN相加MOVAH,0ADCAH,0;帶進位的相加CALLOUT_1EXIT:MOVAH,4CHINT21H;返回DOSIN_CHAR:LEABX,NNMOVCX,2IN_1:MOVAH,1;調用1號功能,鍵盤輸入數(shù)據(jù)INT21HCMPAL,'0';判斷位變量轉移JBIN_1CMPAL,'F'JAIN_1CMPAL,'9'JBELNUMCMPAL,'A'JBIN_1SUBAL,7LNUM:SUBAL,30HMOV[BX],ALINCBXLOOPIN_1XCHGAL,NNMOVBL,16MULBLADDAL,NNRETOUT_NUM:MOVAH,0;存放計算結果OUT_1:MOVDX,0程序框圖:調試說明:將匯編語言(.asm文件)通過masm命令轉換為目標程序(.obj文件),通過link命令轉換為目標程序可執(zhí)行程序(.exe文件);顯示結果為:十、實驗結論:(聯(lián)系理論知識進行說明)本實驗完成了數(shù)制,碼制子程序調試設計及其應用程序的設計與調試運行實驗,學習了匯編語言程序設計過程中的數(shù)據(jù)輸入方法和字符串存儲特點,以及利用碼制轉換將兩個十六進制數(shù)相加并以十進制形式輸出。報告評分:指導教師簽字:電子科技大學實驗報告實驗四學生姓名:穆薩·圖拉克學號:2012060090033指導教師:實驗地點:主樓A2-412實驗時間:19:00~一、實驗室名稱:串操作指令及其應用程序的設計與調試運行二、實驗項目名稱:三、實驗學時:四、實驗原理:(包括知識點,電路圖,流程圖)串操作程序設計基本規(guī)范與調試方法;MASM宏匯編開發(fā)環(huán)境使用方法循環(huán)程序設計與調試方法;分配與使用寄存器的相關方法五、實驗目的:1.熟悉串操作指令的基本格式和使用方法2.掌握常用的串操作程序的設計方法。 3.熟悉串操作程序的調試運行過程。實驗內容:(介紹自己所選的實驗內容)1.從鍵盤輸入兩個長度不同的字符串,設字符串長度小于25個字符。要求在屏幕上以右邊對齊的形式顯示出來。
2.數(shù)據(jù)塊移動。將一個連續(xù)存儲單元的數(shù)據(jù)移動到另一個連續(xù)的存儲單元,并找出其中零的個數(shù)并顯示出來。(注意在編程的時候要確保數(shù)據(jù)塊位置的不確定性)
3.從鍵盤輸入兩個相同長度的字符串,分別放到數(shù)據(jù)段和附加段,利用串比較指令比較數(shù)據(jù)段和附加段中兩個字符串,如果兩串一樣,輸出Y,否則輸出不同的字符。
七、實驗器材(設備、元器件):WinXPPC機,MASM,50,VisulASM軟件平臺。八、實驗步驟:(編輯調試的過程)實驗前要做好充分準備,包括匯編程序清單、調試步驟、調試方法,以及對程序結果的分析等。
1.程序說明。說明程序的功能、結構。
2.調試說明。包括上機調試的情況、上機調試步驟、調試所遇到的問題是如何解決的,并對調試過程中的問題進行分析,對執(zhí)行結果進行分析。
3.畫出流程圖。
4.寫出源程序清單(含注解)和執(zhí)行結果(截圖)。九、實驗數(shù)據(jù)及結果分析:(實驗運行結果介紹或者截圖,對不同的結果進行分析)程序說明:本程序完成兩個字符串的鍵盤輸入并且右對齊輸出字符串。結構:1、在數(shù)據(jù)段中設置兩個存放顯示信息的字符串,一個是提示用戶輸入,另一個是提示顯示信息位置2、在數(shù)據(jù)段中設置兩個存放輸入字符串的緩沖區(qū)3、輸入字符串曹勇0AH號DOS功能調用,字符串存入緩沖區(qū)時,第二個字節(jié)為實際輸入字符串的長度,從第三個字節(jié)開始為字符串的ASCII碼。4、為了顯示右對齊,由于兩個字符串緩沖區(qū)的長度相同,只需要將兩個字符串向緩沖區(qū)后面靠齊,再調用09H號DOS功能調用即可達到顯示的右對齊。程序清單:DATASEGMENTNUMEQU25 PROMPT1DB0AH,0DH,'string:','$';輸入提示 PROMPT2DB0AH,0DH,'afteradjusting:',0AH,0DH,'$' STRING1DBNUM,0,NUMDUP(''),0AH,0DH,'$' STRING2DBNUM,0,NUMDUP(''),0AH,0DH,'$'DATAENDSSTACK1SEGMENTPARASTACK DW20HDUP(0)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK1BEGIN: MOVAX,DATA MOVDS,AX MOVES,AX MOVCX,2;CX初始化為2 LEABX,STRING1LOOP1: LEADX,PROMPT1 MOVAH,09H INT21H MOVDX,BX MOVAH,0AH INT21H LEABX,STRING2 LOOPLOOP1 LEABX,STRING1+2 CALLMOVE LEABX,STRING2+2 CALLMOVE LEADX,PROMPT2 MOVAH,09H INT21H LEADX,STRING1+2 MOVAH,09H INT21H LEADX,STRING2+2 MOVAH,09H INT21H MOVAH,4CH INT21HMOVEPROC XORCH,CH;XORCH,CH結果為0相當于,清零 MOVCL,-1[BX] MOVSI,CXADDSI,BX DECSI MOVDI,BX ADDDI,NUM-1 STD REPMOVSB MOVCX,NUM SUBCL,-1[BX] MOVAL,'' REPSTOSB RET MO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 奉賢區(qū)羽毛球球場施工方案
- 水庫牧道及庫區(qū)清施工方案
- 長沙設備內襯防腐施工方案
- 2025年中國搬運機器人產(chǎn)業(yè)深度分析、投資前景及發(fā)展趨勢預測報告
- 生態(tài)補償機制的建設與完善策略及實施路徑
- 中西通俗小說賞析知到課后答案智慧樹章節(jié)測試答案2025年春溫州理工學院
- 2025年電子金融相關設備項目建議書
- 數(shù)學高考備考講義第三章不等式35
- 燈條施工方案模板
- 2025年高三二輪專題復習學案地理(藝體生專用)第26講地區(qū)產(chǎn)業(yè)結構變化與產(chǎn)業(yè)轉移
- 中考百日誓師大會-百日沖刺決戰(zhàn)中考-2024年中考百日誓師大會(課件)
- 非線粒體氧化體系講解課件
- 初中八年級語文課件-桃花源記 全國公開課一等獎
- 《無人機操控技術》教案全套 1.1 無人機概述 -6.2 自動機場操控
- ISO27001標準培訓課件
- 《審核員培訓教程》課件
- 《光催化技術》課件
- 辦公打印機的租賃合同范文
- 危大工程監(jiān)理巡視檢查用表
- 大埔縣生活垃圾填埋場應急加固及滲濾液處理站擴容改造工程環(huán)境影響報告
- 餐飲行業(yè)儀容儀表標準規(guī)范
評論
0/150
提交評論