二進(jìn)制數(shù)到BCD碼的轉(zhuǎn)換_第1頁(yè)
二進(jìn)制數(shù)到BCD碼的轉(zhuǎn)換_第2頁(yè)
二進(jìn)制數(shù)到BCD碼的轉(zhuǎn)換_第3頁(yè)
二進(jìn)制數(shù)到BCD碼的轉(zhuǎn)換_第4頁(yè)
二進(jìn)制數(shù)到BCD碼的轉(zhuǎn)換_第5頁(yè)
已閱讀5頁(yè),還剩3頁(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é) 實(shí) 驗(yàn) 報(bào) 告課程名稱(chēng): 微機(jī)原理及應(yīng)用實(shí)驗(yàn)名稱(chēng): 二進(jìn)制數(shù)到 BCD 碼的轉(zhuǎn)換學(xué) 院: 物理科學(xué)與技術(shù)學(xué)院指導(dǎo)教師:報(bào)告人: 組號(hào):學(xué)號(hào) 實(shí)驗(yàn)地點(diǎn) K302實(shí)驗(yàn)時(shí)間: 2014 年 10 月 22 日提交時(shí)間: 2014.11.12一、實(shí)驗(yàn)要求 :將 AX 中的一個(gè)二進(jìn)制數(shù)(對(duì)應(yīng)的十進(jìn)制數(shù)范圍是 0-65535 ,轉(zhuǎn)換成壓縮性 BCD 碼表示 的十進(jìn)制, 并從屏幕輸出轉(zhuǎn)換結(jié)果。 要求用減法實(shí)現(xiàn), 并比較與除法方法進(jìn)行運(yùn)行速度 比較。二、實(shí)驗(yàn)?zāi)康?:(1進(jìn)一步熟練掌握 8086匯編語(yǔ)言編譯調(diào)試工具和環(huán)境的操作;(2掌握完整 8086匯編的程序設(shè)計(jì)編寫(xiě)方法;(3掌握簡(jiǎn)單的數(shù)值碼

2、制轉(zhuǎn)換方法;(4掌握鍵盤(pán)輸出的 DOS 功能調(diào)用方法。三、實(shí)驗(yàn)說(shuō)明:計(jì)算機(jī)中的數(shù)值有各種表達(dá)方式, 這是計(jì)算機(jī)的基礎(chǔ)。 掌握各種數(shù)制、 碼制之間的轉(zhuǎn)換 是一種基本功; 利用 DOS 功能調(diào)用實(shí)現(xiàn)在屏幕上顯示字符或數(shù)字的方法是本課程的基本要求 之一。四、除法方法:1、算法說(shuō)明:三位數(shù)先除以 100,得到的商就是百分位的結(jié)果; 將之前一次的余數(shù)除以 10, 得到的商就是十分位的結(jié)果;剩下來(lái)的余數(shù)就是個(gè)位的結(jié)果。2、程序流程圖:3、程序:DATA SEGMENT ; 數(shù)據(jù)段RESULT_1 DB 1圖 1 除法程序流程圖RESULT_2 DB 1RESULT_3 DB 1DATA ENDSSTACK

3、 SEGMENT STACK ; 堆棧段STA DB 64 DUP(0STACK_TOP DB 0STACK ENDSCODE SEGMENT ; 代碼段ASSUME CS:CODE , DS:DATA , ES:DATA , SS:STACKSTART:; 程序開(kāi)頭必須要有的五條指令MOV AX, DATAMOV DS, AX ; 設(shè)置數(shù)據(jù)段MOV AX, STACKMOV SS, AX ; 設(shè)置堆棧段LEA SP, STACK_TOP ; 設(shè)置棧頂指針;-; 程序的中間部分MOV AX, 467MOV CL, 100DIV CLMOV RESULT_1, AL ; 除以 100, 得百位數(shù)

4、MOV AL, AHMOV AH, 0MOV CL, 10DIV CLMOV RESULT_2, AL ; 余數(shù)除以 10, 得十位數(shù)MOV RESULT_3, AH ; 余數(shù)為個(gè)位數(shù);- ; 程序結(jié)束必須要有的兩條指令MOV AX, 4C00H ;INT 21H ;- CODE ENDSEND START ; 最后一行要按回車(chē)鍵五、減法方法1、算法說(shuō)明:三位數(shù)先循環(huán)減 100,直到不夠減了,做減法的次數(shù)就是百分位的結(jié)果;將 不夠減之前一次的余數(shù)恢復(fù),再循環(huán)減去 10,直到不夠減了,做減法的次數(shù)就是十分位的 結(jié)果;最后恢復(fù)的正余數(shù)就是個(gè)位的結(jié)果。2、程序流程圖 3、程序:DATA SEGMEN

5、T ; 數(shù)據(jù)段RESULT_1 DB 1RESULT_2 DB 1RESULT_3 DB 1DATA ENDSSTACK SEGMENT STACK ; 堆棧段STA DB 64 DUP(0STACK_TOP DB 0STACK ENDSCODE SEGMENT ; 代碼段ASSUME CS:CODE , DS:DATA , ES:DATA , SS:STACK START:; 程序開(kāi)頭必須要有的五條指令MOV AX, DATAMOV DS, AX ; 設(shè)置數(shù)據(jù)段MOV AX, STACKMOV SS, AX ; 設(shè)置堆棧段LEA SP, STACK_TOP ; 設(shè)置棧頂指針;-; 程序的中間

6、部分MOV AX,467MOV CL, 0; 計(jì)數(shù)器清零CLC ;NEXT1: SUB AX, 100; 減 100JC OVER1; 有借位說(shuō)明不夠減INC CL ; 否則夠減,計(jì)數(shù)器加 1JMP NEXT1; 無(wú)條件跳轉(zhuǎn)OVER1: ADD AL,100; 最后恢復(fù)不夠減時(shí) AL 的余數(shù)MOV RESULT_1,CLMOV CL, 0; 計(jì)數(shù)器清零CLC ;NEXT2: SUB AL, 10; 減 10JC OVER2; 有借位說(shuō)明不夠減INC CL ; 否則夠減,計(jì)數(shù)器加 1JMP NEXT2; 無(wú)條件跳轉(zhuǎn)OVER2: ADD AL,10; 最后恢復(fù)不夠減時(shí) AL 的余數(shù)MOV RESU

7、LT_2,CL MOV RESULT_3,AL ;-; 程序結(jié)束必須要有的兩條指令 MOV INT AX, 4C00H 21H ; ; ;-CODE ENDS END START ; 最后一行要按回車(chē)鍵 六實(shí)驗(yàn)及報(bào)告要求: 1、簡(jiǎn)要說(shuō)明算法,并畫(huà)出正確的程序流程圖; 算法說(shuō)明:三位數(shù)先循環(huán)減 100,直到不夠減了,做減法的次數(shù)就是百分位的結(jié)果;將 不夠減之前一次的余數(shù)恢復(fù),再循環(huán)減去 10,直到不夠減了,做減法的次數(shù)就是十分位的 結(jié)果;最后恢復(fù)的正余數(shù)就是個(gè)位的結(jié)果。 程序流程圖如圖 2 2、給出完整正確的源程序代碼,要求給每一句偽指令或指令加上注釋?zhuān)?源程序代碼、偽指令或指令注釋如 4.3

8、和 5.3 所示。 3、分別在和 Windows 下編譯、連接源程序生成可執(zhí)行文件并調(diào)試,比較兩個(gè)環(huán)境下 生成的機(jī)器碼的長(zhǎng)度、寄存器內(nèi)容、計(jì)算結(jié)果的異同。 3.1、除法: 3.1.1、DOS 環(huán)境下: 機(jī)器碼: 寄存器: 結(jié)果: 3.1.2、WINDOWS 環(huán)境下: 機(jī)器碼: 寄存器: 結(jié)果: 3.2、減法: 3.2.1、DOS 環(huán)境下 機(jī)器碼: 寄存器: 結(jié)果: 3.2.2、WINDOS 環(huán)境下 機(jī)器碼: 寄存器: 結(jié)果: 從以上結(jié)果可以看出: 分別在和 Windows 下編譯、 連接源程序生成可執(zhí)行文件并 調(diào)試,生成的機(jī)器碼的長(zhǎng)度、寄存器內(nèi)容、計(jì)算結(jié)果是相同的。 4、如何觀察轉(zhuǎn)換過(guò)程中標(biāo)志

9、寄存器中各標(biāo)志位的結(jié)果?如何觀察轉(zhuǎn)換結(jié)果的變化?試改變 被轉(zhuǎn)換數(shù)值,對(duì)結(jié)果與編制為的變化加以說(shuō)明和解釋。 可以通過(guò)單步執(zhí)行(single step,觀察標(biāo)志位的變化 5、寫(xiě)出完整的實(shí)驗(yàn)報(bào)告,特別是“實(shí)驗(yàn)結(jié)果”與“實(shí)驗(yàn)總結(jié)體會(huì)”部分,是評(píng)分的主要依 據(jù)。 6、實(shí)驗(yàn)總結(jié)中要求結(jié)合實(shí)驗(yàn)中的經(jīng)驗(yàn)、教訓(xùn)或體會(huì)對(duì)匯編語(yǔ)言格式、調(diào)試方法和微機(jī)原理 學(xué)習(xí)方法作出總結(jié)。 七、總結(jié)與體會(huì): 在這次實(shí)驗(yàn)中, 對(duì)使用除法和減法兩種方式實(shí)現(xiàn)二進(jìn)制到 BCD 碼的轉(zhuǎn)換的比較, 可以看 出分別在 DOS 環(huán)境和 WINDOWS 環(huán)境下兩種方法的機(jī)器碼長(zhǎng)度、 寄存器內(nèi)容和計(jì)算結(jié)果是相同 的;通過(guò)本次實(shí)驗(yàn),可以看出:用寄存器 AX 除以一個(gè)數(shù)之后,商放在 AL,余數(shù)放在 AH 中, 用寄存器 AX 減去一個(gè)數(shù)之后,差值放在 AX 中。 通過(guò)對(duì)比源代碼和機(jī)器碼及多次嘗試,使用 WIN7 操作系統(tǒng)時(shí),不管是 DOS 下還是 WINDOWS 下的 emu8086,數(shù)中不含 a、b、c、d、e、f,可以不用加數(shù)制符號(hào),默認(rèn)為十進(jìn)制 數(shù)。當(dāng)數(shù)中含有 a、b、c、d、e、f 時(shí),必須在數(shù)后面加上十六進(jìn)制的符號(hào) h/H,為十六進(jìn)

溫馨提示

  • 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)論