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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  匯編語言課程設計報告</p><p>  ( 2011 -- 2012 年度第 2 學期)</p><p><b>  代碼轉換程序</b></p><p> 專業(yè)計算機科學與技術</p><p> 學生姓名</p><p> 班級</p><p> 

2、學號</p><p> 指導教師</p><p> 完成日期2012年6月22日</p><p><b>  目 錄</b></p><p><b>  1 設計目的1</b></p><p><b>  2 設計內容1</b></p&g

3、t;<p><b>  3 實現(xiàn)方法1</b></p><p>  3.1 系統(tǒng)目標1</p><p>  3.2 主體功能1</p><p>  3.3 開發(fā)環(huán)境1</p><p><b>  4系統(tǒng)概要設計1</b></p><p>  4.1 系

4、統(tǒng)的功能模塊劃分1</p><p>  4.2 系統(tǒng)流程圖2</p><p><b>  5系統(tǒng)詳細設計4</b></p><p>  5.1 程序功能菜單模塊設計4</p><p>  5.2小寫字母向大寫字母轉換模塊設計4</p><p>  5.3大寫字母向小寫字母轉換模塊設計5

5、</p><p>  5.4 二進制數(shù)向十六進制數(shù)轉換模塊設計5</p><p>  5.5 十六進制數(shù)向二進制數(shù)轉換模塊設計5</p><p>  5.6 十六進制數(shù)向十進制數(shù)轉換模塊設計6</p><p><b>  6 測試6</b></p><p>  6.1 測試方案6<

6、/p><p>  6.2 測試結果7</p><p><b>  7小 結7</b></p><p><b>  參考文獻9</b></p><p><b>  附 錄10</b></p><p>  附錄1 源程序清單10</p

7、><p>  附錄1.1程序功能菜單模塊源程序10</p><p>  附錄1.2小寫字母向大寫字母轉換模塊源程序12</p><p>  附錄1.3大寫字母向小寫字母轉換模塊源程序13</p><p>  附錄1.4二進制數(shù)向十六進制數(shù)轉換模塊源程序13</p><p>  附錄1.5十六進制數(shù)向二進制數(shù)轉換模塊

8、源程序14</p><p>  附錄1.6十六進制數(shù)向十進制數(shù)轉換模塊源程序15</p><p><b>  代碼轉換程序</b></p><p>  1 設計目的 </p><p>  本課程設計是在學完教學大綱規(guī)定的全部內容、完成所有實踐環(huán)節(jié)的基礎上,旨在深化學生學習的匯編語言課程基本知識,進一步掌

9、握匯編語言程序設計方法,提高分析問題、解決問題的綜合應用能力。</p><p><b>  2 設計內容</b></p><p>  功能菜單的編制;小寫字母向大寫字母的轉換;大寫字母向小寫字母的轉換;二進制數(shù)向十六進制數(shù)的轉換;十六進制數(shù)向二進制數(shù)的轉換;十六進制數(shù)向十進制數(shù)的轉換。</p><p><b>  3 實現(xiàn)方法<

10、/b></p><p><b>  3.1 系統(tǒng)目標</b></p><p>  實現(xiàn)代碼轉換:大小寫字母之間轉換,二進制、十進制、十六進制之間的相互轉換。</p><p><b>  3.2 主體功能</b></p><p>  Change1模塊實現(xiàn)小寫字母向大寫字母的轉換,change2

11、模塊實現(xiàn)大寫字母向小寫字母的轉換。在實際應用中,不僅有數(shù)值的運算,還有更多的是大量的非數(shù)值的處理,特別是在現(xiàn)代或今后的社會活動中,非數(shù)值處理在管理程序、文字處理和過程控制中將會得到廣泛的應用。</p><p>  Change3模塊實現(xiàn)二進制數(shù)向十六進制數(shù)的轉換,change4實現(xiàn)十六進制數(shù)向二進制數(shù)的轉換,change5實現(xiàn)十六進制數(shù)向十進制數(shù)的轉換。由于用戶輸入的數(shù)一般是用十進制表示的,而這些數(shù)在計算機內存儲

12、、運算時一般都是用二進制,這就涉及到了十進制數(shù)向二進制的轉換問題,所以二進制和十進制之間的轉換算法是匯編語言程序員應該掌握的基本算法之一。</p><p><b>  3.3 開發(fā)環(huán)境</b></p><p>  TASM5.0集成環(huán)境。</p><p><b>  4系統(tǒng)概要設計</b></p><p

13、>  4.1 系統(tǒng)的功能模塊劃分</p><p>  本程序共有7個模塊,start模塊為核心模塊,該模塊調用main模塊和change5模塊,main模塊又調用change1、change2、change3和change4四個模塊,其中:change1模塊實現(xiàn)小寫字母到大寫字母的轉換;change2模塊實現(xiàn)大寫字母向小寫字母的轉換;Change3模塊實現(xiàn)二進制數(shù)向十六進制數(shù)的轉換;change4實現(xiàn)十六進

14、制數(shù)向二進制數(shù)的轉換;change5實現(xiàn)十六進制數(shù)向十進制數(shù)的轉換。</p><p><b>  4.2 系統(tǒng)流程圖</b></p><p>  圖3-2-1 程序流程圖</p><p>  圖3-2 小寫向大寫轉換 圖3-3 大寫向小寫轉換</p><p>  圖3-4 二進制向

15、十六進制轉換 圖3-5 十六進制向二進制轉換</p><p>  圖3-6 十六進制向十進制轉換</p><p><b>  5系統(tǒng)詳細設計</b></p><p>  5.1 程序功能菜單模塊設計</p><p>  主菜單的功能選擇菜單的代碼如下:</p><p>

16、;  ;*****主程序中的提示信息*****</p><p>  str1 DB 0AH,0DH, '******************************************************$'</p><p>  str2 DB 0AH,0DH, '** Welcome you !

17、 **$'</p><p>  str3 DB 0AH,0DH, '**--------------------------------------------------------------------------**$'</p><p>  str4 DB 0AH,0DH, '** This is programme of

18、code conversion! **$'</p><p>  str5 DB 0AH,0DH, '** Please input your choice: **$'</p><p>  str6 DB 0AH,0DH, '** 1:Lowercase lette

19、rs to Capital letters **$'</p><p>  str7 DB 0AH,0DH, '** 2:Capital letters to Lowercase letters **$'</p><p>  str8 DB 0AH,0DH, '** 3:Binary

20、to Hex **$'</p><p>  str9 DB 0AH,0DH, '** 4:Hex to Binary **$'</p><p>  str10 DB 0AH,0DH, '** 5:Hex to Dec

21、imal **$'</p><p>  str11 DB 0AH,0DH, '** 6:Quit or exit **$'</p><p>  str12 DB 0AH,0DH, '*************************

22、*****************************$'</p><p>  通過disp語言將其打印在屏幕上,用戶可以通過輸入不同的字母來選擇實現(xiàn)不同的功能。(輸入的字母不區(qū)分大小寫)</p><p>  5.2小寫字母向大寫字母轉換模塊設計</p><p>  先從鍵盤上讀取字符:</p><p>  start:push

23、ds</p><p><b>  sub ax,ax</b></p><p><b>  push ax</b></p><p>  mov ax,data</p><p><b>  mov ds,ax</b></p><p>  并判斷字符是否有效:

24、</p><p>  again:mov ah,1</p><p><b>  int 21h </b></p><p>  cmp al,'0'</p><p>  得到有效字符之后,通過ASCII值進行運算得到相應的大寫字母并輸出。</p><p>  5.3大寫字母向小寫字母

25、轉換模塊設計</p><p>  先從鍵盤上讀取字符:</p><p>  start:push ds</p><p><b>  sub ax,ax</b></p><p><b>  push ax</b></p><p>  mov ax,data</p>

26、<p><b>  mov ds,ax</b></p><p>  并判斷字符是否有效:</p><p>  again:mov ah,1</p><p><b>  int 21h </b></p><p>  cmp al,'0'</p><p&g

27、t;  得到有效字符之后,通過ASCII值進行運算得到相應的小寫字母并輸出。</p><p>  5.4 二進制數(shù)向十六進制數(shù)轉換模塊設計</p><p>  先從鍵盤上讀取字符:</p><p>  start:push ds</p><p><b>  sub ax,ax</b></p><p&g

28、t;<b>  push ax</b></p><p>  mov ax,data</p><p><b>  mov ds,ax</b></p><p>  并判斷字符是否有效:</p><p>  again:mov ah,1</p><p><b>  int

29、 21h </b></p><p>  cmp al,'0'</p><p>  當?shù)玫接行ё址麜r,對得到的二進制數(shù)進行運算得到十六進制數(shù)并輸出,在輸出時在數(shù)字的結尾加上十六進制標識符H。</p><p>  5.5 十六進制數(shù)向二進制數(shù)轉換模塊設計</p><p>  先從鍵盤上讀取字符:</p>

30、<p>  start:push ds</p><p><b>  sub ax,ax</b></p><p><b>  push ax</b></p><p>  mov ax,data</p><p><b>  mov ds,ax</b></p>

31、<p>  并判斷字符是否有效:</p><p>  again:mov ah,1</p><p><b>  int 21h </b></p><p>  cmp al,'0'</p><p>  當?shù)玫接行ё址麜r,對得到的十六進制數(shù)進行運算得到二進制進制數(shù)并輸出,在輸出時在數(shù)字的結尾加上二

32、進制數(shù)標識符B。</p><p>  5.6 十六進制數(shù)向十進制數(shù)轉換模塊設計</p><p>  先從鍵盤上讀取字符:</p><p>  start:push ds</p><p><b>  sub ax,ax</b></p><p><b>  push ax</b>

33、</p><p>  mov ax,data</p><p><b>  mov ds,ax</b></p><p>  并判斷字符是否有效:</p><p>  again:mov ah,1</p><p><b>  int 21h </b></p><

34、;p>  cmp al,'0'</p><p>  當?shù)玫接行ё址麜r,對得到的十六進制數(shù)進行運算得到十進制數(shù)并輸出,在輸出時在數(shù)字的結尾加上十進制數(shù)標識符D。</p><p><b>  6 測試</b></p><p><b>  6.1 測試方案</b></p><p> 

35、 圖6-1-1 程序運行時的主界面</p><p>  圖6-1-2 小寫字母轉換為大寫字母</p><p>  圖6-1-3 大寫字母轉換為小寫字母</p><p>  圖6-1-4 二進制數(shù)轉換為十六進制數(shù)</p><p>  圖6-1-5 十六進制數(shù)轉換為二進制數(shù)</p><p>  圖6-1-6 十六進制數(shù)轉換

36、為十進制數(shù)</p><p>  圖6-1-7 當輸入錯誤時提示重新輸入</p><p><b>  6.2 測試結果</b></p><p>  程序在設計完成之初匯編時出現(xiàn)非法錯誤,在進行修改后可正常運行。程序能夠正常的進行大小寫字母的轉換,二進制數(shù)、十進制數(shù)、十六進制數(shù)之間的轉換,但在主程序和子程序之間的銜接仍存在部分問題,未完全達到預計的

37、功能,輸入選項與子程序的調用存在部分缺陷,需要進一步進行細節(jié)上的改進。</p><p><b>  7小 結</b></p><p>  經過近一個星期的工作,才把課程設計完成。經過這次課程設計,我加深了對匯編語言的理解,也對上課時所說的語法有了深刻的認識。相對于以前學習的高級語言,對匯編語言的第一印象是很酷,因為它很抽象。懷著崇拜的心情學著匯編語言,雖然枯燥,

38、但是每當完成一個很簡單的程序就會感到非常的有成就感。 當我剛開始選擇這個題目是因為課本上有一個相近的代碼轉換,所以感覺這個題目應該很好寫??墒堑鹊秸嬲齽邮值臅r候就感到了困難。首先是對字符串的輸入輸出的處理, 解決不了就改成了字母大小寫轉換是每次只輸入一個字母,然后根據(jù)其大小寫轉換,如大寫就轉換成小寫,否則反之。然而在隨后的進制轉換中用遇到了同樣的問題,發(fā)現(xiàn) 這是一個不能不解決的問題,隨后查閱了資料才解決。</p><

39、p>  課程設計過程,是對團隊精神考察的過程,讓我們在合作起來更加默契,在成功后一起體會喜悅的心情。團結就是力量,只有互相之間默契融洽的配合才能換來最終完美的結果。此次設計也讓我明白了思路即出路,有什么不懂不明白的地方要及時請教或上網(wǎng)查詢或者同學間相互討論,只要認真鉆研,動腦思考,動手實踐,就沒有克服不了的難題。</p><p>  回顧起此課程設計,至今我仍感慨頗多,從理論到實踐,在這段日子里,可以說得是

40、苦多于甜,但是可以學到很多很多的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正的掌握所學的知識,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,但可喜的是最終都得到了解決。 </p><p>&

41、lt;b>  參考文獻</b></p><p>  [1]劉其明. 匯編語言程序設計教程[M]. 江蘇:中國礦業(yè)大學出版社, 2010.10</p><p>  [2]沈美明. IBM-PC匯編語言程序設計實驗教程[M]. 北京:清華大學出版社,2010.6</p><p><b>  附 錄</b></p>

42、<p><b>  附錄1 源程序清單</b></p><p>  附錄1.1程序功能菜單模塊源程序</p><p><b>  start主菜單:</b></p><p>  extrn main:far,change1:far,change2:far,change3:far,change4:far,cha

43、nge5:far</p><p>  stack segment para public 'stack'</p><p>  db 200 dup (0)</p><p>  stack ends</p><p>  data segment</p><p>  ;*****主程序中的提示信息*****

44、</p><p>  str1 DB 0AH,0DH, '******************************************************$'</p><p>  str2 DB 0AH,0DH, '** Welcome you ! **$'</p&

45、gt;<p>  str3 DB 0AH,0DH, '**--------------------------------------------------------------------------**$'</p><p>  str4 DB 0AH,0DH, '** This is programme of code conversion!

46、 **$'</p><p>  str5 DB 0AH,0DH, '** Please input your choice: **$'</p><p>  str6 DB 0AH,0DH, '** 1:Lowercase letters to Capital letters

47、 **$'</p><p>  str7 DB 0AH,0DH, '** 2:Capital letters to Lowercase letters **$'</p><p>  str8 DB 0AH,0DH, '** 3:Binary to Hex

48、 **$'</p><p>  str9 DB 0AH,0DH, '** 4:Hex to Binary **$'</p><p>  str10 DB 0AH,0DH, '** 5:Hex to Decimal

49、 **$'</p><p>  str11 DB 0AH,0DH, '** 6:Quit or exit **$'</p><p>  str12 DB 0AH,0DH, '**************************************************

50、****$'</p><p>  str13 DB 0Ah,0Dh,'Input error,please repess!','$'</p><p>  str14 DB 0AH,0DH,0AH,0DH, 'Input your choice:','$'</p><p><b>  d

51、ata ends</b></p><p>  code segment</p><p>  assume cs:code,ds:data,ss:stack</p><p>  start: mov ax,data</p><p><b>  mov ds,ax</b></p><p>

52、  disp macro m</p><p><b>  lea dx,m</b></p><p><b>  mov ah,9</b></p><p><b>  int 21h</b></p><p><b>  endm</b></p>

53、<p><b>  disp str1</b></p><p><b>  disp str2</b></p><p><b>  disp str3</b></p><p><b>  disp str4</b></p><p><b

54、>  disp str5</b></p><p><b>  disp str6</b></p><p><b>  disp str7</b></p><p><b>  disp str8</b></p><p><b>  disp str9&

55、lt;/b></p><p>  disp str10</p><p>  disp str11</p><p>  disp str12</p><p>  disp str14</p><p>  lop: mov ah,8</p><p><b>  int 21h<

56、;/b></p><p>  cmp al,'1'</p><p><b>  jz ltol</b></p><p>  cmp al,'2'</p><p><b>  jz lto2</b></p><p>  cmp al,&

57、#39;3'</p><p><b>  jz lto3</b></p><p>  cmp al,'4'</p><p><b>  jz lto4</b></p><p>  cmp al,'5'</p><p><b&g

58、t;  jz lto5</b></p><p>  cmp al,'6'</p><p><b>  jz exit</b></p><p>  disp str13</p><p>  disp str14</p><p><b>  jmp lop<

59、;/b></p><p>  ltol: call main</p><p>  call change1</p><p><b>  jmp lop</b></p><p>  lto2: call main</p><p>  call change2</p><p&

60、gt;<b>  jmp lop</b></p><p>  lto3: call main</p><p>  call change3</p><p><b>  jmp lop</b></p><p>  lto4: call main</p><p>  call c

61、hange4</p><p><b>  jmp lop</b></p><p>  lto5: call main</p><p>  call change5</p><p><b>  jmp lop</b></p><p>  exit: mov ah,4ch<

62、/p><p><b>  int 21h</b></p><p>  code ends</p><p><b>  end start</b></p><p><b>  main菜單:</b></p><p>  public info1,info2

63、,bufa,bufb,buf,main,info0,info3</p><p>  extrn change1:far,change2:far,change3:far,change4:far</p><p>  data segment</p><p>  info0 db 0ah,0dh,'this is the change of letter to

64、 leter:$' </p><p>  info1 db 0ah,0dh,'please input string:$'</p><p>  info2 db 0ah,0dh,'output string:$'</p><p>  bufa db 81</p><p><b>  

65、db ?</b></p><p>  db 80 dup (?)</p><p>  bufb db 80 dup (?)</p><p>  info3 db 0ah,0dh,'this is the change of digital to digital:',0ah,0dh,'$'</p><p

66、>  buf db 0dh,0ah,'the number is:0100101010001111b',0ah,0dh,'the result is:$'</p><p><b>  data ends</b></p><p>  stack segment stack</p><p>  db 200

67、 dup (?)</p><p>  stack ends</p><p>  code segment</p><p>  main proc far</p><p>  assume ds:data,cs:code,ss:stack</p><p>  mov ax,data</p><p>

68、;<b>  mov ds,ax</b></p><p>  disp macro m</p><p><b>  lea dx,m</b></p><p><b>  mov ah,9</b></p><p><b>  int 21h</b><

69、/p><p><b>  endm</b></p><p>  call change1</p><p>  call change2</p><p>  disp info3</p><p><b>  disp buf</b></p><p>  c

70、all change3</p><p>  call change4</p><p><b>  ret</b></p><p><b>  main endp</b></p><p><b>  code ends</b></p><p><b&

71、gt;  end </b></p><p>  附錄1.2小寫字母向大寫字母轉換模塊源程序</p><p>  extrn info1:byte,info2:byte,bufa:byte,bufb:byte,info0:byte</p><p>  public change1</p><p>  code segment<

72、/p><p>  assume cs:code</p><p>  lowtohigh proc near</p><p>  cmp al,'a'</p><p><b>  jb stop</b></p><p>  cmp al,'z'</p>&l

73、t;p><b>  ja stop</b></p><p>  sub al,20h</p><p><b>  stop :ret</b></p><p>  lowtohigh endp</p><p>  change1 proc far</p><p>  le

74、a dx,info0</p><p><b>  mov ah,9</b></p><p><b>  int 21h</b></p><p>  lea dx,info1</p><p><b>  mov ah,9</b></p><p><b

75、>  int 21h</b></p><p>  lea dx,bufa</p><p><b>  mov ah,10</b></p><p><b>  int 21h</b></p><p>  lea si,bufa+1</p><p>  lea

76、di,bufb</p><p><b>  mov ch,0</b></p><p>  mov cl,[si]</p><p><b>  add si,1</b></p><p>  next:mov al,[si]</p><p>  call lowtohigh<

77、;/p><p>  mov [di],al</p><p><b>  inc si</b></p><p><b>  inc di</b></p><p><b>  loop next</b></p><p>  mov byte ptr [di],&

78、#39;$'</p><p>  lea dx,info2</p><p><b>  mov ah,9</b></p><p><b>  int 21h</b></p><p>  lea dx,bufb</p><p><b>  mov ah,9&l

79、t;/b></p><p><b>  int 21h</b></p><p><b>  ret</b></p><p>  change1 endp</p><p><b>  code ends</b></p><p><b>  

80、end </b></p><p>  附錄1.3大寫字母向小寫字母轉換模塊源程序</p><p>  extrn info1:byte,info2:byte,bufa:byte,bufb:byte</p><p>  public change2</p><p>  code segment</p><p>

81、;  assume cs:code</p><p>  hightolow proc near</p><p>  cmp al,'A'</p><p><b>  jb stop</b></p><p>  cmp al,'Z'</p><p><b>

82、;  ja stop</b></p><p>  add al,20h</p><p><b>  stop:ret</b></p><p>  hightolow endp</p><p>  change2 proc far</p><p>  lea dx,info1</p

83、><p><b>  mov ah,9</b></p><p><b>  int 21h</b></p><p>  lea dx,bufa</p><p><b>  mov ah,10</b></p><p><b>  int 21h<

84、;/b></p><p>  lea si,bufa+1</p><p>  lea di,bufb</p><p><b>  mov ch,0</b></p><p>  mov cl,[si]</p><p><b>  inc si</b></p>

85、<p>  next:mov al,[si]</p><p>  call hightolow</p><p>  mov [di],al</p><p><b>  inc si</b></p><p><b>  inc di</b></p><p><

86、b>  loop next</b></p><p>  mov byte ptr [di] ,'$'</p><p>  lea dx,info2</p><p><b>  mov ah,9</b></p><p><b>  int 21h</b></p&

87、gt;<p>  lea dx,bufb</p><p><b>  mov ah,9</b></p><p><b>  int 21h</b></p><p><b>  ret</b></p><p>  change2 endp</p>&l

88、t;p><b>  code ends</b></p><p><b>  end</b></p><p>  附錄1.4二進制數(shù)向十六進制數(shù)轉換模塊源程序</p><p>  extrn buf:byte,info3:byte</p><p>  public change3</p&g

89、t;<p>  code segment</p><p>  change3 proc far</p><p>  assume cs:code</p><p><b>  sub ax,ax</b></p><p><b>  mov ch,4</b></p><

90、p><b>  mov cl,4</b></p><p>  mov bx,4a8fh</p><p>  rotate: rol bx,cl</p><p><b>  mov al,bl</b></p><p>  and al,0fh</p><p>  add

91、al,30h</p><p>  cmp al,3ah</p><p>  jl printit</p><p><b>  add al,7h</b></p><p>  printit: mov dl,al</p><p><b>  mov ah,2</b></p

92、><p><b>  int 21h</b></p><p><b>  dec ch</b></p><p>  jnz rotate</p><p>  mov dl,'H'</p><p><b>  mov ah,2</b></

93、p><p><b>  int 21h</b></p><p><b>  ret</b></p><p>  change3 endp</p><p>  code ends</p><p><b>  end</b></p>&l

94、t;p>  附錄1.5十六進制數(shù)向二進制數(shù)轉換模塊源程序</p><p>  public change4</p><p>  data segment</p><p>  buf db 0ah,0dh,'please input the four hexnumber:$'</p><p><b>  dat

95、a ends</b></p><p>  code segment</p><p>  assume cs:code,ds:data</p><p>  change4 proc far</p><p>  mov ax,data</p><p><b>  mov ds,ax</b>

96、</p><p>  lea dx,buf</p><p><b>  mov ah,9</b></p><p><b>  int 21h</b></p><p><b>  mov bx,0</b></p><p><b>  mov ch

97、,4</b></p><p>  input: mov cl,4</p><p><b>  sal bx,cl</b></p><p><b>  mov ah,1</b></p><p><b>  int 21h</b></p><p>

98、;  cmp al,39h</p><p><b>  ja af</b></p><p>  and al,0fh</p><p>  jmp binary</p><p>  af: and al,0fh</p><p><b>  add al,9</b><

99、/p><p>  binary: or bl,al</p><p><b>  dec ch</b></p><p><b>  cmp ch,0</b></p><p><b>  jne input</b></p><p>  mov dl,'H

100、'</p><p><b>  mov ah,2</b></p><p><b>  int 21h</b></p><p>  mov dl,0ah</p><p><b>  mov ah,2</b></p><p><b>  i

101、nt 21h</b></p><p>  mov dl,0dh</p><p><b>  mov ah,02</b></p><p><b>  int 21h</b></p><p><b>  mov cx,16</b></p><p>

102、;  disp: mov dl,0</p><p><b>  rol bx,1</b></p><p><b>  rcl dl,1</b></p><p><b>  or dl,30h</b></p><p>  mov ah,02h</p><p&

103、gt;<b>  int 21h</b></p><p><b>  loop disp</b></p><p>  mov dl,'B'</p><p><b>  mov ah,2</b></p><p><b>  int 21h</b&g

104、t;</p><p><b>  ret</b></p><p>  change4 endp</p><p>  code ends</p><p><b>  end</b></p><p>  附錄1.6十六進制數(shù)向十進制數(shù)轉換模塊源程序</p><

105、;p>  public change5</p><p>  data segment</p><p>  binary dw 7fffh,50h</p><p>  n=($-binary)/2</p><p>  buf db 7 dup(0)</p><p>  info1 db 0ah,0dh,'

106、this is the change from hexnumber to decimal:$'</p><p>  info2 db 0ah,0dh,'the number is:7fffh,50h$',0ah,0dh</p><p>  info3 db 0ah,0dh,'the result is:$'</p><p>&

107、lt;b>  data ends</b></p><p>  stack segment stack</p><p>  db 200 dup(0)</p><p>  stack ends </p><p>  code segment</p><p>  assume cs:code,ds

108、:data,ss:stack</p><p>  f2to10 proc near</p><p><b>  push bx</b></p><p><b>  push dx</b></p><p><b>  push si</b></p><p>

109、;<b>  push cx</b></p><p>  disp macro m</p><p><b>  lea dx,m</b></p><p><b>  mov ah,9</b></p><p><b>  int 21h</b></p

110、><p><b>  endm</b></p><p>  lea si,buf</p><p><b>  or ax,ax</b></p><p><b>  jns plus</b></p><p><b>  neg ax</b&g

111、t;</p><p>  mov [si],byte ptr '-'</p><p><b>  inc si</b></p><p>  plus: mov bx,10</p><p><b>  mov cx,0</b></p><p>  lop1: m

112、ov dx,0</p><p><b>  div bx</b></p><p><b>  push dx</b></p><p><b>  inc cx</b></p><p><b>  or ax,ax</b></p><p&

113、gt;<b>  jne lop1</b></p><p>  lop2: pop ax</p><p><b>  cmp al,10</b></p><p><b>  jb l1</b></p><p><b>  add al,7</b></

114、p><p>  l1: add al,30h</p><p>  mov [si],al</p><p><b>  inc si</b></p><p><b>  dec cx</b></p><p><b>  jne lop2</b></p

115、><p>  mov [si],byte ptr 'D'</p><p><b>  inc si</b></p><p>  mov [si],byte ptr '$'</p><p>  disp info3</p><p><b>  disp buf

116、</b></p><p><b>  pop cx</b></p><p><b>  pop si</b></p><p><b>  pop dx</b></p><p><b>  pop bx</b></p><p&

117、gt;<b>  ret</b></p><p>  f2to10 endp</p><p>  change5 proc far</p><p>  start: mov ax,data</p><p><b>  mov ds,ax</b></p><p>  disp

118、info1</p><p>  disp info2</p><p><b>  mov cx,n</b></p><p>  lea di,binary</p><p>  lopa: mov ax,[di]</p><p>  call f2to10</p><p>

119、<b>  add di,2</b></p><p><b>  loop lopa</b></p><p><b>  ret</b></p><p>  change5 endp</p><p><b>  code ends</b></p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論