2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計任務(wù)書</b></p><p>  題 目:進制轉(zhuǎn)換程序設(shè)計</p><p><b>  初始條件:</b></p><p>  具備數(shù)字電路的理論知識;具備微機原理的理論知識和實踐能力;熟悉匯編語言編程技術(shù);熟悉80X86的CPU結(jié)構(gòu)和指令系統(tǒng);熟悉相關(guān)常用接口電路的設(shè)計使用方

2、法。</p><p>  要求完成的主要任務(wù):(包括課程設(shè)計工作量及其技術(shù)要求,以及說明書撰寫等具體要求)</p><p>  1、程序?qū)崿F(xiàn)二進制、十進制、十六進制之間的轉(zhuǎn)換</p><p>  2、在命令提示下輸入相應(yīng)進制數(shù),回車后進行轉(zhuǎn)換</p><p>  3、輸入錯誤時應(yīng)聲響報警并拒絕輸入</p><p>  

3、4、程序采用匯編語言在PC機上完成</p><p>  5、完成符合學(xué)校要求的設(shè)計說明書</p><p><b>  時間安排:</b></p><p>  一周,其中2天程序設(shè)計,2天程序調(diào)試,1天完成課程設(shè)計報告書及答辯</p><p>  指導(dǎo)教師簽名: 年 月

4、 日</p><p>  系主任(或責(zé)任教師)簽名: 年 月 日</p><p><b>  目錄</b></p><p><b>  摘要I</b></p><p><b>  1 原理分析1</b></p><p&g

5、t;  2 程序設(shè)計流程3</p><p>  2.1 程序流程圖3</p><p>  2.2 設(shè)計思路4</p><p><b>  3 程序設(shè)計5</b></p><p>  3.1 堆棧段數(shù)據(jù)段程序設(shè)計5</p><p>  3.2 主程序設(shè)計5</p><

6、p>  3.3 輸入二進制程序7</p><p>  3.4 輸入十進制程序8</p><p>  3.5 輸入十六進制程序8</p><p>  3.6 輸出二進制程序9</p><p>  3.7 輸出十進制程序9</p><p>  3.8 輸出十六進制程序11</p><p

7、>  3.9 回車鍵確定程序11</p><p>  3.10 報警程序12</p><p><b>  4 運行結(jié)果13</b></p><p><b>  5 心得體會15</b></p><p><b>  參考文獻16</b></p>&l

8、t;p><b>  摘要</b></p><p>  日常生活與實際應(yīng)用中,往往需要計算機處理的信息是多種多樣的,如各種進位制的數(shù)據(jù),不同語種的文字符號和各種圖像信息等。但在計算機內(nèi)部采用的是二進制計數(shù)制,這種進制表達方法對于人們研究分析是不那么方便的。本次課程設(shè)計將通過所學(xué)的微機原理知識理論,用匯編語言編寫程序,實現(xiàn)二進制、十進制與十六進制之間的相互轉(zhuǎn)換,并在MF2KP軟件上演示。&

9、lt;/p><p>  關(guān)鍵詞:匯編程序 進制轉(zhuǎn)換 MF2KP</p><p><b>  1 原理分析</b></p><p>  進位計數(shù)制是人們利用符號來計數(shù)的方法。一種進位計數(shù)制包含一組數(shù)碼符號和兩個基本因素。數(shù)碼是用不同的數(shù)字符號來表示一種數(shù)制的數(shù)值,這些數(shù)字符號稱為”數(shù)碼”?;菙?shù)制所使用的數(shù)碼個數(shù)稱為”基”。權(quán)是某數(shù)制每一位所具有

10、的值稱為”權(quán)”。</p><p>  十六進制(Hexadecimal) 0.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F</p><p>  十進制(Decimal) 0.1.2.3.4.5.6.7.8.9 八進制(Octal) 0.1.2.3.4.5.6.7</p><p>  二進制(Binary) 0.1 </p>&

11、lt;p>  在計算機內(nèi)部采用二進制計數(shù)制,但在實際應(yīng)用中,需要計算機處理的信息是多種多樣的,如各種進位制的數(shù)據(jù),不同語種的文字符號和各種圖像信息等。但在計算機中采用的是二進制計數(shù)制。本次課程設(shè)計通過所學(xué)的微機原理,用匯編語言編寫程序,實現(xiàn)二進制轉(zhuǎn)換成十進制或十六進制,十進制轉(zhuǎn)換成二進制或十六進制,十六進制轉(zhuǎn)換成二進制或十進制。</p><p>  十進制轉(zhuǎn)換為二進制整數(shù)部分的方法叫做除2取余法,每次將整數(shù)

12、部分除以2,余數(shù)為該位權(quán)上的數(shù),而商繼續(xù)除以2,余數(shù)又為上一個位權(quán)上的數(shù),這個步驟一直持續(xù)下去,直到商為0為止,最后讀數(shù)時候,從最后一個余數(shù)讀起,一直到最前面的一個余數(shù)。小數(shù)部分的方法叫乘2取整法,就是將小數(shù)部分乘以2,然后取整數(shù)部分,剩下的小數(shù)部分繼續(xù)乘以2,然后取整數(shù)部分,剩下的小數(shù)部分又乘以2,一直取到小數(shù)部分為零為止。如果永遠不能為零,就同十進制數(shù)的四舍五入一樣,按照要求保留多少位小數(shù)時,就根據(jù)后面一位是0還是1,取舍,如果是零

13、,舍掉,如果是1,向入一位。換句話說就是0舍1入。讀數(shù)要從前面的整數(shù)讀到后面的整數(shù)。</p><p>  二進制轉(zhuǎn)換為十進制不分整數(shù)和小數(shù)部分,方法(按權(quán)相加法)是將二進制每位上的數(shù)乘以權(quán),然后相加之和即是十進制數(shù)。</p><p>  二進制轉(zhuǎn)換為十六進制用取四合一法,即從二進制的小數(shù)點為分界點,向左(向右)每四位取成一位,接著將這四位二進制按權(quán)相加,得到的數(shù)就是一位十六位二進制數(shù),然后

14、,按順序進行排列,小數(shù)點的位置不變,得到的數(shù)字就是我們所求的十六進制數(shù)。如果向左(向右)取四位后,取到最高(最低)位時候,如果無法湊足四位,可以在小數(shù)點最左邊(最右邊),即整數(shù)的最高位(最低位)添0,湊足四位。</p><p>  將十六進制轉(zhuǎn)換為二進制,取一分四法,即將一位十六進制數(shù)分解成四位二進制數(shù),用四位二進制按權(quán)相加去湊這位十六進制數(shù),小數(shù)點位置照舊。</p><p>  十進制轉(zhuǎn)

15、換成十六進制的方法與十進制轉(zhuǎn)換成二進制的方法相同,但不同的是每次除以16。</p><p><b>  2 程序設(shè)計流程</b></p><p><b>  2.1 程序流程圖</b></p><p><b>  Y</b></p><p><b>  N</b

16、></p><p><b>  2.2 設(shè)計思路</b></p><p>  首先對原理進行分析,了解不同進制數(shù)之間是如何進行轉(zhuǎn)換。充分認識匯編語言的指令系統(tǒng),掌握各個匯編指令的功能及用法,了解各種程序結(jié)構(gòu)(順序、分支、循環(huán)和子程序)的特點。首先定義堆棧段,再定義數(shù)據(jù)段,在數(shù)據(jù)段中輸入MENU中要顯示的內(nèi)容。再建一個表TABLE,TABLE中的內(nèi)容為L0,L1,

17、L2,L3,L4,L5,L6把然后根據(jù)題目要求設(shè)計簡單的程序流程圖,再根據(jù)流程圖設(shè)計出每一模塊的匯編語言程序,然后再通過調(diào)用、跳轉(zhuǎn)、轉(zhuǎn)移等方法將各個子程序連接在一起。這樣依據(jù)題目要求的匯編程序就初步完成了,本次用到的軟件是MF2KP,首先在MF2KP環(huán)境下輸入設(shè)計的匯編程序,然后編譯、連接、運行。</p><p><b>  3 程序設(shè)計</b></p><p>  

18、3.1 堆棧段數(shù)據(jù)段程序設(shè)計</p><p>  首先定義堆棧段的程序,程序如下所示:</p><p>  STACK SEGMENT STACK</p><p>  DB 200 DUP(?)</p><p>  STACK ENDS</p><p>  在數(shù)據(jù)段中有后面程序要用到的數(shù)據(jù)MENU,mess1到mess

19、6和error,還有數(shù)據(jù)表TABLE。定義數(shù)據(jù)段程序如下所示:</p><p>  DATA SEGMENT</p><p>  MENU DB 'Please Input your Choice:',0dh,0ah</p><p>  db '1: Bin2 -->Dec10',0dh,0ah</p><

20、p>  db '2: Bin2 -->Hex16',0dh,0ah </p><p>  db '3: Dec10 -->Bin2',0dh,0ah</p><p>  db '4: Dec10 -->Hex16',0dh,0ah</p><p>  db '5: He

21、x16 -->Bin2',0dh,0ah</p><p>  db '6: Hex16 -->Dec10',0dh,0ah</p><p>  db '0: Exit. $'</p><p>  mess1 db 'Please input a Bin2 number:$'</p>

22、;<p>  mess2 db 'Please input a Dec10 number:$'</p><p>  mess3 db 'Please input a Hex16 number:$'</p><p>  mess4 db 'Output Bin is: $'</p><p>  m

23、ess5 db 'Output Dec is: $'</p><p>  mess6 db 'Output Hex is: $'</p><p>  error db' error!please input your choice again$'</p><p>  TABLE DW L0,L1,L2,L3,L

24、4,L5,L6</p><p><b>  DATA ENDS</b></p><p><b>  3.2 主程序設(shè)計</b></p><p>  在定義完堆棧段和數(shù)據(jù)段后,就是主程序的設(shè)計。首先對寄存器AX清零,壓棧。讀取數(shù)據(jù),在屏幕上顯示字符串MENU,根據(jù)MENU的提示,從鍵盤輸入一字符串。將該字符串減30H后于7進

25、行比較,若小于7,則跳轉(zhuǎn)到DONE程序,否則調(diào)用報警程序,發(fā)出聲音報警并提示error。在DONE程序中,若輸入的數(shù)字為1,則立即跳轉(zhuǎn)到L1,進行二進制轉(zhuǎn)化為十進制;若輸入的數(shù)字為2,則跳轉(zhuǎn)到L2,進行二進制轉(zhuǎn)換為十六進制;若為3,則跳轉(zhuǎn)到L3進行十進制轉(zhuǎn)換為二進制;若為4,則跳轉(zhuǎn)到L4進行十進制轉(zhuǎn)換為十六進制;若為5,則跳轉(zhuǎn)到L5進行十六進制轉(zhuǎn)換為二進制;若為6,則跳轉(zhuǎn)到L6進行十六進制轉(zhuǎn)換為十進制;如果為零,則退出程序,結(jié)束。<

26、;/p><p>  主程序的設(shè)計如下所示:</p><p>  CODE SEGMENT</p><p>  MAIN PROC FAR</p><p>  ASSUME CS:CODE,DS:DATA,SS:STACK</p><p><b>  START:</b></p><

27、p><b>  PUSH DS</b></p><p>  XOR AX,AX ;清零</p><p><b>  PUSH AX</b></p><p>  MOV AX,DATA</p><p><b>  MOV DS,AX</b></p>&l

28、t;p>  LKS:LEA DX,MENU ;取存儲區(qū)首址</p><p>  MOV AH,09H ;顯示字符串 </p><p><b>  INT 21H</b></p><p>  MOV AH,01H ;從鍵盤輸入字符串 </p><p><b>  IN

29、T 21H</b></p><p>  SUB AL,30H</p><p>  CMP AL,07h</p><p>  JB DONE ;AL小于07H跳轉(zhuǎn)到DONE</p><p>  CALL SOUNDF ;調(diào)用報警程序</p><p>  LEA DX,error

30、</p><p>  MOV AH,09H ;顯示字符串error</p><p><b>  INT 21H</b></p><p><b>  JMP MAIN</b></p><p>  DONE:LEA SI,TABLE</p><p><b>

31、;  MOV AH,0</b></p><p><b>  SHL AX,1</b></p><p><b>  ADD SI,AX</b></p><p><b>  JMP [SI]</b></p><p> ??;二進制轉(zhuǎn)換成十進制</p><

32、;p>  L1:CALL INBIN ;調(diào)用輸入二進制程序</p><p><b>  CALL CRLF</b></p><p>  CALL OUTDEC ;調(diào)用輸出十進制程序</p><p><b>  CALL CRLF</b></p><p>  JMP L

33、KS ;直接跳轉(zhuǎn)到LKS</p><p> ?。欢M制轉(zhuǎn)換成十六進制</p><p>  L2:CALL INBIN ;調(diào)用輸入二進制程序</p><p><b>  CALL CRLF</b></p><p>  CALL OUTHEX ;調(diào)用輸出十六進制程序</

34、p><p>  CALL CRLF </p><p><b>  JMP LKS</b></p><p>  ;十進制轉(zhuǎn)換成二進制</p><p>  L3:CALL INDEC ;調(diào)用輸入十進制程序</p><p><b>  CALL CRLF</b><

35、/p><p>  CALL OUTBIN ;調(diào)用輸出二進制程序</p><p><b>  CALL CRLF</b></p><p><b>  JMP LKS</b></p><p> ?。皇M制轉(zhuǎn)換成十六進制</p><p>  L4:CALL INDEC

36、 ;調(diào)用輸入十進制程序</p><p><b>  CALL CRLF</b></p><p>  CALL OUTHEX ;調(diào)用輸出十六進制程序</p><p><b>  CALL CRLF</b></p><p><b>  JMP LKS</b></p

37、><p> ??;十六進制轉(zhuǎn)換成二進制</p><p>  L5:CALL INHEX ;調(diào)用輸入十六進制程序</p><p><b>  CALL CRLF</b></p><p>  CALL OUTBIN ;調(diào)用輸出二進制程序</p><p><b>  C

38、ALL CRLF</b></p><p><b>  JMP LKS</b></p><p> ??;十六進制轉(zhuǎn)換成十進制</p><p>  L6:CALL INHEX ;調(diào)用輸入十六進制程序</p><p><b>  CALL CRLF</b></p><

39、;p>  CALL OUTDEC ;調(diào)用輸出十進制程序</p><p><b>  CALL CRLF</b></p><p><b>  JMP LKS</b></p><p><b>  L0:RET</b></p><p><b>  MAIN

40、 ENDP</b></p><p>  CODE ENDS ;代碼段結(jié)束</p><p>  END START ;程序結(jié)束</p><p>  3.3 輸入二進制程序</p><p>  二進制數(shù)從鍵盤鍵入之后只需要直接完成從鍵盤向內(nèi)存的循環(huán)輸入即可,其代碼如下:</p>

41、<p>  INBIN PROC</p><p>  LEA DX,MESS1</p><p>  MOV AH,09H ;顯示字符串MESS1</p><p><b>  INT 21H</b></p><p><b>  MOV BX,0</b></p>

42、<p>  INBL1:MOV AH,01H ;從鍵盤輸入字符</p><p><b>  INT 21H</b></p><p>  CMP AL,0DH ;比較輸入的是否是回車鍵</p><p>  JZ INBEXIT ;等于零(回車鍵)跳轉(zhuǎn)到INBEXIT</p>

43、;<p>  AND AL,01H ;保留低四位</p><p>  SHL BX,1 ;邏輯左移一位</p><p><b>  OR BL,AL</b></p><p><b>  JMP INBL1</b></p><p>  INBEX

44、IT:RET</p><p>  INBIN ENDP </p><p>  3.4 輸入十進制程序</p><p>  十進制數(shù)從鍵盤鍵入之后需要進行乘法運算之后轉(zhuǎn)換成二進制數(shù),再完成從鍵盤向內(nèi)存的循環(huán)輸入,其代碼如下:</p><p>  INDEC PROC</p><p>  LEA DX,MESS2<

45、;/p><p>  MOV AH,09H ;顯示字符串MESS2</p><p><b>  INT 21H</b></p><p><b>  MOV BX,0</b></p><p>  INDL1:MOV AH,01H ;從鍵盤輸入字符</p><p>

46、;<b>  INT 21H</b></p><p>  CMP AL,0DH ;比較輸入的是否是回車鍵</p><p>  JZ INDEXIT ;等于零(回車鍵)跳轉(zhuǎn)到INDEXIT</p><p>  SUB AL,30H</p><p><b>  CMP AL,9</b

47、></p><p>  JBE INDL2 ;小等于9跳轉(zhuǎn)到INDL2</p><p><b>  SUB AL,7</b></p><p>  INDL2:MOV AH,0</p><p>  XCHG AX,BX ;AX BX交換</p><p><b&g

48、t;  MOV CX,10</b></p><p>  MUL CX ;AX乘以CX</p><p><b>  ADD BX,AX</b></p><p><b>  JMP INDL1</b></p><p>  INDEXIT:RET</p><

49、;p>  INDEC ENDP</p><p>  3.5 輸入十六進制程序</p><p>  十六進制數(shù)從鍵盤鍵入之后需要進行從1位變?yōu)?位的移位運算轉(zhuǎn)換成二進制數(shù),再完成從鍵盤向內(nèi)存的循環(huán)輸入,其代碼如下:</p><p>  INHEX PROC</p><p>  LEA DX,MESS3</p><p&g

50、t;  MOV AH,09H ;顯示字符串MESS3</p><p><b>  INT 21H</b></p><p><b>  MOV BX,0</b></p><p>  IHL1:MOV AH,01H ;從鍵盤輸入字符</p><p><b>  INT 21H

51、</b></p><p>  CMP AL,0DH ;比較輸入的是否是回車鍵</p><p>  JZ IHEXIT ;等于零(回車鍵)跳轉(zhuǎn)到IHEXIT</p><p>  SUB AL,30H</p><p><b>  CMP AL,9</b></p><

52、p>  JBE IHL2 ;如果AL小等于9跳轉(zhuǎn)到IHL2</p><p><b>  SUB AL,7</b></p><p>  IHL2:MOV CL,4</p><p>  SHL BX,CL ;BX邏輯左移CL位</p><p><b>  OR BL,AL&l

53、t;/b></p><p><b>  JMP IHL1</b></p><p>  IHEXIT:RET</p><p>  INHEX ENDP</p><p>  3.6 輸出二進制程序</p><p>  將內(nèi)存中存儲的2進制數(shù)輸出為2進制數(shù),只需要將內(nèi)存中所存儲的碼循環(huán)輸出顯示出來

54、即可,其代碼如下:</p><p>  OUTBIN PROC</p><p>  LEA DX,MESS4</p><p>  MOV AH,09H ;顯示字符串MESS4</p><p><b>  INT 21H</b></p><p><b>  MOV CX,16&

55、lt;/b></p><p>  OBL1:ROL BX,1 ;BX循環(huán)左移一位</p><p><b>  MOV DL,BL</b></p><p>  AND DL,01H</p><p><b>  OR DL,30H</b></p><p> 

56、 MOV AH,02H ;字符輸出</p><p><b>  INT 21H</b></p><p>  LOOP OBL1 ;循環(huán)OBL1</p><p><b>  RET</b></p><p>  OUTBIN ENDP</p><p>  3.7

57、 輸出十進制程序</p><p>  將內(nèi)存中存儲的2進制數(shù)輸出為10進制數(shù),需要將內(nèi)存中的碼進行除法運算,再循環(huán)輸出顯示,其代碼如下:</p><p>  OUTDEC PROC</p><p>  LEA DX,MESS5</p><p>  MOV AH,09H ;顯示字符串MESS5</p><p>

58、;<b>  INT 21H</b></p><p>  PUSH BX ;壓棧</p><p><b>  MOV AX,BX</b></p><p><b>  MOV DX,0</b></p><p>  MOV CX,10000</p>&

59、lt;p>  DIV CX ;AX除以CX</p><p><b>  MOV BX,DX</b></p><p>  MOV DL,AL </p><p><b>  OR DL,30H</b></p><p>  MOV AH,02H</p><p

60、><b>  INT 21H</b></p><p><b>  MOV AX,BX</b></p><p><b>  MOV DX,0</b></p><p>  MOV CX,1000</p><p><b>  DIV CX</b></

61、p><p><b>  MOV BX,DX</b></p><p><b>  MOV DL,AL</b></p><p><b>  OR DL,30H</b></p><p>  MOV AH,02H</p><p><b>  INT 21H

62、</b></p><p><b>  MOV AX,BX</b></p><p><b>  MOV DX,0</b></p><p>  MOV CX,100</p><p><b>  DIV CX</b></p><p><b&g

63、t;  MOV BX,DX</b></p><p><b>  MOV DL,AL</b></p><p><b>  OR DL,30H</b></p><p>  MOV AH,02H</p><p><b>  INT 21H</b></p>&

64、lt;p><b>  MOV AX,BX</b></p><p><b>  MOV CL,10</b></p><p><b>  DIV CL</b></p><p><b>  MOV BL,AH</b></p><p><b>  

65、MOV DL,AL</b></p><p><b>  OR DL,30H</b></p><p>  MOV AH,02H</p><p><b>  INT 21H</b></p><p><b>  MOV DL,BL</b></p><p

66、><b>  OR DL,30H</b></p><p><b>  INT 21H</b></p><p><b>  POP BX</b></p><p><b>  RET</b></p><p>  OUTDEC ENDP</p>

67、;<p>  3.8 輸出十六進制程序</p><p>  將內(nèi)存中存儲的2進制數(shù)輸出為16進制數(shù),需要將內(nèi)存中的碼進行移位運算,將4位2進制數(shù)合并為1位16進制數(shù),再循環(huán)輸出顯示,其代碼如下:</p><p>  OUTHEX PROC</p><p>  LEA DX,MESS6</p><p>  MOV AH,09H

68、 ;顯示字符串MESS6</p><p><b>  INT 21H</b></p><p><b>  MOV CX,4</b></p><p>  OHL1:ROL BX,1 ;循環(huán)左移</p><p><b>  ROL BX,1</b></

69、p><p><b>  ROL BX,1</b></p><p><b>  ROL BX,1</b></p><p><b>  MOV DL,BL</b></p><p>  AND DL,0FH ;保留低四位</p><p>  ADD D

70、L,30H</p><p>  CMP DL,39H</p><p><b>  JBE OHL2</b></p><p><b>  ADD DL,7</b></p><p>  OHL2:MOV AH,02H</p><p><b>  INT 21H</

71、b></p><p><b>  LOOP OHL1</b></p><p><b>  RET</b></p><p>  OUTHEX ENDP</p><p>  3.9 回車鍵確定程序</p><p>  當輸入指定數(shù)制的數(shù)之后,需要依靠此程序來確定輸入完成并執(zhí)

72、行轉(zhuǎn)換過程并輸出,其代碼如下:</p><p><b>  CRLF PROC</b></p><p>  MOV AH,02H ;輸出字符</p><p>  MOV DL,0DH ;確定(回車鍵)</p><p><b>  INT 21H</b></p><

73、p>  MOV DL,0AH ;鍵盤緩沖輸入</p><p><b>  INT 21H</b></p><p><b>  RET</b></p><p><b>  CRLF ENDP</b></p><p><b>  3.10 報警程序</

74、b></p><p>  當輸入的數(shù)不在所選范圍(即數(shù)字0~6)時,會啟動此程序進行報警并恢復(fù)到出錯前的狀況,其代碼如下:</p><p>  SOUNDF PROC NEAR </p><p>  IN AL,61H ;取得設(shè)備控制寄存器開關(guān)量</p><p><b>  MOV BL,AL</b

75、></p><p>  MOV AL,0B6H </p><p>  OUT 43H,AL ;寫入方式控制字</p><p>  MOV AX,1000H ;輸出頻率1000Hz</p><p>  OUT 42H,AL ;先寫入低 8位</p><p>  MOV

76、 AL,AH </p><p>  OUT 42H,AL ;后寫入高 8位</p><p>  OR AL,3 ;接通揚聲器</p><p>  OUT 61H,AL ;設(shè)置設(shè)備控制寄存器開關(guān)量</p><p>  MOV DX,2500 </p><p> 

77、 LOOP1:DEC DX</p><p>  MOV CX,65535</p><p>  LOOP2:LOOP LOOP2 ;循環(huán)LOOP2</p><p><b>  CMP DX,0H</b></p><p>  JNZ LOOP1 ;DX不等于0跳轉(zhuǎn)到LOOP1</p><p>

78、  MOV AL,AH </p><p>  MOV AL,BL </p><p>  OUT 61H,AL ;恢復(fù)原狀</p><p><b>  RET </b></p><p>  SOUNDF ENDP</p><p><b>  4 運行結(jié)果</b>

79、</p><p>  在微機原理實驗平臺集成開發(fā)環(huán)境MF2KP上輸入該匯編程序,點擊16位編碼系統(tǒng)的匯編源程序,再點擊連接目標碼,再點運行程序。這時彈出DOS窗口,窗口如圖4-1所示。</p><p><b>  圖4-1 初始窗口</b></p><p>  首先進行二進制轉(zhuǎn)換成十進制,在窗口中輸入1,這時窗口中提示“Please input

80、 a Bin number:”.輸入二進制數(shù)11010110,運行顯示結(jié)果如圖4-2所示。</p><p>  圖4-2 二進制轉(zhuǎn)十進制</p><p>  要進行二進制轉(zhuǎn)換成十六進制時,在窗口中輸入2,這時窗口中提示“Please input a Bin number:”.輸入二進制數(shù)11010110,運行顯示結(jié)果如圖4-3所示。</p><p>  圖4-3 二

81、進制轉(zhuǎn)十六進制</p><p>  要進行十進制轉(zhuǎn)換成二進制時,在窗口中輸入3,這時窗口中提示“Please input a Dec number:”.輸入十進制數(shù)113,運行顯示結(jié)果如圖4-4所示。</p><p>  圖4-4 十進制轉(zhuǎn)二進制</p><p>  要進行十進制轉(zhuǎn)換成十六進制時,在窗口中輸入4,這時窗口中提示“Please input a Dec

82、number:”.輸入十進制數(shù)159,運行顯示結(jié)果如圖4-5所示。</p><p>  圖4-5 十進制轉(zhuǎn)十六進制</p><p>  要進行十六進制轉(zhuǎn)換成二進制,在窗口中輸入5,這時窗口中提示“Please input a Hex number:”.輸入十六進制數(shù)1D,運行顯示結(jié)果如圖4-6所示。</p><p>  圖4-6 十六進制轉(zhuǎn)二進制</p>

83、<p>  要進行十六進制轉(zhuǎn)換成十進制,在窗口中輸入6,這時窗口中提示“Please input a Hex number:”.輸入十六進制數(shù)30,運行顯示結(jié)果如圖4-7所示。</p><p>  圖4-7 十六進制轉(zhuǎn)十進制</p><p>  當輸入非0-6的字符時,系統(tǒng)報錯,請求重新輸入,運行顯示結(jié)果如圖4-8所示。</p><p><b&g

84、t;  圖4-8 報錯界面</b></p><p><b>  5 心得體會</b></p><p>  回顧此次微機原理課程設(shè)計,至今感慨頗多。的確,從選題到定稿,從理論到實踐,在短短的一個星期的日子里,有苦有甜。同時也學(xué)到很多很多新的東西,雖然時間有限但是自己很多方面都有了提升,如動手編程能力和解決問題的能力。</p><p>

85、  課程設(shè)計剛開始拿到題目時,對于理論知識學(xué)習(xí)不夠扎實的我深深感到了自己的不足,便重新看了教材,對知識進行了梳理,掌握了基本理論知識。這樣對平時學(xué)習(xí)的不足和缺陷就有所彌補。遇到過各種各樣的問題,沒有扎實的理論知識是無法解決的。只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,通過實際動手去驗證理論,在這二者的配合下,我們不僅可以成功的完成課程設(shè)計,而且還可以掌握和鞏固所學(xué)知識,充實自己的知識儲備。同時也可以使自己的實際動手能力和獨

86、立思考的能力在一定程度上得到提升,使自己能更好的適應(yīng)社會的要求。</p><p>  通過本次課程設(shè)計,我在發(fā)現(xiàn)問題、分析問題和解決問題的能力得到了提升。培養(yǎng)了我的設(shè)計思維,提高了我們的邏輯思維能力,使我們在匯編程序的分析與設(shè)計上有了很大的進步。同時也讓我在面對問題的時候不在像以前那樣驚慌失措,而是慢慢分析問題,逐步去解決問題,實現(xiàn)各個擊破。培養(yǎng)我們獨立思考的能力,和邏輯的分析能力.</p><

87、;p>  總之,通過本次課程設(shè)計,我收獲頗豐,一方面使自己各方面能力在一定程度上得到提升,另一方面是自己切身體會到匯編語言的實用性和有效性,同時在讓我體會到了設(shè)計的艱辛的同時,更讓我體會到成功的喜悅和快樂。</p><p><b>  參考文獻</b></p><p>  【1】《微機原理與接口技術(shù)》,姚燕男、薛鈞義編著,高等教育出版社,2004</p&g

88、t;<p>  【2】《微型機原理與接口技術(shù)》,劉永華,王成端編著,清華大學(xué)出版社,2006</p><p>  【3】《微型計算機原理與接口技術(shù)》,楊立等編著,中國水利水電出版社,2005</p><p>  【4】《微機原理應(yīng)用實踐》,王萍、周根元等編著,機械工業(yè)出版社,2001 </p><p>  【5】《微型計算機原理與與常用接口技術(shù)》,袁開

溫馨提示

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

評論

0/150

提交評論