北郵-微原軟件實驗報告.docx

北郵-微原軟件實驗報告.docx

ID:50388836

大小:137.86 KB

頁數(shù):18頁

時間:2020-03-05

北郵-微原軟件實驗報告.docx_第1頁
北郵-微原軟件實驗報告.docx_第2頁
北郵-微原軟件實驗報告.docx_第3頁
北郵-微原軟件實驗報告.docx_第4頁
北郵-微原軟件實驗報告.docx_第5頁
資源描述:

《北郵-微原軟件實驗報告.docx》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應用文檔-天天文庫

1、微機原理軟件實驗報告學院:信息與通信工程學院班級:班內(nèi)序號:姓名:學號:實驗二分支,循環(huán)程序設計一.實驗目的:1.開始獨立進行匯編語言程序設計;2.掌握基本分支,循環(huán)程序設計;3.掌握最簡單的DOS功能調(diào)用.二.實驗內(nèi)容:1.安排一個數(shù)據(jù)區(qū)(數(shù)據(jù)段),內(nèi)存有若干個正數(shù),負數(shù)和零.每類數(shù)的個數(shù)都不超過9.2.編寫一個程序統(tǒng)計數(shù)據(jù)區(qū)中正數(shù),負數(shù)和零的個數(shù).3.將統(tǒng)計結(jié)果在屏幕上顯示.三.預習題:1.十進制數(shù)0--9所對應的ASCII碼是什么?如何將十進制數(shù)0--9在屏幕上顯示出來?答:0—9對應的ASCII碼是30H—39H;在屏幕上顯示0—9,需要將對應字符的ASCII碼

2、賦給DL,并進行DOS的2號功能調(diào)用,0—9的ASCII碼正是其本身的數(shù)值加上30H。2.如何檢驗一個數(shù)為正,為負或為零?你能舉出多少種不同的方法?答:①用CMP命令和0比較,如果ZF為1,則該數(shù)為零;再用該數(shù)和8000H相與,取出符號位判斷,可區(qū)分正負;②用CMP命令和0比較,結(jié)果不小于0時用JGE命令進行跳轉(zhuǎn),否則為負數(shù);用JGE命令跳轉(zhuǎn)后,如果為0再用JZ命令跳轉(zhuǎn),否則為正數(shù)。四.選作題:統(tǒng)計出正奇數(shù),正偶數(shù),負奇數(shù),負偶數(shù)以及零的個數(shù).五.實驗過程1.流程圖2.源代碼DATASEGMENTNUMDW0,0,1,2,3,4,5,101,-6,-7,-8,-8,-9

3、;有2個0,6個正數(shù),5個負數(shù)NDW($-NUM)/2;該組數(shù)據(jù)的個數(shù)ZDB0;0的個數(shù)PDB0;正數(shù)的個數(shù)PODB0;正奇數(shù)的個數(shù)PEDB0;正偶數(shù)的個數(shù)MDB0;負數(shù)的個數(shù)MODB0;負奇數(shù)的個數(shù)MEDB0;負偶數(shù)的個數(shù)STR0DB'numberofzeros:$';STR0-4為用于顯示的字符串STR1DB0DH,0AH,'numberofpositivenumbers:$'STR2DB0DH,0AH,'numberofnegativenumbers:$'STR3DB0DH,0AH,'odd:$'STR4DB'even:$'DATAENDSSTACKSEGMENT

4、STACKDW100DUP(?)STACKENDSCODESEGMENTASSUMEDS:DATA,SS:STACK,CS:CODESTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AX;初始化DS、SSLEABX,NUM;將NUM中第一個數(shù)字的地址送入BXMOVCX,N;將數(shù)據(jù)個數(shù)送入CXAGAIN:MOVAX,[BX];取出NUM中的第一個數(shù)字CMPAX,0;和0比較JGEPLU;大于等于0時轉(zhuǎn)PLUINCM;負數(shù)的個數(shù)加1TESTAX,1;檢測該數(shù)據(jù)最低位是否為1,即是否為負奇數(shù)JNZMINODD;ZF為0時轉(zhuǎn)MINODD,該數(shù)為負

5、奇數(shù)INCME;負偶數(shù)個數(shù)加1JMPNEXTMINODD:INCMO;負奇數(shù)個數(shù)加1JMPNEXTPLU:JZZER;等于0時轉(zhuǎn)ZERINCP;正數(shù)個數(shù)加1TESTAX,1;檢測該數(shù)據(jù)最低位是否為1,即是否為正奇數(shù)JNZPLUODD;ZF為0時轉(zhuǎn)PLUODD,該數(shù)為正奇數(shù)INCPE;正偶數(shù)個數(shù)加1JMPNEXTPLUODD:INCPO;正奇數(shù)個數(shù)加1JMPNEXTZER:INCZ;零的個數(shù)加1NEXT:ADDBX,2;偏移地址加2,指向下一數(shù)字LOOPAGAIN;CX自減,CX≠0時繼續(xù)循環(huán)DISPLAY:;在屏幕上顯示統(tǒng)計結(jié)果MOVAH,09H;9號功能調(diào)用,顯示字符

6、串MOVDX,OFFSETSTR0;將字符串的首地址的偏移地址送到DX,DS已;是其段基址INT21HMOVAH,02H;2號功能調(diào)用,顯示單個字符MOVDL,Z;將零的個數(shù)送到DLADDDL,30H;0—9數(shù)字本身加上30H即為其ASCII碼INT21HMOVAH,09H;正數(shù)部分統(tǒng)計結(jié)果顯示,原理同上MOVDX,OFFSETSTR1INT21HMOVAH,02HMOVDL,PADDDL,30HINT21HMOVAH,09HMOVDX,OFFSETSTR3INT21HMOVAH,02HMOVDL,POADDDL,30HINT21HMOVAH,09HMOVDX,OFFS

7、ETSTR4INT21HMOVAH,02HMOVDL,PEADDDL,30HINT21HMOVAH,09H;負數(shù)部分統(tǒng)計結(jié)果顯示,原理同上MOVDX,OFFSETSTR2INT21HMOVAH,02HMOVDL,MADDDL,30HINT21HMOVAH,09HMOVDX,OFFSETSTR3INT21HMOVAH,02HMOVDL,MOADDDL,30HINT21HMOVAH,09HMOVDX,OFFSETSTR4INT21HMOVAH,02HMOVDL,MEADDDL,30HINT21HMOVAX,4C00H;返回DOSINT21HC

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。