版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
計算機(jī)組成與匯編實驗報告班級:姓名:學(xué)號:實驗題一(匯編語言):從鍵盤接受用戶所輸入的不高出20個的0~99的數(shù),在用戶完成輸入后對用戶所輸入的數(shù)據(jù)進(jìn)行排序并輸出。要求定義子程序DATASEGMENTNOTE0DB'Note:ThecharacterthatseparatestheintegerscanbeanyvisibleASCIIexcepttendigits(',27H,'0',27H,'-',27H,'9',27H,').',0DH,0AH,'$'NOTE10DH,0AH,'',0DH,0AHDB'Pleaseinput20(orless)decimalintegers:',0DH,0AH,'$'NOTE20DH,0AH,'',0DH,0AHDB0DH,0AH,'Theinputedintegers:','$'NOTE30DH,0AH,'',0DH,0AHDB0DH,0AH,'Howmanydecimalintegers?$'NOTE4DB0DH,0AH,'Thesortedresult:',0DH,0AH,'$'ERR_STR0DH,0AH,'******************************************************************',0DH,0AHDB'Inputerror!',0DH,0AHCON_STR0DH,0AH,'******************************************************************',0DH,0AHDB0DH,0AH,'Continue?YorN?','$'DEC_STRDB200DB?DB150DUP('$')TOTALDB3DUP('$');用來記錄輸入的數(shù)字個數(shù)DEC_NUMDW30DUP(?);用來存放將輸入的ASCII碼變換成2進(jìn)制數(shù)以便比較的結(jié)果OUT_STRDB150DUP('$');存放待輸出的字符組信息DATAENDSSTACKSEGMENTSTACKSTTDB100DUP(?);貨倉STACKENDSCODESEGMENTMAINPROCFARASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,STACKMOVSS,AXMOVAX,DATAMOVDS,AX;----------------------------------輸出提示信息LEADX,NOTE0MOVAH,09HINT21H
DBDBDBDBDBDISP0:LEADX,NOTE1MOVAH,09HINT21HLEADX,DEC_STR;將原始數(shù)據(jù)存入該空間MOVAH,0AHINT21HMOVAL,BYTEPTR[DEC_STR+2];輸入合法性的標(biāo)志:開頭是數(shù)字也許符號CMPAL,'0'JAECMP1CMPAL,'+'JEDISP2CMPAL,'-'JEDISP2JMPDISP1CMP1:CMPAL,'9'JBEDISP2DISP1:LEADX,ERR_STRMOVAH,09HINT21HCON_YN:MOVAH,01H;程序結(jié)束處咨詢可否需要連續(xù)INT21HCMPAL,'Y'JEDISP0CMPAL,'y'JEDISP0CMPAL,'N'JEOVER0CMPAL,'n'JEOVER0OVER0:JMPOVER;用以結(jié)束程序DISP2:LEADX,NOTE2;將輸入的數(shù)據(jù)輸出以便用戶比較其正確性MOVAH,09HINT21HLEADX,[DEC_STR+2]MOVAH,09HINT21H;==================================COUNTHOWMANYDECIMALINTEGERSLEASI,DEC_STRMOVCL,BYTEPTR[SI+1];CL中存放輸入的總字符數(shù)MOVCH,0PUSHCXMOVAL,0;AL用來計數(shù)數(shù)字個數(shù)LP1:MOVDL,BYTEPTR[SI+2];若是輸入數(shù)字,符號則連續(xù)讀下一位,若是輸入其他字符則AL加,這也是開頭第一個字母不能夠為其他字符的原因CMPDL,'+'JEMOV_PTRCMPDL,'-'JEMOV_PTRCMPDL,'0'JLmov_incCMPDL,'9'Jlemov_ptrMOV_INC:INCALMOV_PTR:INCSILOOPLP1INCALCBW;將AL拓展到AX中MOVDEC_NUM,AX;將2進(jìn)制形式的計數(shù)結(jié)果放入該單元MOVCL,10;除以10后,AL中放的是十位數(shù),AH中放的是個位數(shù)DIVCLADDAX,3030H;加3030H后將十位數(shù)和個位數(shù)分別變換成ASCII碼LEADI,TOTALMOVBYTEPTR[DI],ALMOVBYTEPTR[DI+1],AHMOVBYTEPTR[DI+2],'$';將ASCII形式的計數(shù)結(jié)果放入單元以便輸出LEADX,NOTE3;輸出計數(shù)結(jié)果MOVAH,9INT21hLEADX,TOTAL;小小的辦理使得第一位是0時自動缺省CMP0:MOVBX,DXCMPBYTEPTR[BX],'0'JNEDISPLAYINCDXDISPLAY:MOVAH,9INT21H;==================================ASCIItoDECIMALLEADX,[dec_str+2];從DX指向的單元讀入MOVcx,DEC_NUMLEABX,DEC_NUM;寫進(jìn)BX指向的單元ADDBX,2T1:CALLASC2DEC;調(diào)用ASCII碼變換MOV[BX],AX;將辦理后的數(shù)放入儲蓄單元ADDBX,2ADDDX,SI;DX指向新地址LOOPT1;==================================SortbinarygigitsCALLCOMP;冒泡排序;==================================NOTE4;輸出結(jié)果提示LEADX,NOTE4MOVAH,09HINT21H;==================================DECIMALTOASCII;將排序后的2進(jìn)制數(shù)用ASCII碼表示并打印出來LEABX,DEC_NUMmovcx,DEC_NUMADDBX,2D2A:MOVAX,[BX];讀出二進(jìn)制數(shù)放在AX中CALLDEC2ASC;調(diào)用轉(zhuǎn)變和打印過程MOVDL,'';輸出空格MOVAH,2INT21HADDBX,2;后移LOOPD2ALEADX,CON_STRMOVAH,09HINT21H;咨詢可否連續(xù)JMPCON_YNOVER:MOVAH,4CHINT21HMAINENDP;-----------------------------------ASCIITODECIMALNUMBERASC2DECPROCNEARPUSHBX;入棧保護(hù)PUSHCXPUSHDXMOVAX,0;AX初始為0,采用乘10相加的方式變換MOVSI,DXPUSHSIMOVDL,[SI]CMPDL,'-';若是讀入的是負(fù)數(shù)則置CL為1最后辦理JNEL0MOVCL,1INCSIMOVDL,[SI]JMPL4L0:CMPDl,'+'JNEL1INCSIMOVDL,[SI]L1:MOVCL,0;正數(shù)置CL為0L4:ANDDL,0FHMOVDH,0ADDAX,DXINCSIMOVDL,[SI]CMPDL,'0'JLL2CMPDL,'9'JGL2CALLTIMBY10;調(diào)用乘10進(jìn)度JMPL4L2:CMPCL,1;若是是負(fù)數(shù),對其求反JNEL3NEGAXL3:POPDI;DI出棧SUBSI,DI;SI減去初始地址,計算相對位移量INCSIPOPDXPOPCXPOPBXRETASC2DECENDP;=================================TIMBY10PROCNEARMOVBX,AXSHLAX,1;乘2SHLAX,1;再乘2ADDAX,BX;加一倍,現(xiàn)在相當(dāng)于乘了5SHLAX,1;乘2,總合是乘了10RETTIMBY10ENDP;==================================COMPPROCNEAR;保護(hù)PUSHAXPUSHBXPUSHCXPUSHDIMOVAX,DATAMOVDS,AXLEADI,DEC_NUMMOVCX,wordptr[DI];計數(shù)DECCXC1:MOVDX,CXMOVBH,0C2:ADDDI,2MOVAX,[DI]CMPAX,[DI+2]JLECONT1XCHGAX,[DI+2]MOV[DI],AXMOVBH,1CONT1:LOOPC2CMPBH,0JESTOPMOVCX,DXLEADI,DEC_NUMLOOPC1STOP:LEABX,DEC_NUMMOVAX,[BX+8]POPDIPOPCXPOPBXPOPAXRETCOMPENDP;==================================DEC2ASCPROCPUSHBX;保護(hù)PUSHCXLEADI,OUT_STR;將辦理后的放入DIMOVDX,DICMPAX,0JNENON_0ZERO:MOVBYTEPTR[DI],'0';若是是0MOVBYTEPTR[DI+1],'$'JMPOUT_ASCNON_0:TESTAX,8000H;不是0JZPTIVE;判斷符號,是正號跳轉(zhuǎn)NTIVE:NEGAX;取反MOVBYTEPTR[DI],'-';置負(fù)號JMPCONPTIVE:MOVBYTEPTR[DI],'+';置正號CON:INCDIMOVDX,0MOVCX,10000;萬位IDIVCX;帶符號數(shù)除法ADDAL,30HMOVbyteptr[DI],ALMOVAX,DXMOVDX,0MOVCX,1000IDIVCXADDAL,30H;加30H變成ASCIIMOVbyteptr[DI+1],AL;寫入MOVAX,DXMOVCL,100IDIVCLADDAL,30HMOVbyteptr[DI+2],ALMOVAL,AHMOVAH,0MOVCL,10;十位IDIVCLADDAL,30HMOVBYTEPTR[DI+3],ALADDAH,30HMOVBYTEPTR[DI+4],AH;個位OUT_SIG:LEADI,OUT_STRMOVDL,BYTEPTR[DI]MOVAH,2INT21HINCDIMOVDX,DIB2:CMPBYTEPTR[DI],'0'JNEOUT_ASCINCDIINCDXJMPB2OUT_ASC:MOVAH,09H;打印INT21HPOPCXPOPBXRETDEC2ASCENDP;==================================CODEENDSENDSTART實驗題二(計算機(jī)組成原理):實驗?zāi)康恼莆侦o態(tài)儲藏隨機(jī)儲藏器RAM的工作特點(diǎn)掌握靜態(tài)儲藏隨機(jī)儲藏器RAM的讀寫方法實驗設(shè)備74LS374(一片),74LS245(一片),74LS273(一片),靜態(tài)儲藏器MEMORY6116(一片),8位數(shù)據(jù)排線(一片),脈沖與門(兩片),與非門(一片),單脈沖(三片),開關(guān)若干,燈泡若干。實驗原理總線傳輸實驗框圖以下列圖,它將幾種不同樣的設(shè)備掛至總線上,有儲藏器、輸入設(shè)備、輸出設(shè)備、存放器。這些設(shè)備都需要有三態(tài)輸出控制,依照傳輸要求合適有序的控制它們,即可實現(xiàn)總線信息傳輸。圖總線傳輸實驗框圖總線基本實驗要求以下:依照掛在總線上的幾個基本部件,設(shè)計一個簡單的流程。1)輸入設(shè)備將一個數(shù)輸入R0存放器。2)輸入設(shè)備將另一個數(shù)輸入地址存放器。3)將R0存放器中的數(shù)寫入到當(dāng)前地址的儲藏器中。(4)將當(dāng)前地址的儲藏器中的數(shù)用LED數(shù)碼管顯示。實驗步驟選擇實驗設(shè)備:依照實驗原理圖,將所需要的組件從組件列表中拖到實驗設(shè)計流程欄中。搭建實驗流程:將已選擇的組件進(jìn)行連線(鼠標(biāo)從一個引腳的端點(diǎn)拖動到另一組件的引腳端,即完成連線)。搭建好的實驗流程圖以下列圖。2.初始化各芯片的控制信號,仔細(xì)檢查無誤后點(diǎn)擊【電源開/關(guān)】按鈕接通電源。.實驗的詳盡操作步驟如下圖。第一應(yīng)關(guān)閉所有三態(tài)門(SW-B=1,CS=1,R0-B=1,LED-B=1),并將關(guān)系的信號置為:LDAR=0,LDR0=0,W/R(RAM)=1,W/R(LED)=1。爾后參照以下操作流程,先給數(shù)據(jù)開關(guān)置數(shù),打開數(shù)據(jù)輸出三態(tài)門,開關(guān)LDR0
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026秋招:四川富潤企業(yè)重組投資公司試題及答案
- 信息安全測試員崗前理論綜合考核試卷含答案
- 機(jī)械密封件制造工崗后考核試卷含答案
- 礦壓觀測工班組建設(shè)考核試卷含答案
- 揚(yáng)聲器號筒搟制工7S考核試卷含答案
- 2026暖通工程師校招試題及答案
- 2026內(nèi)蒙古自治區(qū)儲備糧管理公司校招試題及答案
- 2026內(nèi)蒙古林草生態(tài)建設(shè)公司校招試題及答案
- 2026內(nèi)蒙古國有資本運(yùn)營公司招聘試題及答案
- 快遞防燃制度規(guī)范標(biāo)準(zhǔn)
- 英文繪本故事Brown.Bear.Brown.Bear.What.Do.You.See
- (高清版)JTGT 3371-01-2022 公路沉管隧道設(shè)計規(guī)范
- 日語假名的羅馬字打字法及其發(fā)音一覽
- 《如何給未來的自己寫一封信》小學(xué)四五年級語文習(xí)作
- NB-T 20619-2021 壓水堆核電廠放射性廢液處理系統(tǒng)設(shè)計準(zhǔn)則
- 2023年數(shù)學(xué)競賽AMC8試卷(含答案)
- 空調(diào)銅管規(guī)格尺寸及重量計算
- 移動電源規(guī)格書
- 七年級下冊數(shù)學(xué)期末考試試卷共十套
- 餐飲部物品清單
- 康柏西普或雷珠單抗治療近視性脈絡(luò)膜新生血管療效及注射次數(shù)比較
評論
0/150
提交評論