


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、匯編語言程序設計 實驗報告書安徽工業(yè)大學計算機學院實驗一匯編運行環(huán)境及方法、簡單程序設計一、實驗目的:1熟練匯編語言運行環(huán)境和方法。2、了解如何使用匯編語言編制程序。3、熟悉DEBUG常用的命令的使用方法。4、會使用DEBUG命令調(diào)試程序。二、實驗內(nèi)容:1、 比較兩個字符串STRING1和STRING2所含的字符是否相同,若相同,則輸出 MATCH,不相同則輸出 NOMATCH。矚慫潤厲釤瘞睞櫪廡賴賃軔。2、學會對匯編語言程序進行匯編、連接和運行。3、學會用 DEBUG中的D命令,E命令,R命令,G命令,F(xiàn)命令,U命令,A命令以及T命令。三、實驗要求:1、實驗前要做專業(yè)班級網(wǎng)073好充分準備,
2、包括匯編程序清單、調(diào)試步驟、調(diào)試方法,以及學號079074372對程序結(jié)果的分析等。2、本實驗只要姓名魏湲湲求在DEBUG調(diào)試程序狀態(tài)下進行,包括匯編程序、調(diào)試程序和執(zhí)行程序。實驗步驟指導教師柯棟梁在DOS提示符下,進入MASM目錄在MASM目錄下啟動EDIT編輯程序,輸入源程序,并對其進行匯編、連接、運行 詳細記錄每一步所用的命令,以及查看結(jié)果的方法和具體結(jié)果五、流程圖六、源程序清單data segme ntlea di,stri ng2stri ng1 db mov the cursor backwardcldstri ng2 db mov the cursor backwardmov c
3、x,25mess1 db match,13,10,$repz cmpsbmess2 db no match,13,10,$jz matchdata endslea dx,mess2code segme ntjmp short dispmain proc farmatch:assume cs:code,ds:data,es:datalea dx,mess1start:disp:push dsmov ah,9hsub ax,axint 21hpush axretmov ax,datamain endpmov ds,axcode endsmov es,axend startlea si,stri n
4、g1七、實驗結(jié)果將字符串str inl與strirtg2比較結(jié)束不同NOMATCHRun File 1.exe1: List File nul.map:Libraries 1 idj:Definitions File Lnul.defJ:LINK : warning L4021: no stack segmentE:MOSM1 nomatch實驗二循環(huán)程序設計一已知學生成績,求每個學生的名次、實驗目的:1熟悉循環(huán)、DOS功能調(diào)用等基本的程序結(jié)構(gòu)。2、熟悉多重循環(huán)結(jié)構(gòu)及算法技巧。3、熟練使用DEBUG常用命令查看程序運行結(jié)果,以及通過修改代碼或數(shù)據(jù)來改變程序運 行結(jié)果。二、實驗內(nèi)容:設有十個學生
5、成績分別是88,75,95,63,98,78,87,73,90和60分。試編制一個程序,求每個學生和名次。聞創(chuàng)溝燴鐺險愛氌譴凈禍測。實驗步驟在DOS提示符下,進入 MASM目錄在MASM目錄下啟動EDIT編輯程序,輸入源程序,并對其進行匯編、連接、運行 詳細記錄每一步所用的命令,以及查看結(jié)果的方法和具體結(jié)果四、程序說明通過雙重循環(huán)實現(xiàn):對于數(shù)組的每個元素(學生成績),查找數(shù)組中比該元素值大的元素個數(shù)I,則I-1即為該學生的名次,并將名次依次保存在以rank為首地址的字數(shù)組中。殘騖樓諍錈瀨濟溆塹籟婭驟。五、源程序代碼data segme ntgrade82h,84h,87h,90h,55h,66
6、h,77h,80hrank DW 8 DUPdata endscode segme ntassume cs:code,ds:datamain proc farpush dsmov ax,0push axmov ax,datamov ds,ax lea si,grademov cx,10OUTLOOP:push cxmov bx,01h運行結(jié)果DWlea di,grademov ax,simov cx,9INLOOP:cmp ax,di jge NEXT inc bxNEXT:add di,2loop INLOOPmov WORD PTRsi+ra nk,bxadd si,2pop cxloop
7、 OUTLOOPretmain endpcode endsend mai n實驗三 分支程序設計-從鍵盤輸入月份數(shù)值,顯示月份的英文字母 一、實驗目的:1熟悉分支、DOS功能調(diào)用等基本的程序結(jié)構(gòu)。2、使用DEBUG的A命令、E命令以及R命令修改內(nèi)存中程序代碼、數(shù)據(jù)以及寄存器的內(nèi) 容,使得程序輸出不同的結(jié)果。釅錒極額閉鎮(zhèn)檜豬訣錐顧葒。二、實驗內(nèi)容:從鍵盤輸入月份值,如(1-12), 顯示月份的英文名稱 (JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC)。彈貿(mào)攝爾霽斃攬磚鹵廡詒爾。三、程序功能說明使用DOS系統(tǒng)功能調(diào)用實現(xiàn)從鍵盤輸入月份數(shù)值(可能是
8、ASCII轉(zhuǎn)換成數(shù)值,根據(jù)此數(shù)值確定月份英文名在字符串數(shù)組連續(xù)三個字節(jié)拷貝到alfmon單元中,再通過懟類蔣薔點鉍。四、源程序代碼data SEGMENTthree DB 3mess DBmo nth?,13,10,$alfmon DB 13,10,?,13,10,$ mon tabDBJAN,FEB,MAR,APR,MAY,JUN,JU L,AUG,SEP,OCT,NOV,DEC廈礴懇蹣駢時 盡繼價騷巹癩。error DBERROR,INPUT AGAINPLEASE!,13,10,$monin LABEL BYTEmax DB 3act DB?位也可能是二位),將月份值的mon tab中的
9、位置,將該位置DOS系統(tǒng)功能調(diào)用顯示 alfmon為起謀養(yǎng)摶篋飆鐸mon DB 3 DUP(?)data ENDScode SEGMENTASSUME CS:code,DS:data,ES:datamai n PROC FARPUSH DSSUB AX,AXPUSH AXMOV AX,dataMOV DS,AXMOV ES,AXSTART:LEA DX,messMOV AH,09INT 21h;Show In put Mon th MessageLEA DX,m oninMOV AH,0ahINT 21h;accept keyboard in putCMP act,0JE exit;Conve
10、rt ASCII to bi nary:MOV AH,30hCMP act,2JE twoMOV AL,m onJMP convtwo:MOV AL,m on+1MOV AH, monconv:XOR AX,3030h ;clear ASCII 3s CMP AH,0;MO nth01-09?JZ loc ;Yes-bypassSUB AH,AH; no-clear AHADDAL,10;correct for binary loc:LEA SI,mo ntabDECALMUL threeADD SI,AXMOV CX,03CLDLEA DI,alfmo n+2REP movSbLEA DX,
11、alfm onMOV AH,09INT 21hJMP STARTEXIT:RETmai n ENDPcode ENDSEND mai n運行結(jié)果實驗四子程序設計-從鍵盤輸入一個四位十進制無符號數(shù),并將其從屏幕上顯示出來、實驗目的:1、 熟悉分支、循環(huán)、子程序調(diào)用、DOS功能調(diào)用等基本的程序結(jié)構(gòu)。2、掌握子程序調(diào)用的參數(shù)傳遞。3、掌握綜合程序的編制及調(diào)試方法。二、實驗內(nèi)容:從鍵盤輸入一個四位的十進制數(shù) (如 4525D) ,然后在屏幕上以十六進制形式將其顯示出來(11ADH) 。三、程序說明1、采用 DOS 功能調(diào)用從鍵盤輸入一串字符。2、設計一個子程序?qū)㈡I盤緩沖區(qū)中的字符轉(zhuǎn)換為數(shù)值,即 4-4
12、、 5-5、 2-2、 5-5,再將其轉(zhuǎn)化為數(shù)值 4525 保存到 BX 寄存器中。 煢楨廣鰳鯡選塊網(wǎng)羈淚鍍齊。3、設計一子程序?qū)?BX 中的二進制數(shù)以十六進制形式顯示。即用循環(huán)依次取 BX 中四位二 進制數(shù),將其轉(zhuǎn)化為對應十六進制數(shù)的 ASCII 碼,再通過 DOS 系統(tǒng)調(diào)用將其顯示出來。 鵝 婭盡損鵪慘歷蘢鴛賴縈詰。四、源程序code segment assume cs:code start: mov cx,4;鍵盤輸入newchar: mov ah, 1int 21hsubal, 30hjl newcharcmpal, 9jg newcharcbwxchgax, bxmovdx, 10m
13、uldxxchgax, bxaddbx, axloop newcharexit:; 9 重輸mov dl,0dh mov ah,2 int 21h mov dl,0ahmov ah,2 int 21hmov ch, 4 prin tit: mov dl, al mov ah, 2rotate: movrolcl, 4bx, clmovandaddcmpaddal, blal, 0fhal, 30hal, 3ahjlal, 7h0printit; A 9 ASCII 30H39H F ASCII 41H46Hint 21hdec chjnz rotatemov ah,1int 21hmov ah
14、,4chint 21hcode endsen dstart五、實驗結(jié)果黒 C:IIIBOISsystei32cid. eie123404D2Press any key to continue實驗五 綜合程序-統(tǒng)計不同成績段學生的人數(shù)一、實驗目的:1、 掌握分支、循環(huán)、子程序調(diào)用、DOS功能調(diào)用等基本的程序結(jié)構(gòu)。2、掌握綜合程序的編制及調(diào)試方法。二、實驗內(nèi)容:設有十個學生成績分別是 76, 69, 84,90,73,88, 99, 63, 100和80分。試編制一個子 程序,統(tǒng)計低于 60分,6069分,7079分,8089分,9099分和100分的人數(shù),并 輸出顯示統(tǒng)計結(jié)果。 籟叢媽羥為贍債蟶
15、練淨櫧撻。三、實驗程序功能說明1、 成績分等部分采用分支結(jié)構(gòu),統(tǒng)計所有成績則用循環(huán)結(jié)構(gòu)完成,顯示統(tǒng)計結(jié)果采用DOS 功能調(diào)用。2、統(tǒng)計學生成績和顯示統(tǒng)計結(jié)果兩部分內(nèi)容用子程序結(jié)構(gòu)來完成。四、流程圖學生成績與岡比較與旳比較等于小于與西比較與曲比較等于小于 等于小于”v4+l與的比較五、源程序代碼data segme ntscoredw76,69,84,90,73,88,99,63,100,80mes0 db 0-60:$mes1 db 60-69:$mes2 db 70-79:$mes3 db 80-89:$mes4 db 90-99:$mes5 db 100:$v0 db ?;0-60段人數(shù)計
16、數(shù)器v1 db ?;60-69段人數(shù)計數(shù)器v2 db ?;70-79段人數(shù)計數(shù)器v3 db ?;80-89段人數(shù)計數(shù)器v4 db ?;90-99段人數(shù)計數(shù)器v5 db ?;100段人數(shù)計數(shù)器data endscode segme ntassume cs:code,ds:datastart:mov ax,datamov ds,axlea si,scoremov cx,0ahcall comparemov ah,4chint 21h;子程序名:compare;功能:統(tǒng)計個分數(shù)段的人數(shù)compare proc n ear cmp1:mov bx,si add si,2 cmp bx,60 jl cm
17、p0 cmp bx,69 jg cmp2 inc v1 jmp cmp6段統(tǒng)計cmp0:inc v0 jmp cmp6 cmp2:cmp bx,79 jg cmp3統(tǒng)計inc v2 jmp cmp6 cmp3:cmp bx,89 jg cmp4統(tǒng)計inc v3 jmp cmp6 cmp4:cmp bx,99 jg cmp5統(tǒng)計inc v4jmp cmp6;60-69分數(shù);0-60分數(shù)段統(tǒng)計;70-79分數(shù)段;80-89分數(shù)段;90-99分數(shù)段mov ah,09hint 21hmov dl,v3 add dl,30hmov ah,02hint 21hcall HHmov dx,offset me
18、s4 mov ah,09hint 21hmov dl,v4 add dl,30hmov ah,02hint 21hcall HHmov dx,offset mes5mov ah,09hint 21hmov dl,v5add dl,30hmov ah,02h int 21hretdisplay endp;子程序HH,用于回車換行HH proc n earmov dl,0ahmov ah,02h int 21hmov dl,0dhmov ah,02h int 21h retHH endpcode endsend startcmp5:cmp bx,100jg cmp6;100分數(shù)段統(tǒng)計inc v5cmp6:loop cmplcall displayretcompare endp;子程序名:display
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藝術(shù)類教師簡歷模板
- 鋁材產(chǎn)品銷售合同
- 顧問式勞務標準合同書二零二五年
- 二零二五公司債券擔保合同
- 二零二五版勞動合同勞務派遣勞動合同范例
- 城市小學體質(zhì)健康活動實施方案
- 護理教育中的實習措施與效果
- 二零二五版加工廠轉(zhuǎn)讓協(xié)議書范例
- 二零二五版三方個人借款合同
- 貸款服務合同范文
- 第八章 統(tǒng)計與概率 第2節(jié) 概率 學案(含答案)2025年中考數(shù)學人教版一輪復習
- 《海事法規(guī)體系講解》課件
- TTDIA 00013-2024 面向低空空域的集群通信平臺建設技術(shù)規(guī)范
- 2024年中國電信集團有限公司招聘考試真題
- 《中醫(yī)體重管理臨床指南》
- 2025湖南新華書店集團校園招聘85人高頻重點提升(共500題)附帶答案詳解
- 醫(yī)院?;分R培訓課件
- 兒童營養(yǎng)及營養(yǎng)性疾病
- 專業(yè)設置可行性報告
- QC080000培訓講義課件
- 病歷書寫規(guī)范細則(2024年版)
評論
0/150
提交評論