實(shí)驗(yàn)二二進(jìn)制轉(zhuǎn)換為BCD碼_第1頁
實(shí)驗(yàn)二二進(jìn)制轉(zhuǎn)換為BCD碼_第2頁
實(shí)驗(yàn)二二進(jìn)制轉(zhuǎn)換為BCD碼_第3頁
實(shí)驗(yàn)二二進(jìn)制轉(zhuǎn)換為BCD碼_第4頁
實(shí)驗(yàn)二二進(jìn)制轉(zhuǎn)換為BCD碼_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、得分教師簽名批改日期深 圳 大 學(xué) 實(shí) 驗(yàn) 報(bào) 告課程名稱: 微機(jī)原理及應(yīng)用 實(shí)驗(yàn)名稱: 二進(jìn)制到BCD轉(zhuǎn)換 學(xué)院: 物理科學(xué)與技術(shù)學(xué)院 組號: 指導(dǎo)教師: 李雄軍 報(bào)告人: 學(xué)號: 實(shí)驗(yàn)地點(diǎn):科技樓302 實(shí)驗(yàn)時(shí)間: 實(shí)驗(yàn)報(bào)告提交時(shí)間: 教務(wù)處制1、實(shí)驗(yàn)要求:將AX中的一個(gè)二進(jìn)制數(shù)(對應(yīng)的十進(jìn)制數(shù)范圍是0-65535),轉(zhuǎn)換成壓縮性BCD碼表示的十進(jìn)制,并從屏幕輸出轉(zhuǎn)換結(jié)果。要求用減法實(shí)現(xiàn),并比較與除法方法進(jìn)行運(yùn)行速度比較。2、實(shí)驗(yàn)?zāi)康模海?)進(jìn)一步熟練掌握8086匯編語言編譯調(diào)試工具和環(huán)境的操作;(2)掌握完整8086匯編的程序設(shè)計(jì)編寫方法;(3)掌握簡單的數(shù)值碼制轉(zhuǎn)換方法;(4)掌握鍵盤

2、輸出的DOS功能調(diào)用方法。3、實(shí)驗(yàn)說明:計(jì)算機(jī)中的數(shù)值有各種表達(dá)方式,這是計(jì)算機(jī)的基礎(chǔ)。掌握各種數(shù)制、碼制之間的轉(zhuǎn)換是一種基本功;利用DOS功能調(diào)用實(shí)現(xiàn)在屏幕上顯示字符或數(shù)字的方法是本課程的基本要求之一。以下是五位數(shù)的除法和減法的轉(zhuǎn)換方法程序框圖: 除法 減法五、實(shí)驗(yàn)源程序:除法實(shí)現(xiàn):ATA SEGMENT ; 數(shù)據(jù)段RESULT_1 DB 0 RESULT_2 DB 0 RESULT_3 DB 0 RESULT_4 DB 0RESULT_5 DB 0 DATA ENDSSTACK SEGMENT STACK ; 堆棧段 STA DB 64 DUP(0); 開辟100單元作為堆??臻gSTACK

3、_TOP DB 0STACK ENDSCODE SEGMENT ; 代碼段 ASSUME CS:CODE , DS:DATA , ES:DATA , SS:STACK START: MOV AX, DATA MOV DS, AX ; 設(shè)置數(shù)據(jù)段 MOV AX, STACK MOV SS, AX ; 設(shè)置堆棧段 LEA SP, STACK_TOP ; 設(shè)置棧頂指針 MOV AX, 6234H ; 被轉(zhuǎn)換的數(shù)先放入AX中 MOV CX, 10000 DIV CX MOV RESULT_1, AL ; 除以 100, 得百位數(shù) MOV AX, DX MOV DX, 0 MOV CX,1000 DIV

4、 CX MOV RESULT_2, AL MOV AX, DX MOV DX, 0 MOV CX,100 DIV CX ; 余數(shù)除以 10, 得十位數(shù),存入RESULT_2 MOV RESULT_3, AL MOV AX, DX MOV DL, 0 MOV CL,10 DIV CL MOV RESULT_4, AL MOV RESULT_5, AH ; 余數(shù)為個(gè)位數(shù),存入RESULT_3 MOV AX,4C00H ; 返回DOS(兩句) INT 21H ; CODE ENDS END START ; 最后一行要按回車鍵減法實(shí)現(xiàn):; multi-segment executable file t

5、emplate.DATA SEGMENT ; 數(shù)據(jù)段RESULT_1 DB 1 RESULT_2 DB 1 RESULT_3 DB 1RESULT_4 DB 1RESULT_5 DB 1 DATA ENDSSTACK SEGMENT STACK ; 堆棧段 STA DB 64 DUP(0)STACK_TOP DB 0STACK ENDSCODE SEGMENT ; 代碼段 ASSUME CS:CODE , DS:DATA , ES:DATA , SS:STACK START: ; 程序開頭必須要有的五條指令 MOV AX, DATA MOV DS, AX ; 設(shè)置數(shù)據(jù)段 MOV AX, STA

6、CK MOV SS, AX ; 設(shè)置堆棧段 LEA SP, STACK_TOP ; 設(shè)置棧頂指針;- ; 程序的中間部分 MOV AX, 12345 MOV CL, 0; 計(jì)數(shù)器清零NEXT1: SUB AX, 10000; 減5 JC OVER1; 有借位說明不夠減 INC CL ; 否則夠減,計(jì)數(shù)器加1 JMP NEXT1; 無條件跳轉(zhuǎn)OVER1: ADD AX,10000; 最后恢復(fù)不夠減時(shí)AL的余數(shù) MOV RESULT_1,CL MOV CL, 0NEXT2: SUB AX,1000 JC OVER2 INC CL JMP NEXT2OVER2: ADD AX,1000 MOV RE

7、SULT_2,CL MOV CL, 0NEXT3: SUB AX,100 JC OVER3 INC CL JMP NEXT3OVER3: ADD AX,100 MOV RESULT_3,CL MOV CL, 0NEXT4: SUB AX,10 JC OVER4 INC CL JMP NEXT4OVER4: ADD AX,10 MOV RESULT_4,CL MOV RESULT_5,AL MOV AL, RESULT_1 ; 送顯示功能號到AH MOV AH, 02 ADD AL,30H MOV DL, AL ; 被顯示字符的ASCII碼1送DL INT 21H ; DOS INT 21 功能

8、調(diào)用 MOV AL, RESULT_2 ; 送顯示功能號到AH MOV AH, 02 ADD AL,30H MOV DL, AL ; 被顯示字符的ASCII碼1送DL INT 21H ; DOS INT 21 功能調(diào)用 MOV AL, RESULT_3 ; 送顯示功能號到AH MOV AH, 02 ADD AL,30H MOV DL, AL ; 被顯示字符的ASCII碼1送DL INT 21H ; DOS INT 21 功能調(diào)用 MOV AL, RESULT_4 ; 送顯示功能號到AH MOV AH, 02 ADD AL,30H MOV DL, AL ; 被顯示字符的ASCII碼1送DL IN

9、T 21H ; DOS INT 21 功能調(diào)用 MOV AL, RESULT_5 ; 送顯示功能號到AH MOV AH, 02 ADD AL,30H MOV DL, AL ; 被顯示字符的ASCII碼1送DL INT 21H ; DOS INT 21 功能調(diào)用 ;- ; 程序結(jié)束必須要有的兩條指令 MOV AX, 4C00H ; INT 21H ; ;- CODE ENDS END START ; 最后一行要按回車鍵六、實(shí)驗(yàn)結(jié)果) 1、Windows下:編譯、連接源程序生成可執(zhí)行文件并調(diào)試,生成的機(jī)器碼的長度、寄存器內(nèi)容、計(jì)算結(jié)果如下除法: 減法:2、DOS環(huán)境下:編譯、連接源程序生成可執(zhí)行文

10、件并調(diào)試,生成的機(jī)器碼的長度、寄存器內(nèi)容、計(jì)算結(jié)果如下) 除法: 2)減法可見,分別在和Windows下編譯、連接源程序生成可執(zhí)行文件并調(diào)試,兩個(gè)環(huán)境下生成的機(jī)器碼的長度、寄存器內(nèi)容、計(jì)算結(jié)果的是相同的。) 如何觀察轉(zhuǎn)換過程中標(biāo)志寄存器中各標(biāo)志位的結(jié)果?如何觀察轉(zhuǎn)換結(jié)果的變化?試改變被轉(zhuǎn)換數(shù)值,對結(jié)果與編制為的變化加以說明和解釋。答:可通過單步執(zhí)行,觀察標(biāo)志位的變化,見下圖: EMU8086下 標(biāo)志位 七、實(shí)驗(yàn)總結(jié)與體會(huì)實(shí)驗(yàn)課時(shí)還有很多不明白的地方,但是在課下,在同學(xué)的幫助下,才熟悉了兩個(gè)調(diào)試環(huán)境,發(fā)現(xiàn)只有自己親自動(dòng)手才能體會(huì)到那種掌握的快樂,通過老師課堂的講解和課下學(xué)習(xí)學(xué),對程序設(shè)計(jì)也有了初步的了解和掌了一些簡單的數(shù)值轉(zhuǎn)換算法。但是對代碼仍然感到非常的吃力八、思考題:如何讓你的程序自適應(yīng)地處理高位為0時(shí)不輸出或輸出空格呢?答:分配一個(gè)標(biāo)志,在該標(biāo)志不為零時(shí),輸出值是零就不輸出或輸

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論