匯編語言上機(jī)實(shí)驗(yàn)四2015李中_第1頁
匯編語言上機(jī)實(shí)驗(yàn)四2015李中_第2頁
匯編語言上機(jī)實(shí)驗(yàn)四2015李中_第3頁
匯編語言上機(jī)實(shí)驗(yàn)四2015李中_第4頁
匯編語言上機(jī)實(shí)驗(yàn)四2015李中_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)報(bào)告課 程:匯編語言程序設(shè)計(jì)專業(yè)班級:計(jì)算機(jī)科學(xué)與技術(shù)學(xué) 號:姓 名:李中實(shí)驗(yàn)四 分支結(jié)構(gòu)程序設(shè)計(jì)實(shí)驗(yàn)一、 實(shí)驗(yàn)?zāi)康?、 掌握分支結(jié)構(gòu)程序設(shè)計(jì)的基本設(shè)計(jì)方法2、 掌握條件轉(zhuǎn)移指令和無條件轉(zhuǎn)移指令的使用方法3、 掌握指令對標(biāo)志寄存器中個標(biāo)志位的影響情況4、 掌握多分支結(jié)構(gòu)程序設(shè)計(jì)的方法,樹型結(jié)構(gòu)法和地址常數(shù)表法二、實(shí)驗(yàn)要求1、學(xué)會使用DEBUG中的T命令,跟蹤執(zhí)行程序2、學(xué)會使用DEBUG中的P命令對INT指令的跟蹤方法3、學(xué)會利用設(shè)置斷點(diǎn)調(diào)試程序的方法三、實(shí)驗(yàn)內(nèi)容1、編寫程序。從鍵盤接收字符,判斷該字符是否為字母、數(shù)字或非字母也非數(shù)字類字符。若為字母,則在屏幕上顯示“L”;若為數(shù)字,則在屏

2、幕上顯示“D”;若為非字母也為非數(shù)字,則在屏幕上顯示“O”。2、編寫程序。已知DATAX和DATAY單元各存放一個帶符號字節(jié)數(shù)據(jù),從鍵盤上接受加(+)、減(-)、乘(*)或除(/)號,完成相應(yīng)運(yùn)算,結(jié)果在屏幕上顯示出來。(1)當(dāng)輸入“+”號時,計(jì)算X+Y,并以十六進(jìn)制形式顯示出來;(2)當(dāng)輸入“-”號時,計(jì)算X-Y,并以十六進(jìn)制形式顯示出來(3)當(dāng)輸入“*”號時,計(jì)算X*Y,并以十六進(jìn)制形式顯示出來(4)當(dāng)輸入“/”號時,計(jì)算X/Y,并以十六進(jìn)制形式顯示出來3、編寫程序。從鍵盤輸入若干個任意字符,如果是小寫字母az之間的字符,請將它們轉(zhuǎn)換成相應(yīng)的大寫字母;若為其他字符,則保持不變,將轉(zhuǎn)換后的新

3、字符保存在指定的存儲單元中。四、解題思路首先將問題進(jìn)行情況大致分類,逐一進(jìn)行思考并編寫程序。然后進(jìn)行匯總,找到鏈接方式,最后編寫程序。五、編程實(shí)現(xiàn)1、DSEG SEGMENTDSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART:MOV AX,DSEGMOV DS,AXMOV AH,01H;輸入字符INT 21HMOV BL,30HCMP AL,BLJAE ABZJMP OTHER ;小于30H,為其他字符ABZ:MOV BL,39HCMP BL,ALJAE NUM ;30H和39H之間,為數(shù)字MOV BL,41HCMP AL,BLJAE ABBA J

4、MP OTHER ;大于39H卻小于41H,為其他字符ABBA: MOV BL,5AHCMP BL,ALJAE LETTER ;在a和z之間,為字母MOV BL,61HCMP AL,61HJAE ABSA JMP OTHER ;大于z,小于A,為其他字符ABSA:MOV BL,7AHCMP BL,ALJAE LETTER ;在A和Z之間,為字母JMP OTHER;大于Z,為其他字符LETTER:MOVDL,'L'JMP END1NUM:MOV DL,'D'JMP END1OTHER:MOV DL,'O'JMP END1END1:MOV AH,02

5、HINT 21HMOV AH,4CHINT 21HCSEG ENDS END START編輯:匯編:鏈接:運(yùn)行:調(diào)試:T命令和P命令結(jié)合使用:2. DSEG SEGMENTDATAXDB4DATAY DB -2HTABDB'0123456789ABCDEF'DSEG ENDSCSEG SEGMENTASSUME CS:CSEG,DS:DSEGSTART:MOV AX,DSEGMOV DS,AXMOV CH,DATAXMOV CL,DATAYMOV AH,01H;輸入字符INT 21HMOV BH,'+'CMP BH,ALJE PADDMOVBH,'-&#

6、39;CMP BH,ALJE PSUBMOV BH,'*'CMP BH,ALJE PMULMOV BBH,'/'CMP BH,ALJE PDIVMOV DL,ALJMP PRINTPADD:ADD CH,CLMOV DL,CHJMP PRINTPSUB:SUB CH,CLMOV DL,CHJMP PRINTPMUL:MOV AL,CHIMUL CLMOV DL,ALJMP PRINTPDIV:XOR AX,AXMOV AL,CHIDIV CLMOV DL,ALJMP PRINTPRINT:MOV AL,DL ;運(yùn)算結(jié)果在DL中,復(fù)制到AL中MOV CH,DL ;

7、運(yùn)算結(jié)果復(fù)制到CH中MOV CL,4 SHR AL,CL ;低4位移走,剩下高4位LEA BX,HTABXLAT MOV DL,AL ;輸出高4位MOV AH,02HINT 21HAND CH,0FH ;留下低4位,掩碼MOV AL,CHXLAT MOV DL,AL ;輸出低4位MOV AH,02HINT 21HMOV DL,'H' ;輸出HMOV AH,02HINT 21HMOV AH,4CHINT 21HCSEG ENDS END START編輯:匯編:鏈接:運(yùn)行:調(diào)試:T命令和P命令結(jié)合使用:3、DSEG SEGMENTRLT DB9 DUP (?)DSEG ENDSCS

8、EG SEGMENTASSUME CS:CSEG,DS:DSEGSTART:MOV AX,DSEGMOV DS,AXMOV DI,0MOV CH,10MOV CL,1INPUT:CMP CH,CLJE END1 MOV AH,01H;輸入字符INT 21HMOV BL,61HCMP AL,BLJAE ABSADEC CHJMP INPUTABSA:MOV BL,7AHCMP BL,ALJAE CHANGEDEC CHJMP INPUTCHANGE:SUBAL,20HJMP SAVESAVE:MOV RLTDI,ALINC DIDEC CHJMP INPUT END1:MOV AH,4CHINT 21HCSEG ENDS END START編輯:匯編:鏈接:運(yùn)行:調(diào)試:T命令和P命令結(jié)合使用六、實(shí)驗(yàn)總結(jié)1、每一種情況符合的條件下,將繼續(xù)執(zhí)行,而不是直接跳到程序的末尾。因?yàn)檫@個問題,我耽誤了好長時間,不斷的調(diào)試。實(shí)驗(yàn)課上,老師的提醒,讓我恍然大悟,終于解決了這個問題。2、在使用DEBUG調(diào)試工具是,T命令單步跟蹤執(zhí)行,遇到調(diào)用程序時,會跳轉(zhuǎ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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論