国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

 找回密碼
 注冊
搜索

51單片機匯編語言程序設計例程 將存儲字單元Result的學號

[復制鏈接]
樓主
eng 發表于 2021-6-20 02:22:08 | 只看該作者 |倒序瀏覽 |閱讀模式
將存儲字單元Result的本人學號(例如:19年級4班學號30即為:19430數字),以不同進制的方式顯示在屏幕上。設計顯示菜單,通過菜單選擇1 HEX進制、2 DEC 十進制、3 BIN二進制,4返回。
  1. DATAS SEGMENT
  2. Result DW 19418D  ;=4BDAH=100 1011 1101 1010B
  3. BUFF DW 10000,1000,100,10,1 ;中間變量
  4. Menu DB'     Menu-Display Format Select(1-4):',0DH,0AH
  5.          DB'  1HEX-Hexadecimal',0DH,0AH  ;4BDAH
  6.          DB'  2DEC-Decimal',0DH,0AH   ;19418
  7.          DB'  3BIN-Binary',0DH,0AH  ;100 1011 1101 1010B
  8.          DB'  4ESC-Exit!',0DH,0AH,'


  9. IN_Err DB 0DH,0AH,'*****INPUT ERROR!*****',0DH,0AH,'


  10. LF   DB 0DH,0AH,'


  11. DATAS ENDS
  12. CSEG SEGMENT
  13.          ASSUME CS:CSEG,DS:DATAS
  14.          
  15. START:
  16.          MOV AX,DATAS
  17.          MOV DS,AX
  18.          LEA DX,Menu
  19.          MOV AH,09H
  20.          INT 21H
  21.          
  22. MAIN:
  23.          MOV AH,01H
  24.          INT 21H
  25.          CALL CRLF
  26.          CMP AL,31H
  27.          JE NEXT1
  28.          CMP AL,32H
  29.          JE NEXT2
  30.           CMP AL,33H
  31.          JE NEXT3
  32.          CMP AL,34H
  33.          JE NEXT4
  34.          JMP NEXT5
  35.          
  36. NEXT1:
  37.           LEA SI,Result
  38.           MOV BX,[SI]
  39.           CALL HEX
  40.           CALL CRLF
  41.           JMP MAIN
  42. NEXT2:
  43.           MOV CX,5
  44.           MOV AX,Result
  45.           MOV SI,OFFSET BUFF
  46. NEXT: XOR DX,DX
  47.           DIV WORD PTR[SI]
  48.       PUSH DX
  49.           OR AL,30H
  50.           MOV DL,AL
  51.           MOV AH,02H
  52.           INT 21H
  53.           INC SI
  54.           INC SI
  55.           POP AX
  56.           LOOP NEXT
  57.           CALL CRLF
  58.           JMP MAIN
  59.          
  60. NEXT3:
  61.       LEA SI,Result
  62.           MOV AX,[SI]
  63.           CALL BIN
  64.           CALL CRLF
  65.           JMP MAIN
  66.          
  67. NEXT4:
  68.       CALL EX
  69.           JMP MAIN
  70.          
  71. NEXT5:
  72.       CALL INTERROR
  73.           JMP MAIN
  74.       
  75. BIN proc  near
  76.         PUSH BX
  77.         PUSH CX
  78.         PUSH DX
  79.         MOV BX,AX
  80.         MOV CX,16
  81. S:  MOV DX,30H
  82.         SHL BX,1
  83.         ADC DX,0
  84.         MOV AH,2
  85.         INT 21H
  86.         LOOP S
  87.         POP DX
  88.         POP CX
  89.         POP BX
  90.         RET
  91. BIN endp
  92. HEX proc near
  93.         MOV CH,04D
  94.   ROTATE:
  95.     MOV CL,04D
  96.     ROL BX,CL        
  97.     MOV AL,BL
  98.     AND AL,0FH     
  99.     ADD AL,30H     
  100.     CMP AL,'9'
  101.     JBE  PRINTF      
  102.     ADD AL,07H   
  103.    
  104.   PRINTF:
  105.     MOV DL,AL     
  106.     MOV AH,2
  107.     INT 21H
  108.     DEC CH
  109.     JNE ROTATE  
  110.     RET
  111. HEX endp
  112.          
  113. INTERROR proc near
  114.           LEA DX,IN_Err
  115.           MOV AH,09H
  116.           INT 21H
  117.           RET
  118. INTERROR endp
  119. CRLF proc near
  120.          LEA DX,LF
  121.          MOV AH,09H
  122.          INT 21H
  123.          RET
  124. CRLF endp
  125. EX proc near
  126.          MOV AH,4CH
  127.          INT 21H
  128.          RET
  129. EX endp
  130. CSEG ENDS
  131.       END START
復制代碼


您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

手機版|小黑屋|ELEOK |網站地圖

GMT+8, 2026-5-26 14:29

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回復 返回頂部 返回列表