下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
《匯編語言程序設計》實驗教學大綱課程:080503101301 課程類:專業(yè)基礎適用專:計算機科學與技術專業(yè)課程總學:34 實驗學:17大綱編寫:\\\ 編寫時間:2010年6月18日【實驗目標要求】課程打好良好的基礎?!緦嶒瀸W習要求】IBM-PC匯編語言程序設計》教材中與實驗相關的章節(jié)內容,提求做好總結,上交實驗報告。具體要求如下:方法、對運行結果的分析等。上機時,要熟悉與實驗有關的系統(tǒng)軟件(序、調試程序)的使用方法;在程序調試過程中,有意識的學習及掌握Debug上機后,應寫出實驗報告,及時總結。遵守實驗室的規(guī)章制度,愛護實驗設備?!緦嶒炗媱潯繉嶒炐蛱枌嶒烅椖績热輰W時實驗一IBM-PC尋址方式及DEBUG的使用3實驗二熟悉指令系統(tǒng)3實驗三建立運行匯編語言程序3實驗四循環(huán)程序設計2實驗五分支程序設計2實驗六子程序設計2實驗七I/O程序設計2【實驗教材及主要參考資料】教材:《IBM-PC匯編語言程序設計(第二版學出版社,2001.8?!禝BM-PC清華大學出版社,2008.2。【實驗任務】實驗一、實驗一、IBM-PCDEBUG的使用實驗目的:DEBUG的功能,運行并掌握其常用命令。DEBUGIBM-PC實驗內容:DEBUG的加載及其常用命令(A、、、D、、、、、Q)的使(DEBUG狀態(tài)下之后一切立即數(shù)和地址數(shù)據(jù)均被默認為十六進制數(shù)在輸入時數(shù)的后面不加后綴“H)源程序、機器語言程序如下:CS:0100Al0000MOVCS:010303060200ADDAX,[0002]CS;0107A30400MOV[0004],AXCS:010ACBRETF數(shù)據(jù)段內容如下:DS:000023012500 ;兩個已知數(shù)在Debug實驗主要步驟:DOSWindowsDebugDebug各個命令的用法。實驗步驟E命令鍵人上述機器語言程序和數(shù)據(jù)段的初值。—EDS:00023012500—EDS:0062A2A 2A(2A為*,是為便于查看數(shù)據(jù)段內容而設置)—ECS:100A100 0003 06 02 00—ECS:107A304 00CBD命令檢查數(shù)據(jù)段、代碼段內容。—DDS:0—DCS:100用T變化。U命令反匯編本程序?!猆100 10ARIP0100重新執(zhí)行上述程序?!猂IP顯示:IP 010A:0100G命令運行程序?!狦 =CS:0100 107觀察:IP=AX=—G =CS:0100 10A觀察:IP=AX=3-A100↙16C6:0100 DB‘1234567890‘↙16C6:010A CLD↙16C6:010B MOVSI,100↙16C6:010E MOVDI,200↙16C6:0111 MOV16C6:0114 REP MOVSB↙16C6:0116↙-G=10A 11↙;運行上述程序(起始地址10A,結束地址116。-D100 L A↙;顯示DS:100開始10個字節(jié)內容16C6:01003132333435363738-3930 -DES:200 L A↙顯示ES:100開始10個字節(jié)內容16C6:02003132333435363738-3930 4.寫出實驗報告。實驗二、熟悉指令系統(tǒng)實驗二、熟悉指令系統(tǒng)實驗目的:8088/8086的指令書寫格式、功能。實驗內容:DEBUG調試程序功能編程序計算(W—(X×Y+Z—540))/XX、Y、、W16AX寄存器中,余DX寄存器。掌握算術指令的用法。DEBUG編程并查看邏輯指令的運行結果,掌握邏輯指令的用法。實驗主要步驟:AXDX寄存器。參考程序代碼如下:DATASEGMENTXDW1200HYDW0034HZDW0F045HWDW034AHDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,XIMULYMOVMOVMOVCWDADDADCBX,DXSUBCX,540SBBBX,0MOVCWDSUBAX,CXSBBDX,BXIDIVXMOVAH,4CHINT21HCODEENDSENDSTARTDebugE、Y、、W設置初值。AGTRD果。A命令匯編幾條邏輯指令,并運行,查看結果。寫出實驗報告。實驗三、建立運行匯編語言程序實驗三、建立運行匯編語言程序實驗目的:掌握匯編語言程序格式及其它命令的作用。掌握匯編、連接、運行匯編程序的全過程,并能檢查修攙程序簡單錯誤編寫程序,比較兩個字符串STRINGl和STRING2所含的字符是否相同'No編輯、匯編、連接這個匯編語言源程序,形成.EXE文件。通過DEBUG 調試運行該可執(zhí)行文件,查看運行結果實驗主要步驟:根據(jù)要求編制匯編源程序參考程序如下:DATASEGMENTSTRINGlDB‘MovethecursorbackadSTRING2DB‘MovethecursorMESSlDB‘Matc.,1,10,‘$’MESS2DB‘NODATAENDSPROGSEGMENTASSUMECS:PROG,DS:DATA,ES:DATASTART:MOVAX,DATAMOVDSMOVES,AXLEASI,STRINGlLEADI,STRING2CLDMOVCXREPZCMPSBJZMATCHLEADX,MESS2JMPSHORTDISPMATCH: LEADXDISP: MOVAH,091NT21HMOVAH,4CHINT21HPROGENDSENDSTART使用記事本或其它字處理軟件(Edit.exe)編輯該源文件。Masm、Link程序匯編、連接該文件,形成可執(zhí)行的.EXE參考步驟如下:(1)調用全屏幕編輯程序EDlTASMC>EDIT輸入實驗內容1的源程序并以SAMPLE.ASM為文件名將文件存盤。(2)用匯編程序MASM 對源文件SAMPLE.ASM 匯編并產(chǎn)生目標文件SAMPLE.OBJ。C>MASMSAMPLE如匯編指示有錯誤,則需重新調用編輯程序修改程序中的錯誤,直至匯編通過為止。用連接程序LINK產(chǎn)生執(zhí)行文件SAMPLE.EXEC>LINK SAMPLE執(zhí)行程序。可直接從DOS狀態(tài)執(zhí)行程序。C>SAMPLE顯示器上顯示出程序的運行結果。Match.Debug調試運行這個.EXE容修改兩個字符串的內容,使它們互不相同,再觀察程序的運行結果。寫出實驗報告。實驗四、循環(huán)程序設計實驗四、循環(huán)程序設計實驗目的:加深對循環(huán)程序的理解。實驗內容:1.編制程序,要求如下:從鍵盤接收一個四位的16進制數(shù),在終端上顯示與它等值的二進制數(shù)。實驗主要步驟:參考程序如下:Begin:MOVBX,0 16MOVCH,4MOVCL,4INPUT:SHLBX,CL將前面輸入的數(shù)左移4MOVAH,1 從鍵盤取數(shù)INT21HCMPAL,30H;<0嗎?JBINPUT "0~F"CMPAL,39H;"0~9"嗎?JAAF "A~F"的處理ANDAL,0FH;JMPBINARYAF: ANDAL,11011111B轉換為大寫字CMPAL,41H <A嗎?JBINPUT 不是"A~F"的數(shù)重新輸CMPAL,46H ;>F嗎?JAINPUT 不是"A~F"的數(shù)重新輸ANDAL,0FH ;轉換為1010B~1111BADDAL,9BINARY:ORBL,AL ;將鍵盤輸入的數(shù)進行組合DECCHJNZINPUTMOVCX,16 16位二進制數(shù)一位位地轉換成ASCII碼顯示DISP: MOVDL,0ROLBX,1RCLDL,1ORDL,30HMOVAH,2 進行顯示INT21HLOOPDISPSTOP:RET上機編輯源程序,并匯編、連接、調試運行,查看結果。寫出實驗報告。實驗五、分支程序設計實驗五、分支程序設計實驗目的:實驗內容:參考程序段如下:Begin:MOVAH,1 ;INT21HCMPAL,'a' ;輸入字符<'a'JBSTOPCMPAL,'z' ;輸入字符>'z'JASTOPSUBAL,20H 轉換為大寫字母或ANDAL,1101也可MOVDL,AL ;顯示一個字符MOVAH,2INT21HJMPBeginSTOP:RET編制程序統(tǒng)計學生成績。要求如下:1056698482738899631008060分、60~69分、70~79分、80~89分、90~99100s5、s6、s7、s8、s9s10單元中。環(huán)結構完成。實驗主要步驟:開始初始化計數(shù)單元開始初始化計數(shù)單元初始化循環(huán)計數(shù)值初始化首地址取一個成績YS5+1YS6+1YS7+1YS8+1N<60?N<70?N<80?N<90?N=100?YS9+1S10+1修改地址N循環(huán)結束?Y結束程序框圖參考程序如下:;PROGRAMTITLEGOESHERE――result;************************************datarea segment ;definedatasegmentgradedw56,69,84,82,73,88,99,63,100,80s5dw0s6dw0s7dw0s8dw0s9dw0s10dw0datareaends;************************************prognamsegment ;definecodesegment; main proc far ;mainpartofprogramassume cs:prognam,ds:datareastart: ;startingexecutionaddress;setupstackforreturnpushds;saveolddatasegmentsubax,ax;putzeroinAXpushax;saveitonstack;setDSregistertocurrentdatasegmentmov ax,datarea ;datareasegmentaddrmov ds,ax ;intoDSregister;MAINPARTOFPROGRAMGOESHEREmovs5,0;initializecountermovs6,0movs7,0movs8,0movs9,0movs10,0movcx,10;initializeloopcountvaluemovbx,offsetgrade;initializefirstaddrcompare:movax,[bx];getaresultcmpax,60;<60?jlfivecmpax,70;<70?jlsixcmpax,80;<80?jlsevencmpjlax,90eight;<90?cmpax,100;=100?jnenineincs10jmpshortchange-addrnine:incs9jmpshortchange-addreight:incs8jmpshortchange-addrseven:incs7jmpshortchange-addrsix:incs6jmpshortchange-addrfive:incs5change-addr:add bx,2loop compareret ;returntoDOSmain endp ;endofmainpartofprogram; prognam ends;***************************end start ;endassembly寫出實驗報告。實驗六、子程序設計實驗六、子程序設計實驗目的:掌握子程序設計方法,能合理劃分子程序。運行過程中的堆棧、標志位變化情況。實驗內容:1.來。主程序BANDO:把整數(shù)變量VAL1存入堆棧,并調用子程序PAIRS;OUTBIN示出與其等效的二進制數(shù);輸出8OUTOCT示與其等效的八進制數(shù);調用輸出回車及換行符子程序。實驗主要步驟:關系。參考程序如下:DATASEGMENTVAL1DW?CRLFDW0DH,0AH,'$'DATAENDSCODESEGMENTBANDOPROCFAR ;主程序ASSUMECS:CODE,DS:DATASTART:PUSHDS ;設置返回DOSSUBAX,AXPUSHAXMOVAX,DATAMOVDS,AX ;DS賦值PUSHVAL1CALLRETBANDOENDPPARISPROCNEAR ;PARISPUSHBPMOVBP,SPPUSHBXMOVBX,[BP+4];從堆棧中取出VAL1CALLOUTBIN ;調用二進制顯示子程MOVCX,8 ;顯示8個空格SPACE:MOVDL,''MOVAH,2INT21HLOOPSPACECALLOUTOCT ;調用八進制顯示子程序CALLDISP_CRLFPOPBXPOPBPRET2PARISENDPOUTBINPROCNEAR ;PUSHBXMOVCX,16ONEBIT:ROLBX,1MOVDX,BXANDDX,1ORDL,30H;轉換為ASCII碼MOVAH,2INT21HLOOPONEBITPOPRETOUTBINENDPOUTOCTPROCNEAR ;八進制顯示子程序ROLBX,1;1661MOVDX,BXANDDX,1ORDL,30HASCIIMOVAH,2INT21HMOVCX,5 ;5NEXT:PUSHCXMOVCL,3;13ROLBX,CLMOVDX,BXANDDX,07HO
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年黑龍江林業(yè)職業(yè)技術學院高職單招職業(yè)適應性測試模擬試題及答案詳細解析
- 2026貴州省退役軍人事務廳所屬事業(yè)單位招聘2人考試重點試題及答案解析
- 2026年青海衛(wèi)生職業(yè)技術學院單招職業(yè)技能考試備考試題含詳細答案解析
- 2026年湖北城市建設職業(yè)技術學院單招綜合素質考試備考題庫含詳細答案解析
- 2026年朝陽師范高等專科學校單招職業(yè)技能考試備考題庫含詳細答案解析
- 2026年安徽工業(yè)職業(yè)技術學院單招綜合素質筆試備考題庫含詳細答案解析
- 2026年寧夏財經(jīng)職業(yè)技術學院單招職業(yè)技能考試備考題庫含詳細答案解析
- 2026年山西經(jīng)貿職業(yè)學院單招職業(yè)技能考試備考題庫含詳細答案解析
- 2026山東濟南高新區(qū)龍奧大廈附近小學招聘派遣制小學數(shù)學代課老師1人參考考試試題及答案解析
- 2026年廣東工貿職業(yè)技術學院單招綜合素質考試模擬試題含詳細答案解析
- 冷庫安全生產(chǎn)責任制制度
- 陜西省西安市高新一中、交大附中、師大附中2026屆高二生物第一學期期末調研模擬試題含解析
- 2025兒童心肺復蘇與急救指南詳解課件
- 大推力液體火箭發(fā)動機綜合測試中心建設項目可行性研究報告模板立項申批備案
- 湖北中煙2024年招聘考試真題(含答案解析)
- 運維檔案管理制度
- 2025年航空發(fā)動機涂層材料技術突破行業(yè)報告
- 2026年汽車美容店員工績效工資考核辦法細則
- GLB-2防孤島保護裝置試驗報告
- 第十二章中國傳統(tǒng)倫理道德
- 醫(yī)學課件-發(fā)紺教學課件
評論
0/150
提交評論