東北大學(xué)匯編上機(jī)實(shí)驗(yàn)_第1頁
東北大學(xué)匯編上機(jī)實(shí)驗(yàn)_第2頁
東北大學(xué)匯編上機(jī)實(shí)驗(yàn)_第3頁
東北大學(xué)匯編上機(jī)實(shí)驗(yàn)_第4頁
東北大學(xué)匯編上機(jī)實(shí)驗(yàn)_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 實(shí)驗(yàn)六子程序設(shè)計(jì)實(shí)驗(yàn) 一、實(shí)驗(yàn)?zāi)康?1掌握過程調(diào)用指令與過程返回指令的用法; 2掌握主程序與子程序之間的參數(shù)傳送方法; 3掌握調(diào)用子程序時(shí)堆棧的變化情況及利用壓棧、出棧保護(hù)現(xiàn)場(chǎng)的方法; 4掌握嵌套及遞歸子程序的設(shè)計(jì)方法。二、實(shí)驗(yàn)要求 1仔細(xì)閱讀教材中有關(guān)子程序設(shè)計(jì)的章節(jié); 2學(xué)會(huì)編寫子程序說明文件; 3學(xué)會(huì)設(shè)置斷點(diǎn)檢查堆棧指針的變化及堆棧內(nèi)容; 4學(xué)會(huì)用DEBUG中的P命令調(diào)試子程序; 5學(xué)會(huì)在子程序設(shè)計(jì)中保護(hù)所用到的存放器。三、實(shí)驗(yàn)內(nèi)容1采用一般子程序設(shè)計(jì)方法和遞歸子程序設(shè)計(jì)方法,編寫計(jì)算Xn的子程序要求:X值與n值由鍵盤輸入,計(jì)算結(jié)果以十六進(jìn)制形式在屏幕上顯示。2編寫程序,完成一位十六進(jìn)

2、制數(shù)的加、減、乘、除運(yùn)算。要求:從鍵盤輸入?yún)⒓舆\(yùn)算的一位十六進(jìn)制數(shù),運(yùn)算結(jié)果以十六進(jìn)制形式在屏幕上顯示,加、減、乘、除運(yùn)算要用子程序編寫。四、解題思路1對(duì)于實(shí)驗(yàn)內(nèi)容1,X值和n的值可以利用INT 21H的1號(hào)功能從鍵盤上輸入,計(jì)算結(jié)果利用INT 21H的2號(hào)功能從鍵盤上輸出??梢杂眠f歸子程序?qū)崿F(xiàn)Xn次冪的計(jì)算;2對(duì)于實(shí)驗(yàn)內(nèi)容2,鍵盤輸入的數(shù)和運(yùn)算符號(hào),輸入的運(yùn)算符號(hào)和+,-,*,/比擬,與那個(gè)符號(hào)相等就轉(zhuǎn)去執(zhí)行相應(yīng)的子程序。子程序的結(jié)果可以都把出口條件設(shè)置為相同的存放器,這樣便于程序輸出結(jié)果。五、編程實(shí)現(xiàn)5.1 內(nèi)容1子程序說明文件如下:1子程序名:CIMI;2子程序功能:計(jì)算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,'';輸出符號(hào) 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,'=';輸出=號(hào) 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運(yùn)行結(jié)果如下如圖6-1圖5-1 內(nèi)容1的運(yùn)行結(jié)果52 實(shí)驗(yàn)內(nèi)容2子程序設(shè)計(jì)思路:設(shè)計(jì)四個(gè)子程序,分別完成兩數(shù)相加、相減、相乘、相除的功能。子程序說明文件1:1子程序名:JIA;2子程序功能:計(jì)算兩個(gè)數(shù)a,b之和;3入口條件:a的值放在BH中,b的值放在BL中;4出口條件:結(jié)果值在AL中;5受影響的存放器:AX,BX。子程序說明文件2:1子程序名:JIAN;2子程序功能:計(jì)算兩個(gè)數(shù)a,b之和;3入口條件:a的值放在BH中,b的值放在BL中;4出口條件:結(jié)果值在AL中;5受影響的存放器:AX,BX。子程序說明文件3:1子程序名:CHENG;2子程序功能:計(jì)算兩個(gè)數(shù)a,b之和;3入口條件:a

7、的值放在AL中,b的值放在BL中;4出口條件:結(jié)果值在AL中;5受影響的存放器:AX,BX。子程序說明文件4:1子程序名:CHU;2子程序功能:計(jì)算兩個(gè)數(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;輸入第一個(gè)數(shù)據(jù)保存在BH中 MOV AH,01H INT 21H MOV CH,AL ;輸入符號(hào)保存在CH中 MOV AH,01H INT 21H SUB AL,30H MOV BL,AL ;輸入第二個(gè)數(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實(shí)現(xiàn)兩數(shù)相加 ADD BH,BL MOV AL,BH RETJIA ENDPJIAN PROC NEAR;子程序JIAN實(shí)現(xiàn)兩數(shù)相減 SUB BH,BL MOV AL,BH RETJIAN ENDPCHENG PROC NEAR;子程序CHENG實(shí)現(xiàn)兩數(shù)相乘 MOV AL,BH MUL BL RETCHENG ENDPCHU PROC NEAR;子程序CHU實(shí)現(xiàn)兩數(shù)相除 MOV AL,BH XOR AH,AH DIV BL RETCHU ENDPCSEG ENDS E

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論