请帮我用汇编语言写一个程序:•从键盘输入10个数据,存入一维数组中,并求出该数组的平均值显示在屏幕上。
时间: 2023-06-19 13:04:21 浏览: 171
好的,以下是汇编语言的程序:
```
.model small
.stack 100h
.data
arr db 10 dup(0)
msg1 db '请输入10个数据:$'
msg2 db '平均值为:$'
avg db 0
.code
main PROC
mov ax, @data
mov ds, ax
; 输出提示信息
mov ah, 9
lea dx, msg1
int 21h
; 输入10个数据并存入数组
mov cx, 10
mov si, offset arr
input_loop:
mov ah, 1
int 21h
sub al, '0'
mov [si], al
inc si
loop input_loop
; 求平均值
mov cx, 10
mov si, offset arr
mov bl, 10
sum_loop:
add al, [si]
inc si
loop sum_loop
div bl
mov avg, al
; 输出平均值
mov ah, 9
lea dx, msg2
int 21h
mov ah, 2
mov dl, avg
add dl, '0'
int 21h
mov ah, 4ch
int 21h
main ENDP
END main
```
程序说明:
1. 使用 DOSBox 运行程序,选择 MASM 编译器编译汇编代码。
2. 程序先输出提示信息,要求用户输入 10 个数据。
3. 用户输入数据后,程序将每个数据存入数组。
4. 程序对数组求和,并除以 10,计算平均值。
5. 程序输出平均值。
阅读全文