久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4185|回復: 0
打印 上一主題 下一主題
收起左側

編寫程序求兩個十進制數之和,并將和以十進制數的形式送屏幕顯示

[復制鏈接]
跳轉到指定樓層
樓主

   匯編作業:
  1. DATA  SEGMENT
  2. KEYBUFFER DB 100
  3.           DB ?
  4.           DB 100 DUP(?)
  5. TEMP   DW ?
  6. ADD1    DB 100 DUP(?)
  7. ADD2    DB 100 DUP(?)
  8. SUM     DB 100 DUP(?)
  9. STRING1  DB 'Please input a decimal data:

  10.    [1] 從鍵盤輸入兩個十進制數(如12678532與21736543),以二進制數形式存放在ADD1和ADD2為首址的存貯器單元,輸入一個十進制數采用子程序形式。
  11.    [2] 和以二進制數的形式存入SUM以下單元。
  12.    [3] 將和送到屏幕顯示采用子程序形式。



  13. STRING2  DB 'The sum of two datas is:

  14.    [1] 從鍵盤輸入兩個十進制數(如12678532與21736543),以二進制數形式存放在ADD1和ADD2為首址的存貯器單元,輸入一個十進制數采用子程序形式。
  15.    [2] 和以二進制數的形式存入SUM以下單元。
  16.    [3] 將和送到屏幕顯示采用子程序形式。



  17. DATA ENDS
  18. STACK SEGMENT STACK 'STACK'
  19.        DW 100H DUP(?)
  20. TOP   LABEL WORD
  21. STACK ENDS
  22. CODE  SEGMENT
  23.        ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
  24. START:
  25.      MOV  AX, DATA
  26.      MOV  DS,AX
  27.      MOV  ES,AX
  28.      MOV  AX,STACK
  29.      MOV  SS,AX
  30.      LEA  SP,TOP
  31.      CALL INPUT                ;輸入十進制數
  32.      CALL DISPCR
  33.      LEA SI,KEYBUFFER        
  34.      CALL TRANS10TO32
  35.      MOV WORD PTR ADD1+2,DX    ;低位在前高位在后
  36.      MOV WORD PTR ADD1,AX
  37.      CALL INPUT                ;輸入十進制數
  38.      CALL DISPCR
  39.      LEA SI,KEYBUFFER              
  40.      CALL TRANS10TO32          ;將緩存區中ASCII碼轉換成32位二進制數
  41.      MOV WORD PTR ADD2+2,DX    ;低位在前高位在后
  42.      MOV WORD PTR ADD2,AX
  43.      LEA SI,ADD1
  44.      LEA DI,ADD2
  45.      MOV AX,[SI]
  46.      MOV BX,[DI]
  47.      ADD AX,BX                 ;低位相加
  48.      MOV WORD PTR SUM,AX
  49.      MOV AX,[SI+2]
  50.      MOV BX,[DI+2]
  51.      ADC AX,BX                 ;高位與低位進位相加
  52.      MOV WORD PTR SUM+2,AX
  53.      PUSH AX
  54.      PUSH DX
  55.      LEA DX,STRING2            ;顯示輸出提示字符串
  56.      MOV AH,09H
  57.      INT 21H
  58.      POP DX
  59.      POP AX
  60.      CALL DISPAXD
  61.      MOV AX,WORD PTR SUM
  62.      CALL DISPAXD
  63.      MOV AH,4CH
  64.      INT 21H
  65. DISPAXD PROC NEAR
  66. ;功能:將AX中的內容輸出為十進制
  67. ;入口參數:AX,DI(緩沖區地址)
  68. ;出口參數:無
  69.      PUSH AX
  70.      PUSH CX
  71.      PUSH DX       
  72.      PUSH DI
  73.      LEA DI,KEYBUFFER
  74.      MOV CX,5               
  75.      CALL TRANS16TO10          ;將16進制轉化為十進制   
  76.      LEA DI,KEYBUFFER+4
  77. L2:
  78.      MOV DL,[DI]
  79.      ADD DL,30H
  80.      MOV AH,02H               ;顯示
  81.      INT 21H
  82.      DEC DI                   ;從后往前輸出顯示
  83.      LOOP L2
  84.      POP DI
  85.      POP DX
  86.      POP CX
  87.      POP AX
  88.      RET
  89. DISPAXD  ENDP
  90. TRANS16TO10 PROC NEAR
  91. ;功能:將AX中的二進制數轉化為十進制
  92. ;入口參數:AX,DI(緩沖區地址)
  93. ;出口參數:緩沖區內容
  94.      PUSH AX
  95.      PUSH BX
  96.      PUSH CX
  97.      PUSH DX
  98.      PUSH DI
  99.      MOV BX,10
  100.      MOV CX,5                 ;循環五次
  101. L1:
  102.      XOR DX,DX
  103.      DIV BX
  104.      MOV [DI],DL
  105.      INC DI
  106.      LOOP L1
  107.      POP DI
  108.      POP DX
  109.      POP CX
  110.      POP BX
  111.      POP AX
  112.      RET
  113. TRANS16TO10 ENDP
  114. INPUT PROC NEAR      
  115. ;入口參數:DX(緩沖區首地址)
  116. ;出口參數:緩存區內容
  117.          LEA DX,STRING1       ;顯示輸入提示字符串
  118.          MOV AH,09H
  119.          INT 21H
  120.          LEA DX,KEYBUFFER
  121.          MOV AH,0AH
  122.          INT 21H
  123.          RET
  124. INPUT ENDP
  125. TRANS10TO32 PROC NEAR   
  126. ;將緩沖區中以ASCII碼表示的十進制數轉換成32位二進制數
  127. ;入口參數:SI(緩沖區首地址)
  128. ;出口參數:DX:AX(變換結果)
  129.       XOR AX,AX
  130.       XOR CX,CX
  131.       MOV CL,[SI+1]
  132.       ADD SI,2
  133.       MOV AL,[SI]
  134.       INC SI
  135.       SUB AL,30H
  136.       DEC CX
  137.       JCXZ TRANSF_OK
  138. TRANSF1:
  139.       MOV BX,DX
  140.       LEA DI,TEMP
  141.       MOV [DI],WORD PTR 000AH
  142.       MUL WORD PTR [DI]
  143.       PUSH AX
  144.       PUSH DX
  145.       MOV AX,BX
  146.       MUL WORD PTR [DI]
  147.       PUSH AX
  148.       POP DX
  149.       POP BX
  150.       ADD DX,BX
  151.       POP AX
  152.       XOR BX,BX
  153.       MOV BL,[SI]
  154.       INC SI
  155.       SUB BL,30H
  156.       ADD AX,BX
  157.       ADC DX,0
  158. LOOP TRANSF1
  159. TRANSF_OK:
  160.        RET
  161. TRANS10TO32 ENDP
  162. DISPCR  PROC  NEAR
  163.         PUSH AX
  164.         PUSH DX
  165.         MOV AH,2
  166.         MOV DL,0AH
  167.         INT 21H
  168.         MOV AH,2
  169.         MOV DL,0DH
  170.         INT 21H
  171.         POP DX
  172.         POP AX
  173.         RET
  174. DISPCR  ENDP
  175. CODE  ENDS
復制代碼


   [1] 從鍵盤輸入兩個十進制數(如12678532與21736543),以二進制數形式存放在ADD1和ADD2為首址的存貯器單元,輸入一個十進制數采用子程序形式。
   [2] 和以二進制數的形式存入SUM以下單元。
   [3] 將和送到屏幕顯示采用子程序形式。


匯編1.png (13.57 KB, 下載次數: 141)

1

1

1.doc

49 KB, 下載次數: 4, 下載積分: 黑幣 -5

代碼和程序

1.zip

1.25 KB, 下載次數: 5, 下載積分: 黑幣 -5

asm文件

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一区二区三区久久精品 | 欧美成人激情 | 91精品国产综合久久福利软件 | 久久99久久98精品免观看软件 | 亚洲永久入口 | 亚洲欧美激情视频 | .国产精品成人自产拍在线观看6 | 成年免费大片黄在线观看一级 | 精品久久国产老人久久综合 | 国产精品一区二区久久 | 99精品久久久久久 | 亚洲一区二区中文字幕 | 国产一区二区三区在线免费观看 | 亚洲性视频 | 国产乱码精品1区2区3区 | 中文字幕亚洲无线 | 琪琪午夜伦伦电影福利片 | 中文字幕在线剧情 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 羞羞在线视频 | 成人免费在线小视频 | 亚洲精品片 | 一区二区三区在线免费观看 | 成人av免费播放 | 婷婷久久精品一区二区 | 国产乱码久久久 | 国产在线精品一区二区三区 | 国产精品毛片一区二区在线看 | 国产精品福利视频 | 久久婷婷色 | 国产精品国产成人国产三级 | 亚洲福利一区二区 | 欧美中文一区 | 日朝毛片| 99精品网 | 欧美福利| 亚洲电影成人 | 欧美亚洲国产一区 | 日韩综合在线 | 成人在线免费 | 久久精品国产精品青草 |