




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、(2014 2015 學(xué)年第一學(xué)期)課程名稱:匯編與微機接口 開課實驗室:信自樓機房444 2014年12月3日年級、專業(yè)、班計科122班學(xué)號201210405204姓名鄒華宇成績實驗項目名稱子程序設(shè)計指導(dǎo)教師萬小容教 師 評 語該同學(xué)是否了解實驗內(nèi)容與要求:a. 了解口b.基本了解口c.不了解口該同學(xué)的實驗?zāi)芰Γ篴.強 口b.中等口c.差口該同學(xué)的實驗是否達到要求:a.達到口b.基本達到口 c.未達到口實驗報告是否規(guī)范:a.規(guī)范口b.基本規(guī)范口c.不規(guī)范口是否有運行結(jié)果與分析:a.詳細口b.般口c.沒有口是否有總結(jié)與體會:a.詳細口b.般口c.沒有口教師簽名:年 月日一、實驗?zāi)康?、熟悉并掌
2、握匯編語言的基本指令;2、熟練地掌握子程序的設(shè)計過程;3、熟悉并掌握bios和dos中斷的調(diào)用方法;4、熟悉主程序調(diào)用子程序的模塊化程序設(shè)計思想,即將原始數(shù)據(jù)通過轉(zhuǎn)換 為內(nèi)存數(shù)據(jù)再轉(zhuǎn)化為顯存數(shù)據(jù)顯示到屏幕上。二、實驗要求將實驗7中的power idea公司的數(shù)據(jù)按照圖所示的格式在屏幕上顯示出來。 (用子程序編寫代碼以十進制方式顯示內(nèi)存屮的數(shù)據(jù)。)三、實驗分析完成這個實驗需要編寫以下幾個子程序:(1)名稱:show str功能:在指定的位置,用指定的顏色,顯示一個以0結(jié)尾的字符串;參數(shù):(dh)二行號(取值范圍024), (dl)二列號(取值范圍079) (cl)二顏色,ds:si指向字符串的首
3、地址。(2) 名稱:di vdw功能:進行無溢出的除法操作,被除數(shù)為被除數(shù)為dword型,除數(shù)為word 型,結(jié)果為word型;參數(shù):(ax)=dword型數(shù)據(jù)的低16位,(dx) =dword型數(shù)據(jù)的高16位,(ex)二 除數(shù);返冋:(dx)二結(jié)果的高16位,(ax)二結(jié)果的低16位,(ex)二余數(shù)。(3) 名稱:dtoc功能:將word型數(shù)據(jù)轉(zhuǎn)變?yōu)楸硎臼M制的字符串,字符串以0為結(jié)尾符; 參數(shù):(ax)二word型數(shù)據(jù),ds:si指向字符串的首地址。四、實驗環(huán)境匯編程序:masm.exe,鏈接程序:link. exe,調(diào)試環(huán)境:debug. exe,對操 作系統(tǒng)和計算機五特殊要求,如果是w
4、in7以上操作系統(tǒng),需要安裝dosbox虛擬 平臺。五、實驗過程與結(jié)果assume cs:code, ds:data, es:table ;將代碼段的段地址給cs,將數(shù)據(jù)段的段地 址給ds,將table段的段地址給estable segment ;定義 table 段db ' 1975,' 1976,' 1977,' 1978,' 1979,' 1980',' 1981',' 1982',' 1983' db ' 1984',' 1985,' 1986,
5、9; 1987,' 1988',' 1989,' 1990',' 1991',' 1992' db ' 1993,' 1994',' 1995,;表示21年的21個字符串,每個年份占四個字節(jié),共占84字節(jié)dd 16, 22, 382, 1356, 2390, 8000, 16000, 24486, 50065, 97479, 140417, 197514dd345980,590827,803530,1183000, 1843000, 2795000, 3753000, 4649000, 59
6、37000;表示21年公司總收入的21個雙字型數(shù)據(jù),共占84字節(jié)dw3, 7, 9, 13, 2& 38, 130, 220, 476, 778, 1001, 1442, 2258, 2793, 4037, 5635, 8226dw 11542,14430,15257,17800;表示21年公司雇員人數(shù)的21個字型數(shù)據(jù),共占42字節(jié)dw5, 3, 42, 104, 85, 210, 123, 111, 105, 125, 140, 136, 153, 211, 199, 209, 224, 239dw 260, 304, 333;表示21年公司雇員人均年收入的21個字型數(shù)據(jù),共占42字
7、節(jié) table ends ; table 段結(jié)束data segment ;定義 dala 段db 32 dup (0);預(yù)留岀32字節(jié)的空間data ends ;data 段結(jié)束code segment ;code 段start:movax,datamovds,axmovax,tablemoves,axmovbx,0;table段指針清0movsi,0;data段指針清0movdi,0;table段指針清0movex,21;循環(huán)次數(shù)給exmovdh,2;將行號給dhmovdl,30;列號給dlpushex;將寄存器進棧保護,防止將其中數(shù)據(jù)覆蓋pushdx;將data段、table段的段地址通
8、過屮間寄存器賦給ds、cs;取年份,一個年份分兩次取movax, es: bx;將table段的值取給ax, 一次取兩個字節(jié)即字符“19”movsi, ax;將的值寫入內(nèi)存movax, cs:bx+2;取年份的后兩個字符,如“75”movsi+2, ax;寫到內(nèi)存的相應(yīng)位置;取公司總收入movax,es:bx+84;table段中字型數(shù)據(jù)占84個字節(jié),取年總收入指針加84movdx,es: bx+86addsi,6;數(shù)據(jù)段指針加6:總收入加上空格calldtoc;調(diào)用子程序dtocmovax,es:di+168;取公司庭員數(shù)movdx,0;dx 清 0addsi,10;數(shù)據(jù)段指針指向相應(yīng)位置c
9、alldtoc;調(diào)用子程序,將data段的數(shù)據(jù)以十進制形式顯不movax, es:di+210;取人均年收入:84+84+42二210movdx, 0;dx 清 0addsi, 8;數(shù)據(jù)段指針指向相應(yīng)位置cal 1dtoc;調(diào)用子程序,將data段的數(shù)據(jù)以十進制形式顯不movsi, 0;指針清0movex, 21;循環(huán)次數(shù)s2: pushex;cx進棧保護movcl, si;將數(shù)據(jù)段的字符取給c1jcxzs4;若。乂二0,則執(zhí)行標(biāo)號s4處的代碼s3: incs i;指針加1popex;cx的值岀棧loops2;循環(huán)標(biāo)號s2處的代碼,直至ex二0incsi;指針加1moval, 0;將趙清0mo
10、vsi, al;將昂的值傳到數(shù)據(jù)段movsi, 0;指針清0popdx;dx的值出棧movcl, 2;將顏色傳給clcallshow_str;調(diào)用子程序addbx, 4;指針加4adddi, 2;指針加2,指向下一個數(shù)據(jù)adddh, 1;行號加1,指向下一個數(shù)據(jù)popex;cx的值出棧loopsi;循環(huán)執(zhí)行si處的代碼,直至ex二0movax, 4c00hint21hs4: moval, 20hmov si, aljmp s3;進棧保護,防止數(shù)據(jù)在子程序屮被覆蓋dtoc:push push push pushaxexdxsididi, 0;保存字符進棧的個數(shù)pushmovdl:movex, 1
11、0;將除數(shù)10給excalldivdw;調(diào)用子程序,進行不會溢出的除法運算addex, 30h;cx中存放的是余數(shù),將余數(shù)加上30h得到該數(shù)字的ascii碼pushex;將ex進棧保護incdi;字符個數(shù)加一movex, ax;將ax里的商給exjcxzd2;若。乂為0,則執(zhí)行d2jmpdl;否則跳轉(zhuǎn)到dlmovex, dx;將做除法的高十六位的商給exjcxzd3;若ex二0,則執(zhí)行標(biāo)號d3處的代碼jmpdl;若。風(fēng)二0不成立,則執(zhí)行dl處的代碼movex, di;將進棧字符個數(shù)傳給ex,作為循環(huán)次數(shù)popax;將字符出棧movsi, al;將字符的ascii碼寫入數(shù)據(jù)段incsi;指針加1
12、loopd4;循環(huán)執(zhí)行標(biāo)號d4處的代碼;循環(huán)結(jié)束后,寄存器逆序?qū)鐥opdipopsipopdxpopexpopaxret;子程序結(jié)束d2:d3:d4:d ivdw:;子程序,做無溢出的除法操作;si,ax進棧保護pushsipushaxmovax, dx;將被除數(shù)的高十六位給3xmovdx, 0;高位清0divex;做除法操作,商在ax中,余數(shù)在dx中movsi, ax;將高位商給sipopax;被除數(shù)的低十六位出棧divex;做除法操作,商在ax中,余數(shù)在dx中movex, dx;將余數(shù)給exmovdx, si;將高位的商給dxpopsi;si岀棧retshowstr:;寄存器進棧保護pu
13、sh axpush espush bx;將顯存緩沖區(qū)的地址給ax gx將值賦給段寄存器;每行有160個字節(jié);做乘法操作,結(jié)果放在ax中push simov ax, 0b800h mov es, ax;計算顯示的位置 mov al, 160 mul dhmovbx, ax;將結(jié)果給bx,后面要用到axmoval, 2;每個字符在顯存中占兩個字節(jié)muldl;將al里的值與dl里的相乘,結(jié)果默認(rèn)放在里addbx, ax;計算相應(yīng)位置,160*2+30*2moval, cl;將顏色傳給almovcl, 0;準(zhǔn)備exshowl:movch, si;將數(shù)據(jù)段的值取給chjexzshow2;cx=0 則執(zhí)行
14、 show2moves:bx, ch;將ch中數(shù)據(jù)段的值顯示在屏幕上moves:bx+1, al;將字符以該顏色顯示incsi;指針加1,指向下一個addbx, 2;指針加2jmpshowl;直接跳轉(zhuǎn)到showlax;子程序結(jié)束;寄存器逆序出棧show2: popsipopbxpopespopaxretcode ends end start貢 visualstudio命令提zk (2010) debug 1. exeb刖x19d3:0000b8d119mouax,19d119d3:00038ed8mou197516319d3:0005b8c119mou197622719d3:00088ec0m
15、ou1977382919d3:000abb0000mou197813561319d3:000dbe0000mou197923902819d3:0010bf0000mou198080003819d3:0013b91500mou19811600013019d3:0016b602mou19822448622019d3:0018b21emou19835006547619d3:001a51push19849747977819d3:001b52push1985140417100119d3:001c26es:1986197514144219d3:001d8b07mou1987345980225819d3:001f8904mou19885908272793_g19898035304037199011830005635program terninated normally199118430008226k-1992279500011542199337530001443019944649000152571995593700017800六、實驗總結(jié)要學(xué)好匯編語言,實驗是必不可少的環(huán)節(jié)。通過本次實驗,進一步加深了結(jié) 構(gòu)模塊化程序設(shè)計的思想,本實驗中采取將table段中的數(shù)據(jù)轉(zhuǎn)換成data段的 數(shù)據(jù)再將其通過顯存顯示,之前一直不明白為何不直接將ta
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度預(yù)制構(gòu)件鋼筋加工與安裝合同
- 二零二五年度養(yǎng)老機構(gòu)租賃服務(wù)合同
- 2025年度餐飲管理合伙企業(yè)合作協(xié)議書
- 二零二五年度兒童娛樂中心店面租賃協(xié)議模板
- 二零二五年度酒店客房設(shè)施設(shè)備保養(yǎng)與維修合同
- 2025年度網(wǎng)絡(luò)安全技術(shù)顧問聘請合同范本
- 二零二五年度牧草種植基地牧草購買與種植保險協(xié)議
- 2025年度汽修廠汽車維修行業(yè)技術(shù)標(biāo)準(zhǔn)制定與實施勞務(wù)合同
- 2025年貨車掛靠業(yè)務(wù)委托管理合同
- 二零二五年度酒店客房承包經(jīng)營及收益分成協(xié)議
- 變更強制措施的申請書
- 《苗圃生產(chǎn)與管理》教案-第二章 園林苗木的種實生產(chǎn)
- 供電所安全演講
- 供應(yīng)鏈韌性提升與風(fēng)險防范-深度研究
- 2025年陜西延長石油有限責(zé)任公司招聘筆試參考題庫含答案解析
- Excel辦公技巧培訓(xùn)
- 《智能制造技術(shù)基礎(chǔ)》課件-第4章 加工過程的智能監(jiān)測與控制
- 2024年度英語課件容貌焦慮
- 初一家長會課件96108
- 罪犯正常死亡報告范文
- 《企業(yè)文化概述》課件
評論
0/150
提交評論