大連理工大學(xué)計(jì)算機(jī)原理習(xí)題4答案_第1頁(yè)
大連理工大學(xué)計(jì)算機(jī)原理習(xí)題4答案_第2頁(yè)
大連理工大學(xué)計(jì)算機(jī)原理習(xí)題4答案_第3頁(yè)
大連理工大學(xué)計(jì)算機(jī)原理習(xí)題4答案_第4頁(yè)
大連理工大學(xué)計(jì)算機(jī)原理習(xí)題4答案_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、大連理工大學(xué)計(jì)算機(jī)原理習(xí)題口答案習(xí)題4:請(qǐng)編寫(xiě)完整匯編程序:1D內(nèi)存中以BUF單元開(kāi)始存放8個(gè)16位二進(jìn)制數(shù),試編程將0個(gè)數(shù)倒序后存放于BUF開(kāi)始的單元,試編程;(提示:釆用堆棧實(shí)現(xiàn))datasegmentparabufdw0001h,0002h,0003h,0004h,0005h,0006h,0007h,0008hdataendsssgsegmentstackdb256dup(0)ssgendscodesegmentassumecs:code,ds:data,ss:ssgmainprocfarmovax,datamovds,axmovbx,0movcx,8a:pushbufbxaddbx,2

2、loopamovcx,8leabx,bufb:popbufbxaddbx,2loopbmovax,4c00hint21hmainendpcodeendsendmain亦管理負(fù):C:TmdovsVsystBaiSZVcBd.exe一t4LgI.ex00000110一一一一一一=一一一一二_一czsopa-Id8ilc12050MXab060600000008996060cBCD000012222600005555Xiippsss5dsdbsdesc.al,alCPU8048620pe1l=imowax,iC0021intacacaccs:0024*B8004Css:W28E52ss:01fifi

3、C8B8bx+si1.al;bx*si.a.bx1si.bxsiadd1000020000D0000C000079-BDF22222,alacacacbx+si1,al加+si1.a;.bx1sibx+sialalBinaddacacac0000000000000000BD0000.0000礬5100:淞0000蠹0000菸:0000:.620000000060H0flfi組7300fflmMUmMUCSmMUmMUCSTd,8-J400:=:=:0000:;:cJs0n001811(1s=N=u:f:HtiflH:H:1Itl曹n=2將8個(gè)16位無(wú)符號(hào)數(shù)相加,結(jié)果保存在32位無(wú)符號(hào)數(shù)SUM中

4、;datasegmentparabufdw0001h,0002h,0003h,0004h,0005h,0006,0007h,0008hsumdd0dataendsssgsegmentstackdb256dup(0)ssgendscodesegmentassumecs:code,ds:data,ss:ssgmainprocfarmovax,datamovds,axleabx,bufmovcx,8a:movax,bxcwdaddwordptrsum,axadcwordptrsum+2,dxaddbx,2loopamovax,4c00hint21hmainendpcodeends-Inxendmai

5、n武管理員:C:YTiudoTsVsysteB32ca4.eze-tdL2.ezFilmEditViEwRunBfEekpointsDeteOptiGnsWindow二CPU80486cs:0000cs:0009cs:0005cs:0009cs:000Ccs:000Ecs:000Fcs:0019cs:0017cs:001RB8C8528ED88D1E0000B90800mi99010610001116120089C902E2F0dJucdowdddoax,52C8ds,axbx,0000CX,0008ax,bx0010,ax0012,dxbx,0002000C一810-00cs:001CB80

6、04CJuJuOutdnd1aax,4C0021bx+si,al001C00000CBCD000012222000005555Xi1ppiZisssdsdbsdescczsopaid154000209700000000000006A-80000002=tliH號(hào)ss:01028E52ss:0100C8B8若內(nèi)存單元中存放的數(shù)據(jù)為7FH,則在屏幕上顯示+127,若內(nèi)存單元存放的數(shù)據(jù)為OFFH,則應(yīng)在屏幕上顯示-1;datasegmentparavardb7FHstrdbtheresultis:$dataendsssgsegmentstackdb256dup(O)ssgendscodesegmen

7、tassumecs:code,ds:data,ss:ssgmainprocfarmovax,datamovds,axleadx,strmovah,O9hint21hmovdl,+cmpvar,Ojgs1movdl,-negvars1:movah,02hint21hmoval,varmovbl,10movcx,0s2:andah,0divblpushaxinccxcmpal,0jnzs2s3:popaxmovdl,ahadddl,30hmovah,02hint21hloops3movax,4c00hint21hmainendpcodeendsendmainC:asnC:asntho3.exeth

8、eresultis:+127|C:asn4從鍵盤(pán)輸入一個(gè)4位十進(jìn)制數(shù),然后以16進(jìn)制形式顯示在屏幕上,試編程;例如:輸入1024在屏幕上應(yīng)該顯示0400HDATASEGMENTSTR1DBINPUTDATA:$BUFDB20DB4DB4DUP(?)STR2DB0AH,0DH,THERESULTIS:,$DATAENDSSS_SEGSEGMENTSTACKDB100DUP(0)SS_SEGENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:SS_SEGSTART:MOVAX,DATAMOVDS,AXLEADX,STR1MOVAH,09HINT21HMOVAH,0AHL

9、EADX,BUFINT21HMOVCX,03HLEASI,BUF+2ANDBX,0HMOVDL,0AHLOP1:MOVAL,SISUBAL,30HPUSHCXLOP2:MULDLLOOPLOP2POPCXADDBX,AXINCSILOOPLOP1ANDCH,00HMOVCL,SISUBCL,30HADDBX,CXLEADX,STR2MOVAH,09HINT21HMOVAX,BXANDCH,00HMOVCL,04HMOVDH,04HMOVDL,00HAAA1:ANDAX,000FHPUSHAXDECDHINCDLSHRBX,CLMOVAX,BXCMPDH,0JAAAA1MOVCL,DLBBB:P

10、OPDXCMPDL,09HJBNEXTADDDL,07HNEXT:ADDDL,30HMOVAH,2INT21HLOOPBBBMOVDL,HMOVAH,02HINT21HMOVAX,4C00HINT21HCODEENDSENDSTARTC:llsersJldministpatorcdnC:asnho4-eKeTHEFESIJLIIS:0400HC:asm_5數(shù)據(jù)段中存放有一個(gè)無(wú)符號(hào)字?jǐn)?shù)據(jù)VAR,將其轉(zhuǎn)換成非壓縮格式的BCD碼,存于BUF開(kāi)始的單元中(高位在前);例如:若VAR為0800H,則轉(zhuǎn)換后(BUF)=20H(BUF+1)=48HDATASEGMENTPARAVARDW0800HBUFDB

11、2DUP(0)DATAENDSSS_SEGSEGMENTSTACKDW100DUP(0)SS_SEGENDSCODESEGMENTPARAASSUMECS:CODE,DS:DATA,SS:SS_SEGSTART:MOVAX,DATAMOVCX,16MAIN1:SHLVAR,1MOVBX,4PUSHCXMOVCX,5MAIN2:MOVAL,BUFBXADCAL,ALAAAMOVBUFBX,ALDECBXLOOPMAIN2POPCXLOOPMAIN1EXIT:MOVAX,4C00HINT21HCODEENDSENDSTART6內(nèi)存中以strl和str2開(kāi)始分別存放了兩個(gè)字符串,結(jié)束符為NULL(A

12、SCII碼為0),將str2連接到strl后,形成1個(gè)字符串,并將連接后的字符串str1輸出到屏幕上;DATASEGMENTSTR1DBGOODMORNING,00HSTRDB50DUP(0)STR2DBMrWANG!,0AH,0DH,00HDATAENDSSS_SEGSEGMENTSTACKDW100DUP(0)SS_SEGENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:SS_SEGSTART:MOVAX,DATAMOVDS,AXLEASI,STR1MOVAL,SICMPAL,00HJEJP1JP2:INCSIMOVAL,SICMPAL,00HJAJP2JP1

13、:MOVCX,01HLEABX,STR2MOVAH,BXCMPAH,00HJEJP3MOVSI,AHJP4:INCSIINCBXINCCXMOVAH,BXMOVSI,AHCMPAH,00HJAJP4JP3:INCSIMOVSI,BYTEPTR$LEADX,STR1MOVAH,09HINT21HMOVAX,4C00HINT21HCODEENDSENDSTARTC:asmho.exeHELLO,MrUANGf7統(tǒng)計(jì)10個(gè)有符號(hào)字節(jié)數(shù)中,大于0、小于0、等于0的個(gè)數(shù),分別存放在NUM1、NUM2、NUM3三個(gè)變量中,并找出最大值、最小值分別存放到MAX、MIN變量中,再求10個(gè)數(shù)的和,將結(jié)果存放到1

14、6位有符號(hào)數(shù)SUM中。DATASEGMENTNUMDB0F0H,03H,0B4H,0AH,0AAH,00H,80H,7FH,99H,21HCOUNTEQU($-NUM)ORG0010HNUM1DB0NUM2DB0NUM3DB0MINDB0MAXDB0SUMDW0DATAENDSSS_SEGSEGMENTSTACKDW100DUP(0)SS_SEGENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:SS_SEGSTART:MOVAX,DATAMOVDS,AXLEASI,NUMMOVCX,COUNTMOVBX,0000HMOVDX,0000HLOP:MOVAL,SIIN

15、CSICMPAL,0JGDAJLXIAOJEDENGDA:INCBHJMPAAA1XIAO:INCBLJMPAAA1DENG:INCDHAAA1:LOOPLOPLEASI,NUM1MOVSI,BHLEASI,NUM2MOVSI,BLLEASI,NUM3MOVSI,DHMOVCX,COUNT-1MAIN1:LEABX,NUMPUSHCXMAIN2:MOVAL,BXINCBXCMPAL,BXJLENEXTXCHGAL,BXMOVBX-1,ALNEXT:LOOPMAIN2POPCXLOOPMAIN1LEASI,MINMOVAL,NUMMOVSI,ALLEASI,MAXMOVBL,NUM+9MOVSI

16、,BLMOVSI,OFFSETNUMMOVCX,COUNTMOVAX,0LOP2:ANDBX,0MOVBL,SIADDAX,BXINCSILOOPLOP2LEASI,SUMMOVSI,AXMOVAX,4C00HINT21HCODEENDSENDSTART8若程序的數(shù)據(jù)段定義如下,寫(xiě)出各指令語(yǔ)句獨(dú)立執(zhí)行后的結(jié)果。DSEGSEGMENTDATA1DB10H,20H,30HDATA2DW10DUP(?)StringDB123DSEGENDSMOVAL,DATA1MOVBX,offsetDATA2LEASI,StringADDDI,SI答10H-ALDATA2代表的首地址賦給BXString代表的首地

17、址賦給BXSI+DI-DI9假設(shè)數(shù)據(jù)項(xiàng)定義如下:DATA1DBHELLO!GOODMORNINGDATA2DB20DUP(?)用串操作指令編寫(xiě)程序段,使其分別完成一下功能。從左到右將DATA1中的字符串傳送到DATA2中;LEASI,DATA1LEADI,DATA2MOVCX,20CLDREPMOVSB傳送完后,比較DATA1和DATA2中的內(nèi)容是否相同;LEASI,DATA1LEADI,DATA2MOVCX,20CLDREPECMPSB把DATA1中的第3個(gè)字節(jié)和第四個(gè)字節(jié)裝AAX;LEASI,DATA1ADDSI,2LODSW將AX的內(nèi)容存入DATA2+5開(kāi)始的字節(jié)單元中;LEADI,DA

18、TA2ADDDI,5STOSW10執(zhí)行下列指令后,AX寄存器中的內(nèi)容是多少?TABLEDW10,20,30,40,50ENTRYDW3MOVBX,OffsetTABLEADDBX,ENTRYMOVAX,BXAX=1400H11圖示以下數(shù)據(jù)段在存儲(chǔ)器中的存放形式;,34H,07H,09HDATA2DW2DUP(42H)DATA3DBHELLO!DATA4EQU12DATA5DDABCDHDATAENDS10H34H07H09H42H00H42H00H48H45H4CH4CH4FH21HCDHABH00H00H12DATASEGMENTDATA1DBABCDEFGDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAAAAA:MOVAX,DATAMOVDS,AXMOVBX,OFFSETDATA1MOVCX,7NEXT:MOVAH,2MOVAL,BXXCHGAL,DLINCBXINT21HLOOPNEXTMOVAH,4CHINT21HCODEENDSENDAAAA此程序功能為:輸出字符串AB

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論