假设从DATA开始的内存单元中存放了100个8位无符号数,试编写程序段求这100个数的平均值,结果放在EVEN单元
来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 21:27:56
假设从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
用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
有两处错误:
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
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
假设从DATA开始的内存单元中存放了100个8位无符号数,试编写程序段求这100个数的平均值,结果放在EVEN单元
【单片机】编程计算存放在片外RAM30H单元开始的64个无符号数的平均值,结果存入片内RAM30H单元
在首地址为DATA的字数组中,存放了100H个16位补码数,试编写一程序,求出它们的平均数,放在AX寄存器中,并求出数组
编一个程序,使放在data及data+1单元的两个8位带符号数相乘,乘积放在data+2及data+3单元中(高位在后)
编写一个统计前100个自然数的和的程序,结果存放在RESULT单元中.
汇编语言:在buffer为首地址的内存单元中,存放10个16位带符号数,求这10个数的最大值并保存到max单元中.
汇编语言中,若自BLOCK 开始的内存缓冲区中有100个带符号的数,希望找到其中的最大值,并放在MAX 单元中
将内部ram的30h·31H单元的两个无符号数相乘,结果存放在R2,R3中,R2中存放高8位,R3中存放低8位
在BUFF开始的存储区中存放30个带符号数,试统计其正数,负数和零的个数.分别将个数放至A1,A2,A3单元
已知BUF1,BUF2字节单元中存放一个无符号数,编写程序完成以下操作
问一道有关单片机的问题:编写程序,将内RAM从20H开始存放的16个数据传送到从28H开始的单元中.
编程将内ram从data单元开始的16个无符号数相加.其和送入sum单元.假定和小于255