版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
操作系統(tǒng)原理實驗報告實驗名稱:子程序和宏匯編的程序設(shè)計姓名:學(xué)號:班級:計算機(jī)指導(dǎo)老師:一、實驗內(nèi)容(描述實驗內(nèi)容)控制臺輸入輸出簡單循環(huán)程序設(shè)計3.簡單分支程序設(shè)計4.子程序設(shè)計5.課內(nèi)完成實驗6.課后補充實驗二、實驗?zāi)康模枋鰧嶒災(zāi)康模?、掌握子程序設(shè)計和調(diào)試方法,包括:
1)
掌握主程序與子程序之間的調(diào)用關(guān)系及其調(diào)用方法;
2)
掌握子程序調(diào)用過程中近程調(diào)用與遠(yuǎn)程調(diào)用的區(qū)別;2、掌握DOS調(diào)用功能的輸入輸出設(shè)計方法3、掌握大小轉(zhuǎn)換的設(shè)計方法4、掌握十進(jìn)制數(shù)的計算設(shè)計方法三、實驗原理(描述實驗基本原理)利用編寫匯編程序利用MASM編譯匯編程序利用LINK連接匯編程序利用DEBUG調(diào)試匯編程序四、實驗過程(重點部分,必須包括:實驗開發(fā)環(huán)境、實驗步驟、實驗源程序代碼及其結(jié)構(gòu)分析)環(huán)境:WindowsXPCdb10;初始化內(nèi)存dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovcx,3;循環(huán)次數(shù)moval,XONE:movah,0;高八位清零divCpushax;余數(shù)壓入棧loopONEmovcx,3TWO:popdxxchgdh,dl;把余數(shù)交換到dlordl,30hmovah,2int21h;輸出loopTWO;繼續(xù)循環(huán)movax,4c00hint21hcodeendsendstartmovah,2練習(xí)四:datasegmentYdw0100101010110111BCdw16hexdb'0123456789ABCDEF';初始化內(nèi)存dataendscodesegmentassumeds:data,cs:codestart:movax,datamovds,axmovcx,4;循環(huán)次數(shù)movax,Yone:movdx,0divCpushdx;余數(shù)入棧looponemovcx,4leabx,hextwo:popaxxlat;轉(zhuǎn)換成阿斯克碼movdl,almovah,2int21h;輸出looptwpmovax,4c00hint21hcodeendsendstart練習(xí)五:datasegmentsumdb?;定義總和所在內(nèi)存空間dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovcx,5;循環(huán)次數(shù)movsum,0;總和先清為零begin:movah,1int21h;輸入數(shù)字andal,0fh;轉(zhuǎn)換為十進(jìn)制數(shù)字addsum,al;求和loopbeginmovax,4c00hint21hcodeendsendstart練習(xí)六:datasegmentSUMdb?BUFFERdb6,?,6dup(?);劃出內(nèi)存空間dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axleadx,BUFFERmovah,0ahint21h;輸入5個數(shù)字movSUM,0movcx,BUFFER+1;循環(huán)次數(shù)movbx,offsetBUFFER+2;第一個數(shù)的地址one:moval,[bx]andal,0fh;轉(zhuǎn)換為十進(jìn)制數(shù)addSUM,al;求和incbxlooponemovax,4c00hint21hcodeendsendstart練習(xí)七:datasegmentBUFFERdb6,?,6dup(?)Cdw10Xdw?dataendscodesegmentmovax,datamovds,axleadx,BUFFERmovah,0ahint21h輸入數(shù)字movax,0movcx,offsetBUFFER+1;循環(huán)次數(shù)leabx,BUFFER+2;第一個數(shù)字的地址one:mulCmovdl,[bx];取出一個字符adddl,0fh;轉(zhuǎn)換為二進(jìn)制數(shù)addal,dladcah,0incbxlooponemovX,axmovax,4c00hint21hcodeendsendstart練習(xí)八:datasegmentarraydb20dup(8ah)初始化內(nèi)存dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axleabx,arraymovcx,20;循環(huán)次數(shù)lop:movbyteptr[bx],0;把數(shù)據(jù)重置為0incbxlooplopmovax,4c00hint21hcodeendsendstart練習(xí)九:datasegmentlistdw3,2,4,5,54,24,7,23,89,34;定義數(shù)組sumdw?dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovcx,10;循環(huán)次數(shù)leabx,listmovsum,0;首先置總和為0movax,0lop:movdx,[bx]addax,dxincbxincbx;bx存入下一個數(shù)據(jù)地址looplopmovsum,ax;求和movax,4c00hint21hcodeendsendstart課內(nèi)練習(xí)程序一:
1)利用循環(huán)結(jié)構(gòu)編程,計算28。codesegmentassumecs:codestart:movcx,7;循環(huán)7次movax,2lop:addax,ax;做乘法looplopmovax,4c00hint21hcodeendsendstart練習(xí)二:
2)統(tǒng)計下列字?jǐn)?shù)組BUF子數(shù)據(jù)區(qū)中負(fù)數(shù)個數(shù):
0,8200h,42h,0fffh,1200h,3203h,0c000h,9030h,6800h,10h,08h,222hdatasegmentBUFdw0,8200h,42h,0fffh,1200h,3203h,0c000h,9030h,6800h,10h,08h,222hNUMBERdw0dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovcx,12;循環(huán)次數(shù)movax,0;將ax賦值為0movbx,offsetBUFlop:movdx,[bx]cmpdx,ax;比較每個數(shù)據(jù)與0的大小關(guān)系jzzero;相等則跳轉(zhuǎn)zerocmpdx,axjbfu;小于0即為負(fù)數(shù)jmpzheng;否則為正數(shù)zero:incbxincbxlooplop;下一個循環(huán)jmpdonezheng:incbxincbxlooplop;下一個循環(huán)jmpdonefu:incNUMBER;負(fù)數(shù)計數(shù)器+1incbxincbxlooplopdone:movax,4c00hint21hcodeendsendstart練習(xí)三:
3)編程實現(xiàn)下列功能:使鍵盤輸入的大寫字母轉(zhuǎn)換成小寫字母后輸出。datasegmentstringdb0ah,0dh,'$'dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovah,1int21h;輸入字母movcl,alleadx,stringmovah,9int21haddcl,20h;將大寫轉(zhuǎn)化為小寫movdl,clmovah,2int21h;輸出movax,4c00hint21hcodeendsendstart練習(xí)四:4)將首地址為a的字?jǐn)?shù)組從大到小排序:
a
dw
100,30,78,99,15,-1,66,54,189,256datasegmentadw100,30,78,99,15,-1,66,54,189,256dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovcx,10;大循環(huán)次數(shù)leabx,alop:pushcx;大循環(huán)次數(shù)入棧movcx,8;小循環(huán)次數(shù)lop2:movdx,wordptr[bx]movax,wordptr[bx+2]cmpdx,axjbonejmptwoone:movwordptr[bx],axmovwordptr[bx+2],dx;若前者小于后者,則交換兩者順序two:;否則直接進(jìn)入下一個小循環(huán)incbxincbxlooplop2;小循環(huán)popcxlooplop;大循環(huán)movax,4c00hint21hcodeendsendstart課后練習(xí):練習(xí)一:1)用子程序?qū)崿F(xiàn)。輸入一個字符串,該串以”$”結(jié)束,將該字符串轉(zhuǎn)成大寫后顯示輸出。datasegmentstringdb10,?,10dup(?),'$';劃分出字符串儲存內(nèi)存dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axleadx,stringmovah,0ahint21h;輸入字符串movbx,offsetstringmovcl,[bx+1]movch,0;設(shè)定循環(huán)次數(shù)為字符個數(shù)addbx,2callchange;運行子程序leadx,string+2movah,9int21hmovax,4c00hint21hchange:;子程序andbyteptr[bx],11011111b;無論大小寫、統(tǒng)一改為大寫incbxloopchange;循環(huán)retcodeendsendstart練習(xí)二:
2)設(shè)計一個子程序,可以根據(jù)輸入的N,計算并輸出N的3次方。multiple:movax,bxmulbxmulbxret練習(xí)三:
3)設(shè)計程序。實現(xiàn)Y=2X+3,X是一位十進(jìn)制數(shù)。要求X從鍵盤輸入,在下一行上顯示
‘y=2X+3=’以及十進(jìn)制計算結(jié)果。datasegmentstringdb0dh,0ah,'y=2X+3=','$'dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovah,1int21h;輸入數(shù)字andal,0fh;轉(zhuǎn)化為十進(jìn)制數(shù)字進(jìn)行運算
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 隱睪癥的術(shù)后護(hù)理
- 新生兒常見疾病預(yù)防與護(hù)理
- 江西省九江市2026年第一次高考模擬統(tǒng)一考試英語試題(含答案無聽力原文及音頻)
- 河南省南陽市實驗中學(xué)、南陽市三中教育集團(tuán)等2026屆九年級上學(xué)期2月期末考試道德與法治試卷(含答案)
- 2024年電白縣招教考試備考題庫帶答案解析
- 2024年渤海石油職業(yè)學(xué)院馬克思主義基本原理概論期末考試題帶答案解析
- 2024年黑龍江冰雪體育職業(yè)學(xué)院馬克思主義基本原理概論期末考試題附答案解析(奪冠)
- 2025年廣西英華國際職業(yè)學(xué)院單招職業(yè)技能考試題庫附答案解析
- 2024年遼寧廣告職業(yè)學(xué)院馬克思主義基本原理概論期末考試題帶答案解析(奪冠)
- 2025年新疆警察學(xué)院馬克思主義基本原理概論期末考試模擬題及答案解析(必刷)
- 2026貴州貴陽市安航機(jī)械制造有限公司招聘8人考試重點試題及答案解析
- 大廈無償劃轉(zhuǎn)協(xié)議書
- 貿(mào)易公司組織架構(gòu)與部門職責(zé)一覽表
- 2025年加油站培訓(xùn)數(shù)質(zhì)量標(biāo)準(zhǔn)課件
- 《電梯基本結(jié)構(gòu)》課件
- 兒童發(fā)育遲緩的早期干預(yù)與教育策略
- 刀模管理制度
- 揮發(fā)性有機(jī)物(VOCs)執(zhí)法監(jiān)測能力建設(shè)項目可行性實施方案
- 工程施工月報表
- 鍋爐外部檢驗報告
- GB/T 3098.6-2023緊固件機(jī)械性能不銹鋼螺栓、螺釘和螺柱
評論
0/150
提交評論