




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn)1簡單匯編語言程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康呐c要求1 .熟悉匯編語言運(yùn)行、調(diào)試環(huán)境及方法。2 .掌握簡單匯編語言程序的設(shè)計(jì)方法。3 .熟悉調(diào)試工具DEBUG ,并運(yùn)用DEBUG工具調(diào)試程序。二、實(shí)驗(yàn)內(nèi)容根據(jù)下列要求,編寫匯編源程序,匯編連接匯編源程序,并利用 DEBUG工具 調(diào)試程序,驗(yàn)證程序的正確性。1 .若X、Y、R、W 是存放8位帶符號(hào)數(shù)字節(jié)單元的地址,Z是16位字單元的地址。試編寫匯編程序,完成Z (W X) 5 Y) (R 2) o2 .試編寫一個(gè)程序,測(cè)試某數(shù)是否是奇數(shù)。如該數(shù)是奇數(shù),則把 DL的第0位置1,否則將該位置00三、實(shí)驗(yàn)報(bào)告要求1 .程序算法流程圖。2 .源程序清單。3 .程
2、序運(yùn)行結(jié)果。4 .調(diào)試過程中遇到的問題和解決的方法。實(shí)驗(yàn)2分支及循環(huán)程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康呐c要求1 .熟悉匯編語言運(yùn)行、調(diào)試環(huán)境及方法。2 .掌握分支程序和循環(huán)程序的設(shè)計(jì)方法。3 .熟悉調(diào)試工具DEBUG ,并運(yùn)用DEBUG工具調(diào)試程序。二、實(shí)驗(yàn)內(nèi)容根據(jù)下列要求,編寫匯編源程序,匯編連接匯編源程序,并利用 DEBUG工具調(diào) 試程序,驗(yàn)證程序的正確性。1 .編寫匯編程序,統(tǒng)計(jì)某存儲(chǔ)區(qū)若干個(gè)數(shù)據(jù)中英文字母的個(gè)數(shù),并將結(jié)果在屏幕 上顯示。2 .從鍵盤任意輸入一組字符數(shù)據(jù),請(qǐng)編寫匯編程序?qū)⒃摻M數(shù)據(jù)加密后在屏幕上顯 示。參考加密方法是:每個(gè)數(shù)乘以2。(說明:本題的加密方法,同學(xué)們可以自 己擬定)三、實(shí)驗(yàn)報(bào)
3、告要求1 .程序算法流程圖。2 .源程序清單。3 .程序運(yùn)行結(jié)果。4 .調(diào)試過程中遇到的問題和解決的方法。實(shí)驗(yàn)3子程序程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康呐c要求1 .熟悉匯編語言運(yùn)行、調(diào)試環(huán)境及方法。2 .掌握子程序的設(shè)計(jì)方法。3,熟悉調(diào)試工具DEBUG ,并運(yùn)用DEBUG工具調(diào)試程序。二、實(shí)驗(yàn)內(nèi)容根據(jù)下列要求,編寫匯編源程序,并利用 DEBUG工具調(diào)試程序,驗(yàn)證程序的正 確性。1 .編程以十進(jìn)制形式和十六進(jìn)制形式顯示 AX的內(nèi)容,并把兩個(gè)顯示功能分別封 裝成子程序dispDEC和dispHEX。2 .設(shè)在以EXAMSCORE為首地址的數(shù)據(jù)緩沖區(qū)依次存放某班10名同學(xué)5門功課 的成績,現(xiàn)要統(tǒng)計(jì)各位同學(xué)的總分,
4、并將總分放在該學(xué)生單科成績后的單元,并調(diào)用第1個(gè)程序封裝好的子程序,以十進(jìn)制方式顯示統(tǒng)計(jì)情況,顯示格式自行設(shè) 計(jì)。請(qǐng)編程完成此功能。數(shù)據(jù)緩沖區(qū)參考數(shù)據(jù)定義如下:EXAMSCORE DB 01 ;學(xué)號(hào)DB 89,76,54,77,99 ;單科成績DW ?;該學(xué)生的總分DB 02 ;學(xué)號(hào)DB 79,88,64,97,92 ;單科成績DW ?;該學(xué)生的總分三、實(shí)驗(yàn)報(bào)告要求1 .程序算法流程圖。2 .源程序清單。3 .程序運(yùn)行結(jié)果。4 .調(diào)試過程中遇到的問題和解決的方法。實(shí)驗(yàn)4綜合程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康呐c要求1 .熟悉匯編語言運(yùn)行、調(diào)試環(huán)境及方法。2 .掌握匯編語言程序的設(shè)計(jì)方法。3 .熟悉調(diào)試工具DE
5、BUG ,并運(yùn)用DEBUG工具調(diào)試程序。二、實(shí)驗(yàn)內(nèi)容根據(jù)下列要求,編寫匯編源程序,并利用 DEBUG工具調(diào)試程序,驗(yàn)證程序的正 確性。1.編寫匯編程序接收用戶從鍵盤鍵入的月份數(shù),在終端上顯示該月的英文縮寫 名。當(dāng)用戶按下ESC鍵時(shí),程序退出,返回DOS。參考程序執(zhí)行過程如下:month ?5 / MAY month ?9/ SEP month ?2 .按15行X 16列的表格形式顯示ASCII碼為10HFFH的所有字符。每16個(gè)字符 為一行,每行中的相鄰兩個(gè)字符之間用空白符(ASCII碼為0)分隔。3 .在第2題程序的基礎(chǔ)上進(jìn)行修改。將顯示表格的行、列數(shù)由固定的15行16列改為由用戶從鍵盤輸入
6、。然后,按用戶輸入的行列值進(jìn)行顯示。4 .編寫匯編程序?qū)?nèi)存數(shù)據(jù)區(qū)保存的若干個(gè)帶符號(hào) 16位數(shù)據(jù)按從大到小的順序 排列后,以十進(jìn)制真值的形式在屏幕上顯示。三、實(shí)驗(yàn)報(bào)告要求1 .程序算法流程圖。2 .源程序清單。3 .程序運(yùn)行結(jié)果。4 .調(diào)試過程中遇到的問題和解決的方法。1.1* DATA SEGMENTx DB 3y DB 1 z dw ?w db 23r db 6DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX mov al,w sub al,x cbw mov bl,5 idiv bl sub
7、al,y mov bl,r add bl,2 imul bl mov z,axMOV AH,4CHINT 21HCODE ENDSEND START1.2* DATA SEGMENTx db 63y db ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX mov al,x shr dl,1 shr al,1rcl dl,1mov y,dlMOV AH,4CHINT 21HCODE ENDSEND START2.1*DATA SEGMENTSTRING DB 'g3tRfdtf TR34
8、39;MESSAGEONE DB 'Please input the number of string(<10):$MESSAGETWO DB 'The number of string is:$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXmov ah,9mov dx,offset messageone int 21hMOV AH,1INT 21HMOV BL,ALMOV DL,10MOV AH,2INT 21HSUB BL,30HCBWMOV CX,BXMOV AL,
9、0MOV BX,OFFSET STRINGBEGIN:MOV DL,BXCMP DL,'a'JB RECMP DL,'z'JA REINC ALRE:INC BXLOOP BEGINADD AL,30Hmov bl,almov ah,9mov dx,offset messagetwo int 21hMOV DL,BLMOV AH,2INT 21HMOV AH,4CHINT 21HCODE ENDSEND START2.2* DATA SEGMENTMAXLEN DB 32ACTLEN DB ?STRINGONE DB 32 DUPSTRINGTWO DB 32
10、DUPMESSAGEONE DB 'Please input the string(<31):$'MESSAGETWO DB 'The encryptic string is:$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START:MOV AX,DATAMOV DS,AX mov ah,9 mov dx,offset messageone int 21hMOV DX,OFFSET MAXLENMOV AH,0AHINT 21HSUB CH,CHMOV CL,ACTLENADD DX,2MOV BX,DXMOV
11、 BP,OFFSET STRINGTWOMOV DL,10MOV AH,2INT 21HBEGIN:MOV DL,BXSUB DL,20H MOV BP,DLINC BXINC BPLOOP BEGINmov AL,'$'MOV BP,ALmov ah,9mov dx,offset messagetwo int 21hMOV AH,9MOV DX,OFFSET STRINGTWOINT 21HMOV AH,4CHINT 21HCODE ENDSEND START3.1*CODE SEGMENTMAIN PROC FARASSUME CS:CODESTART:PUSH DSSUB
12、 AX,AXPUSH AXMOV AX,0101111010010101BCALL DISPDECCALLCRLFCALL DISPHEXRETMAIN ENDPDISPDEC PROC NEARPUSH AXPUSH BXPUSH CXPUSH DXPUSHFMOV BX,AXMOV CX,10000DCALL DEC_DIVMOV CX,1000DCALL DEC_DIVMOV CX,100DCALL DEC_DIVMOV CX,10DCALL DEC_DIV MOV CX,1D CALL DEC_DIV POPF POP DX POP CX POP BX POP AX RETDEC_DI
13、V PROC NEAR MOV AX,BX MOV DX,0 DIV CX MOV BX,DX MOV DL,AL ADD DL,30H MOV AH,2 INT 21H RETDEC_DIV ENDP DISPDEC ENDPDISPHEX PROC NEARPUSH AX PUSH BX PUSH CX PUSH DX PUSHF MOV BX,AX MOV CH,4 MOV CL,4ROTATE:ROL BX,CL MOV AL,BL AND AL,0FH ADD AL,30H CMP AL,3AH JL PRINTIT ADD AL,7HPRINTIT:MOV DL,AL MOV AH
14、,2 INT 21HDEC CHJNZ ROTATEPOPFPOP DXPOP CXPOP BXPOP AXRET DISPHEX ENDPCRLF PROC NEAR PUSH AX PUSH DX MOV DL,0AH MOV AH,2 INT 21H POP DXPOP AX RETCRLF ENDPCODE ENDSEND START3.2*DATA SEGMENTEXAMSCORE DB 01DB 89,76,54,77,99DB 02DB 79,88,64,97,92DB 03DB 43,45,67,87,98DB 04DB 76,65,27,76,98DB 05DB 67,78,
15、23,87,87DATA ENDSCODE SEGMENTMAIN PROC FARASSUME CS:CODE,DS:DATASTART:PUSH DSSUB AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV CX,5MOV BX,OFFSET EXAMSCORERE:INC BXCALL SUMCALL DISPDECCALLCRLFADD BX,2LOOP RERETMAIN ENDPSUM PROC NEARPUSH CXPUSH DXPUSHFMOV AX,0MOV CX,5BEGAIN:MOV DL,BXMOV DH,0ADC AX,DXINC BXLOOP
16、BEGAINMOV BX,AXPOPFPOP DXPOP CXRETSUM ENDPDISPDEC PROC NEARPUSH AXPUSH BXPUSH CXPUSH DXPUSHFMOV BX,AXMOV CX,10000DCALL DEC_DIVMOV CX,1000DCALL DEC_DIVMOV CX,100DCALL DEC_DIVMOV CX,10DCALL DEC_DIVMOV CX,1DCALL DEC_DIVPOPFPOP DXPOP CXPOP BXPOP AXRETDEC_DIV PROC NEARMOV AX,BXMOV DX,0DIV CXMOV BX,DXMOV
17、DL,ALADD DL,30HMOV AH,2INT 21HRETDEC_DIV ENDPDISPDEC ENDPCRLF PROC NEARPUSH AXPUSH DXMOV DL,0AHMOV AH,2INT 21HPOP DXPOP AXRETCRLF ENDPCODE ENDSEND START實(shí)驗(yàn) 3 擴(kuò)展 *.*data segmentstring。db 'error!$'stringl db 'input dec number:$' string2 db 'input hex number:$' string301 db '
18、output dec number(1):$ string302 db 'output dec number(2):$ X DB 5 DUPstring4 db 'output hex number:$' data ends.* ;* ;CODE SEGMENTMAIN PROC FARASSUME CS:CODE,DS:DATA START:PUSH DSSUB AX,AXPUSH AXMOV AX,DATAMOV DS,AXCALL KEY_DECCALL CRLFCALL DISPDECCALLCRLFCALL DISPDECZCALLCRLFCALL DISPH
19、EXCALLCRLFCALL KEY_HEXCALLCRLFCALL DISPDECCALLCRLFCALL DISPDECZCALLCRLFCALL DISPHEXRETMAIN ENDP.* ;:*;輸入十進(jìn)制數(shù)并用二進(jìn)制存儲(chǔ)在BX KEY_DEC PROC NEARPUSH AXPUSH CXPUSH DXPUSHFREERR:MOV DX,OFFSET STRING1MOV AH,9INT 21HMOV BX,0DEC_RE:MOV AH,1INT 21HCMP AL,0DHJE DEC_EXITSUB AL,30HJL DEC_ERRCMP AL,9JG DEC_ERRCBWXCHG
20、 AX,BXMOV CX,10MUL CXXCHG AX,BXADD BX,AXJMP DEC_REDEC_ERR:CALL ERRORJMP REERRDEC_EXIT:POPFPOP DXPOP CXPOP AXRETKEY_DEC ENDP.* ;*;輸入十六進(jìn)制數(shù)并用二進(jìn)制存儲(chǔ)在B>eKEY_HEX PROC NEARPUSH AXPUSH CXPUSH DXPUSHFHEX_REERR:MOV DX,OFFSET STRING2MOV AH,9INT 21HMOV BX,0 HEX_RE:MOV AH,1INT 21HCMP AL,0DHJE HEX_EXITSUB AL,30
21、HJL HEX_ERRCMP AL,0AH JL NEXT SUB AL,7 CMP AL,0AH JL HEX_ERR CMP AL,10H JL NEXT SUB AL,20H CMP AL,0AH JL HEX_ERR CMP AL,10H JNL HEX_ERR NEXT:MOV CL,4SHL BX,CLMOV AH,0ADD BX,AXJMP HEX_RE HEX_ERR:CALL ERRORJMP HEX_REERR HEX_EXIT:POPFPOP DXPOP CXPOP AX RET KEY_HEX ENDP .* ;* ;用十進(jìn)制輸出BX二進(jìn)制的數(shù)方法DISPDEC PRO
22、C NEAR PUSH AX PUSH BX PUSH CX PUSH DX PUSHFMOV DX,OFFSET STRING301 MOV AH,9 INT 21HMOV CX,10000D CALL DEC_DIV MOV CX,1000D CALL DEC_DIV MOV CX,100D CALL DEC_DIV MOV CX,10D CALL DEC_DIV MOV CX,1D CALL DEC_DIV POPFPOP DX POP CX POP BX POP AX RET DEC_DIV PROC NEARMOV AX,BXMOV DX,0 DIV CX MOV BX,DX MOV
23、 DL,AL ADD DL,30H MOV AH,2 INT 21H RETDEC_DIV ENDP DISPDEC ENDP .* ;* ;用十進(jìn)制輸出BX二進(jìn)制的數(shù)方法二 DISPDECZ PROC NEARPUSH AX PUSH BXPUSH CXPUSH DXPUSHFMOV DX,OFFSET STRING302MOV AH,9INT 21HMOV AX,BXmov BX,0 dispdecz_re:MOV DX,0MOV CX,10DDIV CXMOV XBX,DLINC BXcmp ax,0JNE DISPDECZ_RE dispdecz_next:CMP BX,0JE DIS
24、PDECZ_EXITDEC BXMOV DL,XBXADD DL,30HMOV AH,2INT 21HJMP DISPDECZ_NEXT DISPDECZ_EXIT:POPFPOP DXPOP CXPOP BXPOP AXRETDISPDECZ ENDP .* ;* ;用十六進(jìn)制輸出BX二進(jìn)制數(shù) DISPHEX PROC NEARPUSH AXPUSH CXPUSH DXPUSHFMOV DX,OFFSET STRING4MOV AH,9INT 21HMOV CH,4MOV CL,4ROTATE:ROL BX,CLMOV AL,BLAND AL,0FHADD AL,30HCMP AL,3AHJ
25、L PRINTITADD AL,7HPRINTIT:MOV DL,ALMOV AH,2INT 21HDEC CHJNZ ROTATEPOPFPOP DXPOP CXPOP AXRETDISPHEX ENDP.* ;* ;輸出換行符CRLF PROC NEARPUSH AXPUSH DXMOV DL,0AHMOV AH,2INT 21HMOV DL,0DHMOV AH,2INT 21HPOP DXPOP AXRETCRLF ENDP.* ;* ;輸出錯(cuò)誤提示ERROR PROC NEARPUSH AXPUSH DXPUSHFCALL CRLFMOV DX,OFFSET STRING0MOV AH
26、,9 INT 21HCALLCRLFPOPFPOP DXPOP AXRETERROR ENDP.* ;* ;CODE ENDSEND START4.1*DATA SEGMENTMONTH DB'JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DE C'NUM DB 2 DUPSTRONE DB 'month?',10,$STRTWO DB 'month ERROR!',10,'$'DA
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度車輛抵押給個(gè)人質(zhì)押貸款合同:豪華轎車使用權(quán)協(xié)議
- 2025年度特種車輛拖車與吊裝作業(yè)服務(wù)合同
- 二零二五年度旅游居間協(xié)議合同服務(wù)項(xiàng)目解析
- 二零二五年度泳池安全知識(shí)培訓(xùn)免責(zé)協(xié)議
- 二零二五年度空調(diào)銷售與節(jié)能改造升級(jí)合同
- 二零二五年度餐飲管理公司員工培訓(xùn)與用工合同
- 高速公路排水溝施工合同(2025年度)包含臨時(shí)道路修復(fù)服務(wù)
- 2025年度銷售人員商業(yè)秘密保護(hù)及保密補(bǔ)償協(xié)議
- 二零二五年度傳媒行業(yè)勞動(dòng)合同終止及競(jìng)業(yè)限制協(xié)議范本
- 2025年度道路養(yǎng)護(hù)承包合同解除書
- 大象版四年級(jí)下冊(cè)《科學(xué)》全套教學(xué)課件
- 安徽毛坦廠實(shí)驗(yàn)中學(xué)2025屆高三11月期中考試英語+答案
- 期末考試質(zhì)量分析教學(xué)成績匯報(bào)模板
- 學(xué)校招生預(yù)約與咨詢服務(wù)
- 核心素養(yǎng)導(dǎo)向下的小學(xué)語文跨學(xué)科學(xué)習(xí)研究
- 塑料包裝知識(shí)培訓(xùn)課件
- 古法拓印(非遺課程)
- 湖南省長沙市2024年七年級(jí)上學(xué)期期末數(shù)學(xué)試卷【附答案】
- 護(hù)苗行動(dòng)課件
- 《人工授精雞》課件
- 內(nèi)蒙古自治區(qū)商品房買賣合同(現(xiàn)售)示范文本
評(píng)論
0/150
提交評(píng)論