




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
微機(jī)原理及應(yīng)用習(xí)題庫(kù)硬件應(yīng)用設(shè)計(jì)題匯編語(yǔ)言程序設(shè)計(jì)題匯編語(yǔ)言程序設(shè)計(jì)第32講~第38講0.80.815假設(shè)有一字節(jié)型數(shù)組ARRAY,編寫完整的匯編語(yǔ)言程序求該數(shù)組中負(fù)數(shù)的個(gè)數(shù)。其中,在該數(shù)組的第一個(gè)字節(jié)存放的是數(shù)組中所包含的數(shù)據(jù)的個(gè)數(shù),第二個(gè)字節(jié)用來(lái)存放結(jié)果,即數(shù)組中負(fù)數(shù)的個(gè)數(shù),數(shù)組中的第三個(gè)字節(jié)開始存放的是數(shù)組中的數(shù)據(jù)。1.寫出編程思想;2.編寫完整的源程序。1.編程思想為統(tǒng)計(jì)數(shù)組中負(fù)數(shù)的個(gè)數(shù),需要逐個(gè)判斷數(shù)組中的每個(gè)數(shù)據(jù),然后將所有數(shù)據(jù)中凡是符號(hào)位為1的數(shù)據(jù)的個(gè)數(shù)累加起來(lái),便是數(shù)組中所包含的負(fù)數(shù)的個(gè)數(shù)。2.完整的源程序STACKSEGMENTSTACKDB256DUP(?)STACKENDSDATASEGMENTARRAYDB200DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXLEADI,ARRAYMOVSI,DIMOVCL,[DI]XORCH,CHMOVBL,CHINCDIINCDIAGAIN:TESTBYTEPTR[DI],80HJZPOSIINCBLPOSI:INCDILOOPAGAINMOV[SI]+1,BLMOVAH,4CHINT21HCODEENDSENDSTART匯編語(yǔ)言程序設(shè)計(jì)第32講~第38講0.80.815編一個(gè)完整的匯編語(yǔ)言程序,完成從鍵盤輸入一個(gè)字符,若輸入的是1字符,則在屏幕上顯示你的英文名字;若輸入的是2字符,則在屏幕上顯示你的學(xué)號(hào)。若輸入的不是1或者2字符,則重新輸入。STACKSEGMENTSTACKDB256DUP(?)STACKENDSDATASEGMENTSTRING1DB‘DOYOUWANTTOINPUTSTRING?(Y/N):$’CRLFDB0DH,0AH,’$’STRING2DB‘PLEASEINPUTSTRING.’,0DH,0AH,’$’NAMEDB‘ZHANGSAN.’,0DH,0AH,’$’NUMBERDB‘020701053.’,0DH,0AH,’$’DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXLEADX,STRING1MOVAH,09HINT21HMOVAH,01HINT21HCMPAL,’Y’JEINPUTCMPAL,’y’JNEDONEINPUT:LEADX,CRLFMOVAH,09HINT21HLEADX,STRING2MOVAH,09HINT21HAGAIN:MOVAH,01HINT21HCMPAL,’1’JEDISPNAMECMPAL,’2’JEDISPNUMBERJMPAGAINDISPNAME:LEADX,NAMEMOVAH,09HINT21HJMPDONEDISPNUMBER:LEADX,NUMBERMOVAH,09HINT21HDONE:MOVAH,4CHINT21HCODEENDSENDSTART微機(jī)原理及應(yīng)用匯編語(yǔ)言程序設(shè)計(jì)第32講~第38講0.80.815假設(shè)有一字節(jié)型數(shù)組ARRAY,編寫完整的匯編語(yǔ)言程序求該數(shù)組中小于80H的數(shù)的個(gè)數(shù)。其中,在該數(shù)組的第一個(gè)字節(jié)存放的是數(shù)組中所包含的數(shù)據(jù)的個(gè)數(shù),第二個(gè)字節(jié)用來(lái)存放結(jié)果,數(shù)組中的第三個(gè)字節(jié)開始存放的是數(shù)組中的數(shù)據(jù)。1.寫出編程思想;2.編寫完整的源程序。1.編程思想將數(shù)組中的每個(gè)數(shù)逐個(gè)與80H比較,根據(jù)大小關(guān)系方可統(tǒng)計(jì)出數(shù)組中小于80H的數(shù)的個(gè)數(shù)2.完整的源程序STACKSEGMENTSTACKDB256DUP(?)STACKENDSDATASEGMENTARRAYDB200DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXLEADI,ARRAYMOVSI,DIMOVCL,[DI]XORCH,CHMOVBL,CHINCDIAGAIN:CMPBYTEPTR[DI],80HJAEL1INCBLL1:INCDILOOPAGAINMOV[SI]+1,BLMOVAH,4CHINT21HCODEENDSENDSTART微機(jī)原理及應(yīng)用匯編語(yǔ)言程序設(shè)計(jì)第32講~第38講0.80.815在存儲(chǔ)器DATABUF以下連續(xù)的單元存放著由字符0~9或A~F組成的一串字符(字符個(gè)數(shù)自定義或用其它方法求解),試編寫完整的8086匯編語(yǔ)言程序,將其轉(zhuǎn)換成數(shù)字存回原處。(如某單元的字符為‘1’,即31H,就轉(zhuǎn)換成01H;為‘A’,即41H,就轉(zhuǎn)換成0AH)1.寫出編程思想;2.編寫完整的源程序。1.編程思想將存儲(chǔ)器DATABUF以下連續(xù)的單元中的每個(gè)數(shù)與39H(1字符的ASCLL碼)比較,若該數(shù)小于等于39H,則將該數(shù)減去30H,否則將該數(shù)減去37H,其結(jié)果就是該字符對(duì)應(yīng)的數(shù)字。2.完整的源程序STACKSEGMENTSTACKDB256DUP(?)STACKENDSDATASEGMENTDATABUFDB‘1234ABCDdcsa56’COUNTEQU$-DATABUFDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVSI,OFFSETDATABUFMOVCX,COUNTNEXT:MOVAL,[SI]CMPAL,39HJBEL1L1:SUBAL,30HMOV[SI],ALINCSILOOPNEXTMOVAH,4CHINT21HCODEENDSENDSTART微機(jī)原理及應(yīng)用匯編語(yǔ)言程序設(shè)計(jì)第32講~第38講0.80.815在當(dāng)前數(shù)據(jù)段,偏移地址為DATAB開始的順序80個(gè)單元中,存放著某班80個(gè)同學(xué)某門課考試的成績(jī),編寫程序統(tǒng)計(jì)高于等于90分,80分—89分,70分—79分,60分—69分,低于60分的人數(shù)各為多少,將結(jié)果放在同一數(shù)據(jù)段、偏移地址為BTRX開始的順序單元中。1.寫出編程思想。2.編寫完整的源程序。1.編程思想將偏移地址為DATAB開始的順序80個(gè)單元中的數(shù)分別與90、80、70、60比較,根據(jù)比較的大小關(guān)系就可統(tǒng)計(jì)出高于等于90分,80分—89分,70分—79分,60分—69分,低于60分的人數(shù)。2.完整的源程序STACKSEGMENTSTACKDB256DUP(?)STACKENDSDATASEGMENTDATABDB80DUP(?)BTRXDB5DUP(00H)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVSI,OFFSETDATABMOVDI,OFFSETBTRXXORBX,BXXORDX,DXMOVCX,80NEXT:MOVAL,[SI]JBC80INCBH;≥90分的人數(shù)JMPAAAC80:CMPAL,80JBC70INCBL;≥80分的人數(shù)JMPAAAC70:CMPAL,70JBC60INCDH;≥70分的人數(shù)JMPAAAC60:CMPAL,60JBAAAINCDL;≥60分的人數(shù)JMPAAAAAA:INCSILOOPNEXTMOVAL,80SUBAL,BHSUBAL,BLSUBAL,DHSUBAL,DL;<50分的人數(shù)MOV[DI],BHMOV[DI]+1,BLMOV[DI]+2,DHMOV[DI]+3,DLMOV[DI]+4,ALMOVAH,4CHINT21HCODEENDSENDSTART微機(jī)原理及應(yīng)用匯編語(yǔ)言程序設(shè)計(jì)第32講~第38講0.80.815編寫完整的匯編語(yǔ)言程序,實(shí)現(xiàn)從鍵盤輸入一串字符,并在屏幕上顯示出來(lái)。1.寫出編程思想。2.編寫完整的匯編語(yǔ)言程序。1.編程思想用DOS0AH號(hào)功能完成從鍵盤輸入一串字符,用DOS09H號(hào)功能完成屏幕的顯示。2.完整的匯編語(yǔ)言程序STACKSEGMENTSTACKDB256DUP(?)STACKENDSDATASEGMENTSTRING1DB‘DOYOUWANTTOINPUTSTRING?(Y/N):$’CRLFDB0DH,0AH,’$’STRING2DB‘PLEASEINPUTSTRING.’,0DH,0AH,’$’BUFINDB20HDB?BUFIN1DB20HDUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXLEADX,STRING1MOVAH,09HINT21HMOVAH,01HINT21HCMPAL,’Y’JEINPUTCMPAL,’y’JNEDONEINPUT:LEADX,CRLFMOVAH,09HINT21HLEADX,STRING2MOVAH,09HINT21HLEADX,BUFINMOVAH,0AHINT21HMOVAL,BUFIN+1CBWLEASI,BUFIN+2ADDSI,AXMOVBYTEPTR[SI],’$’LEADX,CRLFMOVAH,09HINT21HLEADX,BUFIN+2INT21HMOVAH,4CHINT21HCODEENDSENDSTART微機(jī)原理及應(yīng)用匯編語(yǔ)言程序設(shè)計(jì)第32講~第38講0.80.815已知有100個(gè)8位無(wú)符號(hào)數(shù)已存放在緩存區(qū)INX中,編寫完整的匯編語(yǔ)言程序,實(shí)現(xiàn)對(duì)這100個(gè)數(shù)據(jù)由高到低排序。1。寫出編程思想。2。編寫完整的匯編語(yǔ)言程序。1.編程思想利用氣泡排序法對(duì)這100個(gè)8位無(wú)符號(hào)數(shù)兩兩進(jìn)行比較,從而完成值的大小從大至小排序。2.完整的匯編語(yǔ)言程序STACKSEGMENTSTACKDB256DUP(?)STACKENDSDATASEGMENTINXDB100DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVCH,100-1B10:LEASI,INXMOVCL,CHB20:MOVAL,[SI]CMPAL,[SI]+1JAEB30XCHGAL,[SI]+1MOV[SI],ALB30:INCSIDECCLJNZB20DECCHJNZB10INT21HCODEENDSENDSTART微機(jī)原理及應(yīng)用匯編語(yǔ)言程序設(shè)計(jì)第32講~第38講0.80.815編寫完整的匯編語(yǔ)言程序,實(shí)現(xiàn)以下功能:從鍵盤輸入一串字符,將其按ASCII碼值的大小從小至大排序,并將排好序的新的字符串輸出到屏幕上顯示出來(lái)。1。寫出編程思想。2。編寫完整的匯編語(yǔ)言程序。1.編程思想用DOS0AH號(hào)功能完成從鍵盤輸入一串字符,利用氣泡排序法對(duì)輸入的字符串中字符兩兩進(jìn)行比較,從而完成按ASCII碼值的大小從大至小排序。對(duì)排好序的新的字符串,用DOS09H號(hào)功能完成屏幕的顯示。2.完整的匯編語(yǔ)言程序STACKSEGMENTSTACKDB256DUP(?)STACKENDSDATASEGMENTSTRING1DB‘DOYOUWANTTOINPUTSTRING?(Y/N):$’CRLFDB0DH,0AH,’$’STRING2DB‘PLEASEINPUTSTRING.’,0DH,0AH,’$’BUFINDB20HDB?BUFIN1DB20HDUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXLEADX,STRING1MOVAH,09HINT21HMOVAH,01HINT21HCMPAL,’Y’JEINPUTCMPAL,’y’JNEDONEINPUT:LEADX,CRLFMOVAH,09HINT21HLEADX,STRING2MOVAH,09HINT21HLEADX,BUFINMOVAH,0AHINT21HMOVAL,BUFIN+1CBWLEASI,BUFIN+2ADDSI,AXMOVBYTEPTR[SI],’$’LEADX,CRLFMOVAH,09HINT21HMOVCH,BUFIN+1DECCHB10:LEASI,BUFIN+2MOVCL,CHB20:MOVAL,[SI]CMPAL,[SI]+1JAEB30XCHGAL,[SI]+1MOV[SI],ALB30:INCSIDECCLJNZB20DECCHJZDISPJMPB10DISP:LEADX,BUFIN+2MOVAH,09HINT21HMOVAH,4CHINT21HCODEENDSENDSTART微機(jī)原理及應(yīng)用匯編語(yǔ)言程序設(shè)計(jì)第32講~第38講0.80.815在首址為DAT的字?jǐn)?shù)組中存放有100個(gè)無(wú)符號(hào)數(shù),求出它們的平均值,并統(tǒng)計(jì)大于、等于及小于此平均數(shù)的個(gè)數(shù)。1.簡(jiǎn)述編程思想,畫出流程圖;2.編寫完整的源程序。1.編程思想先求出100個(gè)無(wú)符號(hào)數(shù)的和,除以100就是平均值;然后用每個(gè)數(shù)與平均值比較就可得出大于、等于及小于此平均數(shù)的個(gè)數(shù)。2.完整的匯編語(yǔ)言程序STACKSEGMENTSTACKDB256DUP(?)STACKENDSDATASEGMENTDATDB100DUP(?)LVELDB0GDATDB0EDATDB0LDATDB0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVCX,100LEASI,DATMOVAX,0L1:ADDAL,[SI]ADCAH,0INCSILOOPL1MOVBL,100DIVBLMOVLVEL,ALMOVCX,100LEASI,DATCMP[SI,ALJADYJEXDINCLDATJMPL2DY:INCGDATJMPL2XD:INCEDATL2:INCSILOOPL1MOVAH,4CHINT21HCODEENDSENDSTART微機(jī)原理及應(yīng)用匯編語(yǔ)言程序設(shè)計(jì)第32講~第38講0.80.815編一個(gè)完整的匯編語(yǔ)言程序,求某數(shù)的絕對(duì)值,并將結(jié)果放回原處。STACKSEGMENTSTACKDB256DUP(?)STACKENDSDATASEGMENTXADRDW3456HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVAX,XADRTESTAX,8000HJNSDONENEGAXMOVXADR,AXMOVAH,4CHINT21HCODEENDSENDSTART微機(jī)原理及應(yīng)用匯編語(yǔ)言程序設(shè)計(jì)第32講~第38講0.80.815編一個(gè)完整的匯編語(yǔ)言程序,完成將以DSRC為首址的連續(xù)的100個(gè)字節(jié)搬家到DDST以下單元。STACKSEGMENTSTACKDB256DUP(?)STACKENDSDATASEGMENTDSRCDB100DUP(?)DDSTDBDUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXLEASI,DSRCLEADI,DDSTMOVCX,100NEXT:MOVAL,[SI]MOV[DI],ALINCSIINCDILOOPNEXTMOVAH,4CHINT21HCODEENDSENDSTART微機(jī)原理及應(yīng)用匯編語(yǔ)言程序設(shè)計(jì)第32講~第38講0.80.815編寫FAR類型子程序?qū)崿F(xiàn)以十六進(jìn)制數(shù)在屏幕上顯示AL的內(nèi)容。1.寫出編程思想。2.編寫完整的源程序。CODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKDISPLAYPROCFARPUSHAXPUSHCXPUSHDXPUSHAXMOVCL,4;處理高位十六進(jìn)制數(shù)SHRAL,CLCALLCHANG;十六進(jìn)制數(shù)變換成ASCII碼MOVAH,02MOVDL,ALINT21H;顯示一位字符POPAXANDAL,0FH;處理低位十六進(jìn)制數(shù)CALLCHANG;十六進(jìn)制數(shù)變換成ASCII碼MOVAH,02MOVDL,ALINT21H;顯示一位字符POPDXPOPCXPOPAXRETDISPALENDPCODEENDSENDDISPLAYMOVAH,4CHINT21HCODEENDSENDSTART微機(jī)原理及應(yīng)用匯編語(yǔ)言程序設(shè)計(jì)第32講~第38講0.80.815編寫FAR類型子程序?qū)崿F(xiàn)統(tǒng)計(jì)一個(gè)字(AX)中“1”的個(gè)數(shù)。1.寫出編程思想。2.編寫完整的源程序。1.編程思想由于AL中有兩位十六進(jìn)制數(shù),每一位的值為0~9、0AH~0FH,在顯示時(shí)需要將它們轉(zhuǎn)換成相應(yīng)的ASCII碼,然后調(diào)用INT21H的02H號(hào)功能進(jìn)行顯示。2.完整的源程序CODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKCOUNTER1PROCNEARPUSHAXMOVCX,16XORBL,BLCOU1:SHRAX,1ADCBL,0LOOPCOU1POPAXRETCOUNTER1ENDPCODEENDSENDDISPLAY微機(jī)原理及應(yīng)用匯編語(yǔ)言程序設(shè)計(jì)第32講~第38講0.80.815設(shè)在BUFFER中已經(jīng)保存有字型數(shù)據(jù)(nxxx,,,21),其中前2個(gè)字節(jié)為數(shù)據(jù)的個(gè)數(shù),計(jì)算數(shù)據(jù)的差分,并保存在DIFF緩沖區(qū)中。1.寫出編程思想。2.編寫完整的源程序。1.編程思想可根據(jù)數(shù)據(jù)的差分定義來(lái)編成計(jì)算,其公式為:)1,,2,1(21-=+=-nkxxdxkkk2.完整的源程序STACKSEGMENTSTACKDB256DUP(?)STACKENDSDATASEGMENTBUFFERDWnDWX1,X2,…,XnDIFFDWn-1DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVSI,BUFFERMOVCX,[SI]ADDSI,2JCXZPROCEND;當(dāng)(CX)=0時(shí),跳過(guò)循環(huán)LEADI,DIFFMOVAX,[SI]ADDSI,2PROC1:ADDAX,[SI]SHRAX,1;完成(AX)÷2操作MOV[DI],AX;保存差分結(jié)果ADDDI,2MOVAX,[SI]ADDSI,2LOOPPROC1MOVAH,4CHINT21HCODEENDSENDSTART微機(jī)原理及應(yīng)用匯編語(yǔ)言程序設(shè)計(jì)第32講~第38講0.80.815字節(jié)型變量VAR1、VAR2和VAR3存放有3個(gè)無(wú)符號(hào)數(shù),將其中的內(nèi)容按從大到小重新排列。1.寫出編程思想。2.編寫完整的源程序。1.編程思想通過(guò)在三個(gè)數(shù)中找出最大值,將它與VAR1單元進(jìn)行交換;然后對(duì)剩余的兩個(gè)數(shù)進(jìn)行比較,將較大值存放在VAR2中。經(jīng)重新排列后,VAR1的值最大,VAR3的值最小。由于變量中存放的數(shù)據(jù)為無(wú)符號(hào)數(shù),因此應(yīng)該采用JA、JAE、JB、JBE等指令。2.完整的源程序STACKSEGMENTSTACK'STACK'DW100HDUP(?)TOPLABELWORDSTACKENDSDATASEGMENTVAR1DB46H;先假設(shè)一組值,以便檢驗(yàn)程序設(shè)計(jì)的正確性VAR2DB15HVAR3DB0A2HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVES,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 木門供采購(gòu)合同范本
- 外貿(mào)采購(gòu)采購(gòu)合同范本
- 上海勞動(dòng)和合同范本
- 專業(yè)修建民宿合同范本
- 買賣分紅合同范本
- 原油進(jìn)口中文合同范例
- 合同范例 關(guān)于附件約定
- 飲品類行業(yè)分析研究報(bào)告
- 大學(xué)英語(yǔ)課程思政策略研究
- 南京租車位合同范本
- 第九屆鵬程杯五年級(jí)數(shù)學(xué)競(jìng)賽初試真題
- 實(shí)驗(yàn)一 外科常用手術(shù)器械課件
- 先天性馬蹄內(nèi)翻足后內(nèi)側(cè)松懈和肌腱移植術(shù)后護(hù)理查房
- 《遙感導(dǎo)論》全套課件
- 七年級(jí)上冊(cè)數(shù)學(xué)應(yīng)用題專項(xiàng)
- 降低混凝土路面裂縫發(fā)生率QC小組資料
- 【教師必備】部編版四年級(jí)語(yǔ)文上冊(cè)第二單元【集體備課】
- 學(xué)習(xí)強(qiáng)國(guó)挑戰(zhàn)答題題庫(kù)1600題
- 2023年已打印自主招生數(shù)學(xué)試題及答案
- 水文地質(zhì)手冊(cè)
- 城鄉(xiāng)居民基本醫(yī)療保險(xiǎn)參保登記表
評(píng)論
0/150
提交評(píng)論