




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 實驗六子程序設(shè)計實驗 一、實驗?zāi)康?1掌握過程調(diào)用指令與過程返回指令的用法; 2掌握主程序與子程序之間的參數(shù)傳送方法; 3掌握調(diào)用子程序時堆棧的變化情況及利用壓棧、出棧保護現(xiàn)場的方法; 4掌握嵌套及遞歸子程序的設(shè)計方法。二、實驗要求 1仔細(xì)閱讀教材中有關(guān)子程序設(shè)計的章節(jié); 2學(xué)會編寫子程序說明文件; 3學(xué)會設(shè)置斷點檢查堆棧指針的變化及堆棧內(nèi)容; 4學(xué)會用DEBUG中的P命令調(diào)試子程序; 5學(xué)會在子程序設(shè)計中保護所用到的存放器。三、實驗內(nèi)容1采用一般子程序設(shè)計方法和遞歸子程序設(shè)計方法,編寫計算Xn的子程序要求:X值與n值由鍵盤輸入,計算結(jié)果以十六進制形式在屏幕上顯示。2編寫程序,完成一位十六進
2、制數(shù)的加、減、乘、除運算。要求:從鍵盤輸入?yún)⒓舆\算的一位十六進制數(shù),運算結(jié)果以十六進制形式在屏幕上顯示,加、減、乘、除運算要用子程序編寫。四、解題思路1對于實驗內(nèi)容1,X值和n的值可以利用INT 21H的1號功能從鍵盤上輸入,計算結(jié)果利用INT 21H的2號功能從鍵盤上輸出??梢杂眠f歸子程序?qū)崿F(xiàn)Xn次冪的計算;2對于實驗內(nèi)容2,鍵盤輸入的數(shù)和運算符號,輸入的運算符號和+,-,*,/比擬,與那個符號相等就轉(zhuǎn)去執(zhí)行相應(yīng)的子程序。子程序的結(jié)果可以都把出口條件設(shè)置為相同的存放器,這樣便于程序輸出結(jié)果。五、編程實現(xiàn)5.1 內(nèi)容1子程序說明文件如下:1子程序名:CIMI;2子程序功能:計算Xn;3入口條件
3、:X的值放在DL中;4出口條件:Xn值在AX中;5受影響的存放器:AX,BX和標(biāo)志存放器F。程序清單如下:DSEG SEGMENTRLT DW 0DSEG ENDSSSEG SEGMENT STACKSKTOP DB 100 DUP(0)SSEG ENDSCSEG SEGMENT ASSUME CS:CSEG ASSUME DS:DSEG ASSUME SS:SSEGSTART: MOV AX,DSEG MOV DS,AX MOV AX,SSEG MOV SS,AX MOV SP,SIZE SKTOP MOV AH,01H;輸入 INT 21H SUB AL,30H MOV DL,AL;保存在
4、DL中 PUSH DX MOV DL,'';輸出符號 MOV AH,02H INT 21H POP DX MOV AH,01H;輸入n INT 21H SUB AL,30H MOV BL,AL;保存n在BL中 XOR BH,BH;BH清零 PUSH DX MOV DL,'=';輸出=號 MOV AH,02H INT 21H POP DX MOV AL,DL;默認(rèn)的入口條件AL存X數(shù)據(jù) CALL CIMI;調(diào)用子函數(shù) MOV RLT,AX;保存結(jié)果在RLT單元 MOV BL,AL;保存結(jié)果便于輸出 MOV BH,AL MOV CL,4 SHR BH,CL MOV
5、DL,BH;輸出結(jié)果高四位 CMP DL,9 JNA SHU1 ADD DL,7SHU1: ADD DL,30H MOV AH,02H INT 21H MOV DL,BL;輸出結(jié)果低四位 AND DL,0FH CMP DL,9 JNA SHU2 ADD DL,7SHU2: ADD DL,30H MOV AH,02H INT 21H MOV AH,4CH INT 21HCIMI PROC NEAR;子程序清單 AND BX,BX JZ CIMI1 DEC BX CALL CIMI;遞歸調(diào)用 MUL DL RETCIMI1: MOV AL,1 RETCIMI ENDPCSEG ENDS END S
6、TART運行結(jié)果如下如圖6-1圖5-1 內(nèi)容1的運行結(jié)果52 實驗內(nèi)容2子程序設(shè)計思路:設(shè)計四個子程序,分別完成兩數(shù)相加、相減、相乘、相除的功能。子程序說明文件1:1子程序名:JIA;2子程序功能:計算兩個數(shù)a,b之和;3入口條件:a的值放在BH中,b的值放在BL中;4出口條件:結(jié)果值在AL中;5受影響的存放器:AX,BX。子程序說明文件2:1子程序名:JIAN;2子程序功能:計算兩個數(shù)a,b之和;3入口條件:a的值放在BH中,b的值放在BL中;4出口條件:結(jié)果值在AL中;5受影響的存放器:AX,BX。子程序說明文件3:1子程序名:CHENG;2子程序功能:計算兩個數(shù)a,b之和;3入口條件:a
7、的值放在AL中,b的值放在BL中;4出口條件:結(jié)果值在AL中;5受影響的存放器:AX,BX。子程序說明文件4:1子程序名:CHU;2子程序功能:計算兩個數(shù)a,b之和;3入口條件:a的值放在AX中,b的值放在BL中;4出口條件:結(jié)果值在AL中;5受影響的存放器:AX,BX。程序清單如下:DSEG SEGMENTRLT DW 0DSEG ENDSSSEG SEGMENT STACKSKTOP DB 100 DUP(0)SSEG ENDSCSEG SEGMENT ASSUME CS:CSEG,DS:DSEG ASSUME SS:SSEGSTART: MOV AX,DSEG MOV DS,AX MOV
8、 AX,SSEG MOV SS,AX MOV SP,SIZE SKTOP MOV AH,01H INT 21H SUB AL,30H MOV BH,AL;輸入第一個數(shù)據(jù)保存在BH中 MOV AH,01H INT 21H MOV CH,AL ;輸入符號保存在CH中 MOV AH,01H INT 21H SUB AL,30H MOV BL,AL ;輸入第二個數(shù)據(jù)保存在BL中 CMP CH,'+' ;輸入的是+轉(zhuǎn) JZ JIA1 CMP CH,'-' ;輸入的是-轉(zhuǎn) JZ JIAN1 CMP CH,'*' ;輸入的是*轉(zhuǎn) JZ CHENG1 CALL
9、CHU ;否那么認(rèn)為是輸入/順序執(zhí)行 JMP OUT1JIA1: CALL JIA JMP OUT1JIAN1: CALL JIAN JMP OUT1CHENG1: CALL CHENG JMP OUT1OUT1: MOV CL,04H MOV BH,AL MOV BL,AL MOV DL,'=';輸出= MOV AH,02H INT 21H SHR BH,CL MOV DL,BH ADD DL,30H;輸出結(jié)果高四位 MOV AH,02H INT 21H AND BL,0FH MOV DL,BL;輸出結(jié)果低四位 ADD DL,30H MOV AH,02H INT 21H MOV AH,4CH INT 21HJIA PROC NEAR;子程序JIA實現(xiàn)兩數(shù)相加 ADD BH,BL MOV AL,BH RETJIA ENDPJIAN PROC NEAR;子程序JIAN實現(xiàn)兩數(shù)相減 SUB BH,BL MOV AL,BH RETJIAN ENDPCHENG PROC NEAR;子程序CHENG實現(xiàn)兩數(shù)相乘 MOV AL,BH MUL BL RETCHENG ENDPCHU PROC NEAR;子程序CHU實現(xiàn)兩數(shù)相除 MOV AL,BH XOR AH,AH DIV BL RETCHU ENDPCSEG ENDS E
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024四川藝術(shù)職業(yè)學(xué)院單招《物理》檢測卷及1套參考答案詳解
- 2024年河北科技學(xué)院輔導(dǎo)員考試真題
- 運動健身常識培訓(xùn)
- 品牌故事培訓(xùn)課件圖片
- 市場調(diào)查與統(tǒng)計分析專業(yè)教學(xué)標(biāo)準(zhǔn)(高等職業(yè)教育??疲?025修訂
- 消防教育培訓(xùn)內(nèi)容
- 新生兒聽力篩查培訓(xùn)
- 中班折紙藝術(shù)課件
- 重癥病毒性肺炎
- 檔案管理工作培訓(xùn)課件
- 電力鐵塔灌注樁施工方案
- 荒山綠化工程建設(shè)項目可行性研究報告
- 北京理工大學(xué)《數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計》2022-2023學(xué)年第一學(xué)期期末試卷
- 高速公路運營公司安全管理
- 【MOOC】電動力學(xué)-同濟大學(xué) 中國大學(xué)慕課MOOC答案
- 礦井通風(fēng)機停電停風(fēng)事故專項應(yīng)急預(yù)案樣本(2篇)
- 醫(yī)療新技術(shù)匯報
- 光伏項目合伙投資協(xié)議書
- 運營崗位轉(zhuǎn)正述職報告
- 員工離職協(xié)議書模板
- 小講課闌尾炎病人的護理護理病歷臨床病案
評論
0/150
提交評論