假设从DATA开始的内存单元中存放了100个8位无符号数,试编写程序段求这100个数的平均值,结果放在EVEN单元用masm编译连接运行 请给出源程序或者指出我这个答案那里错了START:XOR AX,AXXOR DX,DXLET SI
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/26 04:28:31
假设从DATA开始的内存单元中存放了100个8位无符号数,试编写程序段求这100个数的平均值,结果放在EVEN单元用masm编译连接运行 请给出源程序或者指出我这个答案那里错了START:XOR AX,AXXOR DX,DXLET SI
假设从DATA开始的内存单元中存放了100个8位无符号数,试编写程序段求这100个数的平均值,结果放在EVEN单元
用masm编译连接运行 请给出源程序
或者指出我这个答案那里错了
START:XOR AX,AX
XOR DX,DX
LET SI,DATA
MOV CX,100
MOV BX,100
NEXT:MOV AL,[SI]
INC SI
ADD DX,AX
DEC CL
JNZ NEXT
MOV AX,DX
DIV BL
MOV EVEN,AX
HLT
假设从DATA开始的内存单元中存放了100个8位无符号数,试编写程序段求这100个数的平均值,结果放在EVEN单元用masm编译连接运行 请给出源程序或者指出我这个答案那里错了START:XOR AX,AXXOR DX,DXLET SI
有两处错误:
1、LET SI,DATA 应该是LEA SI,DATA
2、EVEN 是保留字,不可在程序中当标号使用
完整的程序如下:
;.com 文件格式
code segment
main proc far
assume cs:code,ds:code
org 100h
start:
PUSH CS
POP DS
XOR AX,AX
XOR DX,DX
LEA SI,DATA
MOV CX,100
MOV BX,100
NEXT:MOV AL,[SI]
INC SI
ADD DX,AX
DEC CL
JNZ NEXT
MOV AX,DX
DIV BL
MOV EVEN1,AX
INT 20H
data db 100 dup (088h)
EVEN1 dw 0
main endp
code ends
end start