新編微機原理B實驗指導(dǎo)書學(xué)生版2_第1頁
新編微機原理B實驗指導(dǎo)書學(xué)生版2_第2頁
新編微機原理B實驗指導(dǎo)書學(xué)生版2_第3頁
新編微機原理B實驗指導(dǎo)書學(xué)生版2_第4頁
新編微機原理B實驗指導(dǎo)書學(xué)生版2_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、班級 學(xué)號 姓名 實驗日期 實驗一 兩個多位十進制數(shù)相加實驗一、實驗?zāi)康?熟悉在pc機上建立、匯編、連接、調(diào)試和運行匯編語言程序的過程。2掌握數(shù)據(jù)傳送、算術(shù)運算、bcd碼調(diào)整和循環(huán)指令的用法,掌握字符顯示的方法。3熟悉和掌握用debug調(diào)試程序的方法。二、實驗內(nèi)容1將兩個5位十進制數(shù)相加,要求被加數(shù)(本題選47193)和加數(shù)(本題選28056)均以ascii碼形式各自順序存放在以datal和data2為首的5個內(nèi)存單元中(低位在前),結(jié)果送回以data3為首的5個內(nèi)存單元中(低位在前),并顯示相加的結(jié)果。2將第1題改為(高位在前)的形式存放數(shù)據(jù),程序如何修改?3上述程序只顯示了相加的結(jié)果,沒有

2、顯示被加數(shù)和加數(shù),如果在第1題的基礎(chǔ)上將顯示格式改為471932805675249,則程序如何修改?4上面程序沒有考慮運算結(jié)果最高位有進位的情況,如果考慮可能產(chǎn)生的進位,則要顯示完整的結(jié)果,程序如何修改?(提示:inc和loop指令均不影響cf)三、實驗要求1實驗內(nèi)容1、內(nèi)容2為基礎(chǔ)題,必須做,完成后可得7分。2實驗內(nèi)容3為提高題,完成后可再加2分。3實驗內(nèi)容4為提高題,完成后可再加1分。四、實驗程序和結(jié)果1將兩個5位十進制數(shù)相加,要求被加數(shù)(本題選47193)和加數(shù)(本題選28056)均以ascii碼形式各自順序存放在以datal和data2為首的5個內(nèi)存單元中(低位在前),結(jié)果送回以dat

3、a3為首的5個內(nèi)存單元中(低位在前),并顯示相加的結(jié)果。datasegmentdata1db 33h,39h,31h,37h,34h ;存放被加數(shù)47193,ascii碼形式,低位在前data2db 36h,35h,30h,38h,32h ;存放加數(shù)28056,ascii碼形式,低位在前data3 db 5 dup(?) ;留出5個存放結(jié)果的單元dataendscodesegmentassume cs:code,ds:datastart:mov ax,data mov ds,axmov cx,5 ;循環(huán)次數(shù)置5,5個位要相加5次mov si,0 ;si放地址位移量,每個數(shù)的第一字節(jié)地址位移量為

4、0clc ;cf清0,防止第1個字節(jié)相加時adc指令多加cf中可能的1next:mov al,data1si ;取被加數(shù)一個字節(jié)送al,data1偏移地址si為有效地址adc al,data2si ;al加數(shù)對應(yīng)字節(jié)cf(低位相加時可能的進位)結(jié)果送alaaa ;al中兩字節(jié)相加的和調(diào)整成非壓縮的bcd碼,進位在cf中mov data3si,al ;結(jié)果送入data3對應(yīng)字節(jié)單元中inc si ;地址位移量加1指向高一位字節(jié)單元 loop next ;5次未到,繼續(xù)循環(huán)mov si,5 ;顯示5個位,si中的數(shù)既是循環(huán)次數(shù)又作地址位移量disp:add data3si-1,30h ;將結(jié)果從高

5、位單元開始把非壓縮的bcd碼變成ascii碼 mov dl,data3si-1 ;將ascii碼送dl以滿足2號功能調(diào)用的規(guī)定要求 mov ah,2 ;功能號送ah int 21h ;調(diào)用2號功能,顯示一位數(shù)字 dec si ;次數(shù)減1 jnz disp ;5次未到,繼續(xù)循環(huán) mov ah,4ch ;功能號送ah int 21h ;調(diào)用4ch號功能,返回doscodeends end start運行結(jié)果:752492將第1題改為(高位在前)的形式存放數(shù)據(jù),程序如何修改?(要求給出程序、注釋、運行結(jié)果)五、實驗總結(jié)和體會班級 學(xué)號 姓名 實驗日期 實驗二 字符串匹配實驗一、實驗?zāi)康?掌握提示信息

6、的使用方法及鍵盤輸入字符串的用法。2掌握串操作指令的編程使用方法。二、實驗內(nèi)容1編程實現(xiàn):從鍵盤分別輸入兩個字符串(不必等長),然后進行比較,若兩個字符串有相同的字符,則顯示“match”,若字符都不相同則顯示“no match”。2(選做)編程實現(xiàn):從鍵盤分別輸入兩個字符串,然后進行比較,若兩個字符串的長度和對應(yīng)字符都完全相同,則顯示“match”,否則顯示“no match”。三、實驗程序結(jié)構(gòu)流程圖1編程實現(xiàn):從鍵盤分別輸入兩個字符串(不必等長),然后進行比較,若兩個字符串有相同的字符,則顯示“match”,若字符都不相同則顯示“no match”。宏定義回車換行,0dh回車0ah換行,用

7、2號功能調(diào)用數(shù)據(jù)段開始。定義字符串match、no match、輸入串1提示、輸入串2提示定義用0ah號功能調(diào)用輸入字符串1和字符串2的存放緩沖區(qū),包括最大個數(shù)、實際個數(shù)和字符串緩沖區(qū)。數(shù)據(jù)段結(jié)束定義堆棧段(建議不使用組合類型),開辟50個字節(jié)堆??臻g代碼段開始。assume程序開始,ds、es、ss裝入,sp賦初值用9號功能調(diào)用顯示輸入字符串1的提示用0ah號功能調(diào)用輸入字符串1宏調(diào)用回車換行用9號功能調(diào)用顯示輸入字符串2的提示用0ah號功能調(diào)用輸入字符串2宏調(diào)用回車換行方向標志置成按增址方向操作si指向字符串1首地址取出字符串1實際個數(shù)送cx用堆棧保護cxdi指向字符串2首地址取出字符串2

8、實際個數(shù)送cx從字符串1中將si所指單元的字符取出送al串搜索,不相等則重復(fù)找到了相同的字符嗎?si加1指向字符串1中下一個字符從堆棧恢復(fù)cx字符串1中的字符都取完了嗎?用9號功能調(diào)用顯示no match用9號功能調(diào)用顯示match返回dos代碼段結(jié)束。程序匯編結(jié)束ynyn4、 實驗程序和結(jié)果1編程實現(xiàn):從鍵盤分別輸入兩個字符串(不必等長),然后進行比較,若兩個字符串有相同的字符,則顯示“match”,若字符都不相同則顯示“no match”。(要求給出程序、注釋、運行結(jié)果)五、實驗總結(jié)和體會班級 學(xué)號 姓名 實驗日期 實驗四 從鍵盤輸入數(shù)據(jù)并顯示實驗一、實驗?zāi)康?掌握鍵盤輸入字符的方法和十六

9、進制數(shù)字字符的ascii碼轉(zhuǎn)換為二進制數(shù)的原理。2掌握子程序定義和調(diào)用的方法。3掌握循環(huán)移位指令的用法和無符號數(shù)比較大小的方法。二、實驗內(nèi)容 從鍵盤上輸入4位十六進制數(shù),將其轉(zhuǎn)換為16位二進制數(shù)并在顯示器上顯示出來。要求輸入的數(shù)字字符串以回車鍵結(jié)束。如果輸入的數(shù)字超過4個,則以最后輸入的4個為準。若按下的鍵不是十六進制數(shù)字字符,則顯示出錯信息。三、實驗原理提示從鍵盤上輸入的十六進制數(shù)字字符進入計算機后并不是相應(yīng)的十六進制數(shù)或二進制數(shù),而是與字符對應(yīng)的ascii碼,現(xiàn)要找出ascii碼與該數(shù)字對應(yīng)的二進制數(shù)之間的關(guān)系。關(guān)系如下:十六進制數(shù)字字符字符對應(yīng)的ascii碼數(shù)字對應(yīng)的二進制數(shù)0 930h

10、 39hascii碼 - 30ha f41h 46hascii碼 - 37ha f61h 66hascii碼 - 57h六、實驗總結(jié)和體會四、實驗程序結(jié)構(gòu)流程圖宏定義回車換行代碼段開始。assume定義堆棧段數(shù)據(jù)段開始。定義輸入十六進制數(shù)提示信息,帶回車換行定義輸入出錯提示信息,不帶回車換行。數(shù)據(jù)段結(jié)束程序開始,ds、ss裝入,sp賦初值要顯示的位數(shù)16送cx顯示輸入十六進制數(shù)提示信息bl送dldl加30h變?yōu)閍scii碼,顯示這1位調(diào)用接收鍵入數(shù)字子程序getnum,返回時bx中是4位十六進制數(shù)對應(yīng)的16位二進制數(shù)bx向左小循環(huán)1次,將最高位循環(huán)移位到最低位屏蔽dl高7位返回dos16位都顯

11、示完了嗎?ny 子程序getnum:過程定義開始是回車鍵嗎?(0dh)用1號功能調(diào)用從鍵盤接收一個字符ascii碼30h嗎?ascii碼39h嗎?ascii碼41h嗎?bx邏輯左移4次al30hal57hal37hascii碼46h嗎?ascii碼61h嗎?ascii碼66h嗎?al加到bl中顯示輸入出錯提示信息過程定義結(jié)束。代碼段結(jié)束。程序匯編結(jié)束宏調(diào)用回車換行子程序返回yyyyyyynnnnnnn五、實驗程序和結(jié)果(要求給出程序、注釋、運行結(jié)果)班級 學(xué)號 姓名 實驗日期 實驗六 計數(shù)器/定時器8253和并行接口8255綜合實驗一、實驗?zāi)康?掌握8253定時原理和初始化方法。2掌握8255并行輸入輸出原理和初始化方法。3掌握定時器8253和并行接口8255的綜合應(yīng)用設(shè)計技術(shù)。二、實驗內(nèi)容 用8253定時1秒鐘,“時間到”信號可由8255端口的一個位檢測得到。在8255的另一個端口連接8個發(fā)光二極管,則可實現(xiàn)每隔1秒鐘循環(huán)點亮1個燈。還可以在825

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論