假设从DATA开始的内存单元中存放了100个8位无符号数,试编写程序段求这100个数的平均值,结果放在EVEN单元用masm编译连接运行 请给出源程序或者指出我这个答案那里错了START:XOR AX,AXXOR DX,DXLET SI
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/10 15:26:36
![假设从DATA开始的内存单元中存放了100个8位无符号数,试编写程序段求这100个数的平均值,结果放在EVEN单元用masm编译连接运行 请给出源程序或者指出我这个答案那里错了START:XOR AX,AXXOR DX,DXLET SI](/uploads/image/z/4530136-40-6.jpg?t=%E5%81%87%E8%AE%BE%E4%BB%8EDATA%E5%BC%80%E5%A7%8B%E7%9A%84%E5%86%85%E5%AD%98%E5%8D%95%E5%85%83%E4%B8%AD%E5%AD%98%E6%94%BE%E4%BA%86100%E4%B8%AA8%E4%BD%8D%E6%97%A0%E7%AC%A6%E5%8F%B7%E6%95%B0%2C%E8%AF%95%E7%BC%96%E5%86%99%E7%A8%8B%E5%BA%8F%E6%AE%B5%E6%B1%82%E8%BF%99100%E4%B8%AA%E6%95%B0%E7%9A%84%E5%B9%B3%E5%9D%87%E5%80%BC%2C%E7%BB%93%E6%9E%9C%E6%94%BE%E5%9C%A8EVEN%E5%8D%95%E5%85%83%E7%94%A8masm%E7%BC%96%E8%AF%91%E8%BF%9E%E6%8E%A5%E8%BF%90%E8%A1%8C+%E8%AF%B7%E7%BB%99%E5%87%BA%E6%BA%90%E7%A8%8B%E5%BA%8F%E6%88%96%E8%80%85%E6%8C%87%E5%87%BA%E6%88%91%E8%BF%99%E4%B8%AA%E7%AD%94%E6%A1%88%E9%82%A3%E9%87%8C%E9%94%99%E4%BA%86START%3AXOR+AX%2CAXXOR+DX%2CDXLET+SI)
假设从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