⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2.txt

📁 从键盘上获得若干个十进制数
💻 TXT
字号:
程序2:从键盘上获得若干个十进制数,求他们的平均值,并输出到屏幕上 


   

.从键盘上输入若干个十进制数,并计算它们的平均值,并在屏幕上显示这个平均值 

    

   DATA  SEGMENT 

   INPUT DB 4 

         DB ? 

         DB 4 DUP (?) 

         DB '$' 

   NUM   DW 20 DUP(?) 

   AVE   DB ? 

   OUTPUT1 DB 'INPUT A NUMBER',0DH,0AH,'$' 

   OUTPUT2 DB 'INPUT AGAIN(END WITH #)',0DH,0AH,'$' 

   OUTPUT3 DB 'AVERAGE IS:','$' 

   DATA  ENDS 

   ;---------------- 

   CODE SEGMENT 

        ASSUME CS:CODE,DS:DATA 

    MAIN PROC FAR 

         PUSH DS 

         XOR AX,AX 

         PUSH AX 

         MOV  AX,DATA 

         MOV  DS,AX 

   START:MOV DX,OFFSET OUTPUT1 

         MOV AH,9 

         INT 21H 

         MOV BL, 0 

         MOV DI,OFFSET NUM 

         MOV DX,OFFSET INPUT 

         MOV AH,0AH 

         INT 21H 

         MOV DX,OFFSET INPUT+2 

         MOV AH,9 

         INT 21H 

         MOV SI,OFFSET INPUT+1 

         MOV CL,[SI] 

         INC SI 

         MOV CH,0 

         CALL ADECXB 

         MOV  [DI],AX 

         INC BL 

         INC DI 

         INC DI 

   INN:  MOV DX,OFFSET OUTPUT2 

         MOV AH,9 

         INT 21H 

         MOV DX,OFFSET INPUT 

         MOV AH,0AH 

         INT 21H 

         MOV SI,OFFSET INPUT+1 

         MOV CL,[SI] 

         INC SI 

         CMP BYTE PTR [SI],'#' 

         JZ DONE 

         MOV CH, 0 

         CALL ADECXB 

         MOV [DI],AX 

         INC BL 

         INC DI 

         INC DI 

         JMP INN 

   DONE: MOV DX, 0 

         PUSH BX 

         MOV DI,OFFSET NUM 

     R:  MOV AX,[DI] 

         ADD DX,AX 

         INC DI 

         INC DI 

         DEC BL 

         CMP BL,0 

         JNZ R 

         MOV AX,DX 

         MOV DX,OFFSET OUTPUT3 

         PUSH AX 

         MOV AH,9 

         INT 21H 

         POP AX 

         POP BX 

         DIV BL 

         MOV AH,0 

         MOV BL,100 

         DIV BL 

         MOV BH,AL 

         ADD BH,30H 

         MOV DL,BH 

         PUSH AX 

         MOV AH,2 

         INT 21H 

         POP AX 

         MOV AL,AH 

         MOV AH,0 

         MOV BL,10 

         DIV BL 

         ADD AL,30H 

         MOV DL,AL 

         PUSH AX 

         MOV AH,2 

         INT 21H 

         POP AX 

         ADD AH,30H 

         MOV DL,AH 

         MOV AH,2 

         INT 21H 

         RET 

    MAIN ENDP 

         ;------------- 

    ADECXB PROC 

         PUSH BX 

         PUSH CX 

         PUSH DX 

         PUSH SI 

         MOV BH,0 

         XOR AX,AX 

   AGAIN:ADD AX,AX 

         MOV DX,AX 

         ADD AX,AX 

         ADD AX,AX 

         ADD AX,DX 

         MOV BL,[SI] 

         AND BL,0FH 

         ADD AX,BX 

         INC SI 

         LOOP AGAIN 

         POP SI 

         POP DX 

         POP CX 

         POP BX 

         RET 

  ADECXB ENDP 

  CODE   ENDS 

         END MAIN 

  

  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -