李雨晴實(shí)驗(yàn)五--子程序設(shè)計(jì)實(shí)驗(yàn)

李雨晴實(shí)驗(yàn)五--子程序設(shè)計(jì)實(shí)驗(yàn)

ID:43507676

大小:255.50 KB

頁(yè)數(shù):20頁(yè)

時(shí)間:2019-10-09

李雨晴實(shí)驗(yàn)五--子程序設(shè)計(jì)實(shí)驗(yàn)_第1頁(yè)
李雨晴實(shí)驗(yàn)五--子程序設(shè)計(jì)實(shí)驗(yàn)_第2頁(yè)
李雨晴實(shí)驗(yàn)五--子程序設(shè)計(jì)實(shí)驗(yàn)_第3頁(yè)
李雨晴實(shí)驗(yàn)五--子程序設(shè)計(jì)實(shí)驗(yàn)_第4頁(yè)
李雨晴實(shí)驗(yàn)五--子程序設(shè)計(jì)實(shí)驗(yàn)_第5頁(yè)
資源描述:

《李雨晴實(shí)驗(yàn)五--子程序設(shè)計(jì)實(shí)驗(yàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、實(shí)驗(yàn)五子程序設(shè)計(jì)實(shí)驗(yàn)一、實(shí)驗(yàn)要求和目的1.熟悉匯編語(yǔ)言程序設(shè)計(jì)結(jié)構(gòu);2.熟悉匯編語(yǔ)言子程序設(shè)計(jì)方法;3.熟悉利用匯編語(yǔ)言子程序參數(shù)傳遞方法;4.熟悉匯編語(yǔ)言字符串處理基本指令的使用方法;5.掌握利用匯編語(yǔ)言實(shí)現(xiàn)字符串的輸入輸出程序設(shè)計(jì)方法;6.掌握數(shù)制轉(zhuǎn)換程序?qū)崿F(xiàn)方法。二、軟硬件環(huán)境1、硬件環(huán)境:計(jì)算機(jī)系統(tǒng)windows;2、軟件環(huán)境:裝有MASM、DEBUG、LINK、等應(yīng)用程序。三、實(shí)驗(yàn)涉及的主要知識(shí)A)子程序知識(shí)要點(diǎn):1、掌握子程序的定義語(yǔ)句;過(guò)程名PROC[near/far]過(guò)程體RET過(guò)程名ENDP2

2、.子程序結(jié)構(gòu)形式一個(gè)完整的子程序一般應(yīng)包含下列內(nèi)容:1.)子程序的說(shuō)明部分在設(shè)計(jì)了程序時(shí),要建立子程序的文檔說(shuō)明,使用戶能清楚此子程序的功能和調(diào)用方法.說(shuō)明時(shí),應(yīng)含如下內(nèi)容:.子程序名:命名時(shí)要名中見(jiàn)意..子程序的功能:說(shuō)明子程序完成的任務(wù);.子程序入口參數(shù):說(shuō)明子程序運(yùn)行所需參數(shù)及存放位置;.子程序出口參數(shù):說(shuō)明子程序運(yùn)行結(jié)果的參數(shù)及存放位置;.子程序所占用的寄存器和工作單元;.子程序調(diào)用示例;2、)掌握子程序的調(diào)用與返回在匯編語(yǔ)言中,子程序的調(diào)用用CALL,返回用RET指令來(lái)完成。.段內(nèi)調(diào)用與返回:調(diào)用子程

3、序指令與子程序同在一個(gè)段內(nèi)。因此只修改IP;.段間調(diào)用與返回:調(diào)用子程序與子程序分別在不同的段,因此在返回時(shí),需同時(shí)修改CS:IP。3.)子程序的現(xiàn)場(chǎng)保護(hù)與恢復(fù)保護(hù)現(xiàn)場(chǎng):在子程序設(shè)計(jì)時(shí),CPU內(nèi)部寄存器內(nèi)容的保護(hù)和恢復(fù)。一般利用堆棧實(shí)現(xiàn)現(xiàn)場(chǎng)保護(hù)和恢復(fù)的格式:過(guò)程名PROC[NEAR/FAR]PUSHAXPUSHBX..PUSHDX...POPDX...POPAXRET過(guò)程名ENDP4.子程序的參數(shù)傳遞方法1.寄存器傳遞參數(shù)這種方式是最基本的參數(shù)傳遞方式。2.存儲(chǔ)器單元傳(變量)遞參數(shù)這種方法是在主程序調(diào)用子程序

4、前,將入口參數(shù)存放到約定的存儲(chǔ)單元中;子程序運(yùn)行時(shí)到約定存儲(chǔ)位置讀取參數(shù);子程序執(zhí)行結(jié)束后將結(jié)果也放在約定存儲(chǔ)單元中。3.用堆棧傳遞參數(shù)利用共享堆棧區(qū),來(lái)傳遞參數(shù)是重要的的方法之一。B)字符、字符串輸入輸出知識(shí)要點(diǎn):在實(shí)際應(yīng)用中,經(jīng)常需要從鍵盤輸入數(shù)據(jù)并將結(jié)果等內(nèi)容顯示到屏幕上,方便程序控制及查看結(jié)果。匯編語(yǔ)言的數(shù)據(jù)輸入和輸出分成兩類,一是單個(gè)字符數(shù)據(jù)的輸入輸出,一是字符串?dāng)?shù)據(jù)的輸入輸出。都可以通過(guò)DOS功能調(diào)用來(lái)實(shí)現(xiàn),下面就分別介紹下用來(lái)實(shí)現(xiàn)數(shù)據(jù)輸入輸出的功能調(diào)用的使用方法。1、單個(gè)字符輸入單個(gè)字符輸入可以利

5、用DOS的1號(hào)功能調(diào)用來(lái)完成,使用方法為:MOVAH,1INT21H這兩條語(yǔ)句執(zhí)行后,光標(biāo)會(huì)在屏幕上閃爍,等待輸入數(shù)據(jù),輸入的數(shù)據(jù)以ASCII碼形式存儲(chǔ)在AL寄存器中。2、單個(gè)字符輸出單個(gè)字符輸出可利用DOS2號(hào)功能調(diào)用來(lái)完成,使用方法為:MOVDL,’?’MOVAH,2INT21H單個(gè)字符輸出需要把要輸出字符的ASCII碼放在DL寄存器中。3、字符串輸入從鍵盤輸入一串字符串可以利用DOS的10號(hào)功能調(diào)用來(lái)完成,使用方法為:BUFDB50;預(yù)定義可以輸入的最大字符個(gè)數(shù)DB?;實(shí)際輸入字符個(gè)數(shù),根據(jù)輸入自動(dòng)統(tǒng)計(jì)D

6、B50DUP(?);存放輸入字符串?dāng)?shù)據(jù)緩沖區(qū)LEADX,BUFMOVAH,10INT21H4、字符串輸出字符串輸出可由DOS9號(hào)功能調(diào)用來(lái)完成,使用方法為:STRINGDB‘HELLO$’LEADX,STRINGMOVAH,9INT21HC)表的處理知識(shí)要點(diǎn):表的處理在實(shí)際數(shù)據(jù)處理中應(yīng)用較為廣泛,主要有排序、搜索、插入和刪除等操作。有一些常用的冒泡法、對(duì)分搜索法等需要掌握。四、實(shí)驗(yàn)內(nèi)容與步驟1從鍵盤輸入一串字符串(顯示提示)到內(nèi)存中,在該字符串的某一個(gè)指定位置,插入某一字符或刪除某一字符,并顯示操作后的字符串。

7、2、編寫程序把從鍵盤輸入的四位十六進(jìn)制數(shù),轉(zhuǎn)換為十進(jìn)制形式在屏幕上打印出來(lái)。3、從鍵盤輸入(顯示提示)十個(gè)2位十進(jìn)制數(shù)(正數(shù))到內(nèi)存中,按從小到大排序,然后把該數(shù)以十六進(jìn)制形式在屏幕上打印出來(lái)。4、英文人名排序。從終端鍵入20個(gè)人名,當(dāng)所有人名都鍵入后,按字母上升的次序?qū)⑷嗣判颍⒃谄聊簧巷@示已經(jīng)排好序的人名。注意:以上各題要求用子程序方法實(shí)現(xiàn),每個(gè)題目至少包含2個(gè)子程序。涉及到初始數(shù)據(jù)的,同學(xué)們自行給出多組數(shù)據(jù),反復(fù)加以驗(yàn)證各題程序。五、實(shí)驗(yàn)要求與提示1、實(shí)驗(yàn)要求(1)畫出各程序流程圖;(2)列出程序清單,

8、加上適量注釋;(3)回答思考問(wèn)題;(4)記錄實(shí)驗(yàn)結(jié)果;(5)完成實(shí)驗(yàn)報(bào)告(實(shí)驗(yàn)材料上的內(nèi)容簡(jiǎn)寫,自己的工作要詳盡)。六、實(shí)驗(yàn)過(guò)程與結(jié)果實(shí)驗(yàn)一:(1)程序代碼:(1)程序運(yùn)行與結(jié)果:插入一個(gè)字符的情況:其中l(wèi)ocation是選定插入或刪除的位置‘d’表示刪除,‘a(chǎn)’表示插入Input表示需要插入的字符刪除一個(gè)字符的情況:實(shí)驗(yàn)二:(1)程序代碼:(1)運(yùn)行結(jié)果:實(shí)驗(yàn)三:(1)程序代碼:(1

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。