2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩18頁(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、<p> 課程設(shè)計(jì)報(bào)告</p><p> (本科)</p><p> 課程:匯編語(yǔ)言程序設(shè)計(jì)</p><p> 學(xué)號(hào):</p><p> 姓名:</p><p> 班級(jí):</p><p> 教師:</p><p> 時(shí)間:2014.6.3~2014.6.19&l

2、t;/p><p> 計(jì)算機(jī)科學(xué)與技術(shù)系</p><p><b>  附錄:源代碼</b></p><p>  十進(jìn)制與八進(jìn)制相互轉(zhuǎn)換的程序清單:</p><p><b>  ;DECIOCT</b></p><p>  ;十進(jìn)制與八進(jìn)制相互轉(zhuǎn)換</p><p&

3、gt;  ;首先選擇算法,1為八進(jìn)制轉(zhuǎn)十進(jìn)制,2為十進(jìn)制轉(zhuǎn)八進(jìn)制</p><p>  ;***************************</p><p>  DECioct SEGMENT</p><p>  ASSUME CS:DECioct</p><p><b>  ;主程序部分。</b>&

4、lt;/p><p>  main PROC FAR</p><p>  start: MOV DL,3ah ;顯示提示附</p><p>  MOV AH,2</p><p>  INT 21h</p><p>  MOV

5、 AH,1 ;輸入選擇數(shù)字 </p><p>  INT 21h</p><p>  CMP AL,32h ;數(shù)字為1時(shí),執(zhí)行八進(jìn)制轉(zhuǎn)十進(jìn)制 </p><p>  JE REPEat2 ;數(shù)字為2時(shí),執(zhí)行十進(jìn)制轉(zhuǎn)八進(jìn)制</p>

6、<p>  REPEat1: CALL octbin ;鍵盤(pán)輸入八進(jìn)制數(shù)轉(zhuǎn)為二進(jìn)制 </p><p>  CALL crlf ;回車(chē)并換行 </p><p>  CALL binidec ;二進(jìn)制轉(zhuǎn)十進(jìn)制</p><p>  CALL

7、 crlf ;回車(chē)并換行</p><p>  JMP REPEat1 ;重復(fù)執(zhí)行 </p><p>  REPEat2: CALL DECibin ;鍵盤(pán)輸入十進(jìn)制數(shù)轉(zhuǎn)為二進(jìn)制</p><p>  CALL crlf ;

8、回車(chē)并換行 </p><p>  CALL binioct ;二進(jìn)制轉(zhuǎn)八進(jìn)制</p><p>  CALL crlf ;回車(chē)并換行 </p><p>  JMP REPEat2 ;重復(fù)執(zhí)行</p>

9、<p>  main ENDP</p><p>  ;-----------------------------</p><p><b>  ;十進(jìn)制轉(zhuǎn)二進(jìn)制</b></p><p>  DECibin PROC NEAR</p><p>  MOV BX

10、,0 ;將BX清零</p><p>  NEwchar2: </p><p>  MOV AH,1 </p><p>  INT 21h ;21號(hào)中斷輸入</p><p>  SUB AL,30h

11、 ;ASCII轉(zhuǎn)二進(jìn)制 </p><p>  JL exit2 ;<0則跳轉(zhuǎn)</p><p>  CMP AL,9d ;判斷是否>9</p><p>  JG exit2 ;如果大于則不是十進(jìn)制數(shù)</p>

12、<p>  CBW ;字節(jié)轉(zhuǎn)為字</p><p>  XCHG AX,BX ;交換寄存器</p><p>  MOV CX,10d ;把10放如CX</p><p>  MUL CX

13、 ;AX擴(kuò)大10倍</p><p>  XCHG AX,BX ;交換寄存器</p><p>  ADD BX,AX ;原數(shù)的10倍加上輸入數(shù)</p><p>  JMP NEwchar2 ;跳轉(zhuǎn)輸入</p><p>  exit

14、2: </p><p><b>  RET</b></p><p>  DECibin ENDP</p><p>  ;---------------------------------------</p><p><b>  ;二進(jìn)制轉(zhuǎn)八進(jìn)制</b></p>

15、<p>  binioct PROC NEAR</p><p>  MOV CL,2 ;移位數(shù)字2</p><p>  ROL BL,CL ;循環(huán)左移2位</p><p>  MOV AL,BL ;把輸入的

16、數(shù)送入AL</p><p>  AND AL,03h ;將高六位屏蔽</p><p>  ADD AL,30h ;轉(zhuǎn)換為ASCII</p><p>  MOV DL,AL ;輸出AL</p><p>  MOV

17、 AH,2</p><p>  INT 21h</p><p>  MOV CH,2 ;剩余顯示2位</p><p>  rotate2: </p><p>  MOV CL,3 ;移位數(shù)字3</p><p>

18、  ROL BL,CL ;循環(huán)左移3位</p><p>  MOV AL,BL ;把輸入的數(shù)送入AL</p><p>  AND AL,07h ;將高五位屏蔽</p><p>  ADD AL,30h ;

19、轉(zhuǎn)換為ASCII</p><p>  MOV DL,AL ;輸出AL</p><p>  MOV AH,2 </p><p>  INT 21h</p><p>  DEC CH ;遞減CH&l

20、t;/p><p>  JNZ rotate2 ;CH不為0則跳轉(zhuǎn)</p><p><b>  RET</b></p><p>  binioct ENDP</p><p>  ;---------------------------------------</p>

21、<p><b>  ;八進(jìn)制轉(zhuǎn)二進(jìn)制</b></p><p>  octbin PROC NEAR</p><p>  MOV BX,0 ;BX清零</p><p>  NEwchar1: </p><p>  MOV

22、 AH,1 ;輸入數(shù)字</p><p>  INT 21h </p><p>  SUB AL,30h ;轉(zhuǎn)換為二進(jìn)制數(shù)</p><p>  JL exit1</p><p>  CMP AL,

23、8d ;如果<8則跳轉(zhuǎn)</p><p>  JL ADD_to1</p><p>  CMP AL,10h</p><p>  JGE exit1</p><p>  ADD_to1: </p><p>  MOV

24、 CL,3 ;移位數(shù)字3</p><p>  SHL BX,CL ;左移3位</p><p>  MOV AH,0 ;AH清0</p><p>  ADD BX,AX ;把新位移入數(shù)字</p&

25、gt;<p>  JMP NEwchar1 ;跳轉(zhuǎn)繼續(xù)輸入</p><p>  exit1: </p><p><b>  RET</b></p><p>  octbin ENDP</p><p>  ;-----------

26、---------------------------</p><p><b>  ;二進(jìn)制轉(zhuǎn)十進(jìn)制</b></p><p>  binidec PROC NEAR</p><p>  MOV CX,10000d ;除數(shù)為10000</p><p>  CALL

27、 DEC_div</p><p>  MOV CX,1000d ;除數(shù)為1000</p><p>  CALL DEC_div</p><p>  MOV CX,100d ;除數(shù)為100</p><p>  CALL DEC_div<

28、;/p><p>  MOV CX,10d ;除數(shù)為10</p><p>  CALL DEC_div</p><p>  MOV CX,1d ;除數(shù)為1</p><p>  CALL DEC_div</p><p>&

29、lt;b>  RET</b></p><p>  ;---------------------------------------</p><p><b>  ;子程序</b></p><p>  DEC_div PROC NEAR</p><p>  MOV AX,B

30、X ;把二進(jìn)制數(shù)移入AX</p><p>  MOV DX,0 ;DX高八位清零</p><p>  DIV CX ;除數(shù)CX</p><p>  MOV BX,DX ;余數(shù)移入BX<

31、;/p><p>  MOV DL,AL ;商移入DL</p><p>  ADD DL,30h ;轉(zhuǎn)換為ASCII</p><p>  MOV AH,2 ;輸出十進(jìn)制數(shù)位</p><p>  INT

32、 21h</p><p><b>  RET</b></p><p>  DEC_div ENDP</p><p>  ;---------------------------------------</p><p>  binidec ENDP</p><p>  ;--

33、------------------------------------- </p><p>  ;回車(chē)和換行。 </p><p>  crlf PROC NEAR</p><p>  MOV DL,0dh ;回車(chē)</p>&

34、lt;p>  MOV AH,2 ;輸出</p><p>  INT 21h</p><p>  MOV DL,0ah ;換行</p><p>  MOV AH,2 ;輸出</p>&l

35、t;p>  INT 21h</p><p><b>  RET</b></p><p>  crlf ENDP</p><p>  ;----------------------------------------</p><p>  DECioct ENDS</p&

36、gt;<p>  ;*****************************************</p><p>  END start</p><p>  十六進(jìn)制與十進(jìn)制相互轉(zhuǎn)換的程序清單:</p><p><b>  ;DECIOCT</b></p><p>  ;十進(jìn)制與十六進(jìn)制相

37、互轉(zhuǎn)換</p><p>  ;首先選擇算法,1為十六進(jìn)制轉(zhuǎn)十進(jìn)制,2為十進(jìn)制轉(zhuǎn)十六進(jìn)制</p><p>  ;***************************</p><p>  DECioct SEGMENT</p><p>  ASSUME CS:DECioct</p><p><b&

38、gt;  ;主程序部分。</b></p><p>  main PROC FAR</p><p>  start: MOV DL,3ah ;顯示提示附</p><p>  MOV AH,2</p><p>  INT 21h<

39、/p><p>  MOV AH,1 ;輸入選擇數(shù)字 </p><p>  INT 21h</p><p>  CMP AL,32h ;數(shù)字為1時(shí),執(zhí)行十六進(jìn)制轉(zhuǎn)十進(jìn)制 </p><p>  JE REPEat2 ;數(shù)字

40、為2時(shí),執(zhí)行十進(jìn)制轉(zhuǎn)十六進(jìn)制</p><p>  REPEat1: CALL octbin ;鍵盤(pán)輸入十六進(jìn)制數(shù)轉(zhuǎn)為二進(jìn)制 </p><p>  CALL crlf ;回車(chē)并換行 </p><p>  CALL binidec ;二進(jìn)制轉(zhuǎn)十進(jìn)制<

41、/p><p>  CALL crlf ;回車(chē)并換行</p><p>  JMP REPEat1 ;重復(fù)執(zhí)行 </p><p>  REPEat2: CALL DECibin ;鍵盤(pán)輸入十進(jìn)制數(shù)轉(zhuǎn)為二進(jìn)制</p><p>  CALL

42、 crlf ;回車(chē)并換行 </p><p>  CALL binioct ;二進(jìn)制轉(zhuǎn)十六進(jìn)制</p><p>  CALL crlf ;回車(chē)并換行 </p><p>  JMP REPEat2

43、 ;重復(fù)執(zhí)行</p><p>  main ENDP</p><p>  ;-----------------------------</p><p><b>  ;十進(jìn)制轉(zhuǎn)二進(jìn)制</b></p><p>  DECibin PROC NEAR</p&g

44、t;<p>  MOV BX,0 ;將BX清零</p><p>  NEwchar2: </p><p>  MOV AH,1 </p><p>  INT 21h ;21號(hào)中斷輸入</p><p

45、>  SUB AL,30h ;ASCII轉(zhuǎn)二進(jìn)制 </p><p>  JL exit2 ;<0則跳轉(zhuǎn)</p><p>  CMP AL,9d ;判斷是否>9</p><p>  JG exit2

46、 ;如果大于則不是十進(jìn)制數(shù)</p><p>  CBW ;字節(jié)轉(zhuǎn)為字</p><p>  XCHG AX,BX ;交換寄存器</p><p>  MOV CX,10d ;把10放如CX</p><p>  M

47、UL CX ;AX擴(kuò)大10倍</p><p>  XCHG AX,BX ;交換寄存器</p><p>  ADD BX,AX ;原數(shù)的10倍加上輸入數(shù)</p><p>  JMP NEwchar2 ;跳轉(zhuǎn)輸入

48、</p><p>  exit2: </p><p><b>  RET</b></p><p>  DECibin ENDP</p><p>  ;--------------------------------------- </p><p>

49、;  ;---------------------------------------</p><p><b>  二進(jìn)制轉(zhuǎn)十六進(jìn)制</b></p><p>  Binioct proc near</p><p>  Mov ch,4</p><p>  Rotate: mov cl,4<

50、;/p><p>  Rol bx,cl</p><p>  Mov al,bl</p><p>  And al,0fh</p><p>  Add al,30h</p><p>  Cmp al,3ah</p><p>  jl printit</p&

51、gt;<p>  Add al,7h</p><p><b>  Printit:</b></p><p>  Mov dl,al</p><p>  Mov ah,2</p><p>  Int 21h</p><p><b>  Dec c

52、h</b></p><p>  Jnz rotate</p><p><b>  Ret</b></p><p>  Binioct endp</p><p>  ---------------------------------------</p><p><b>

53、;  十六進(jìn)制轉(zhuǎn)為二進(jìn)制</b></p><p>  octbin PROC NEAR</p><p>  MOV BX,0 ; BX清零</p><p>  NEwchar1: </p><p>  MOV AH,1

54、 ;輸入數(shù)字</p><p>  INT 21h </p><p>  SUB AL,30h ;轉(zhuǎn)換為二進(jìn)制數(shù)</p><p>  JL exit1</p><p>  CMP AL,16d ;如果&

55、lt;8則跳轉(zhuǎn)</p><p>  JL ADD_to1</p><p>  CMP AL,10h</p><p>  JGE exit1</p><p>  ADD_to1: </p><p>  MOV CL,4 ;移

56、位數(shù)字3</p><p>  SHL BX,CL ;左移3位</p><p>  MOV AH,0 ;AH清0</p><p>  ADD BX,AX ;把新位移入數(shù)字</p><p>  JMP NEwch

57、ar1 ;跳轉(zhuǎn)繼續(xù)輸入</p><p>  exit1: </p><p><b>  RET</b></p><p>  octbin ENDP</p><p><b>  二進(jìn)制轉(zhuǎn)化為十進(jìn)制</b></p><

58、p>  binidec PROC NEAR</p><p>  MOV CX,10000d ;除數(shù)為10000</p><p>  CALL DEC_div</p><p>  MOV CX,1000d ;除數(shù)為1000</p><p>

59、;  CALL DEC_div</p><p>  MOV CX,100d ;除數(shù)為100</p><p>  CALL DEC_div</p><p>  MOV CX,10d ;除數(shù)為10</p><p>  CALL DEC_d

60、iv</p><p>  MOV CX,1d ;除數(shù)為1</p><p>  CALL DEC_div</p><p><b>  RET</b></p><p>  ;---------------------------------------</p>

61、<p><b>  ;子程序</b></p><p>  DEC_div PROC NEAR</p><p>  MOV AX,BX ;把二進(jìn)制數(shù)移入AX</p><p>  MOV DX,0 ;DX高八位清零</

62、p><p>  DIV CX ;除數(shù)CX</p><p>  MOV BX,DX ;余數(shù)移入BX</p><p>  MOV DL,AL ;商移入DL</p><p>  ADD DL,30h

63、 ;轉(zhuǎn)換為ASCII</p><p>  MOV AH,2 ;輸出十進(jìn)制數(shù)位</p><p>  INT 21h</p><p><b>  RET</b></p><p>  DEC_div ENDP</p>

64、<p>  ;---------------------------------------</p><p>  binidec ENDP</p><p>  ;--------------------------------------- </p><p>  ;回車(chē)和換行。 </p&

65、gt;<p>  crlf PROC NEAR</p><p>  MOV DL,0dh ;回車(chē)</p><p>  MOV AH,2 ;輸出</p><p>  INT 21h</p><p&g

66、t;  MOV DL,0ah ;換行</p><p>  MOV AH,2 ;輸出</p><p>  INT 21h</p><p><b>  RET</b></p><p>  crlf

67、ENDP</p><p>  ;----------------------------------------</p><p>  DECioct ENDS</p><p>  ;*****************************************</p><p>  END start</p&g

溫馨提示

  • 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ù)僅提供信息存儲(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)論