内存超出的问题【急】

shanchailee 2009-11-04 09:33:29
从BUF单元开始有10个带符号数:-1,3,248,90,42,9042,-4539

,0,-28,792。试找出它们的最大值、最小值和平均值,并分别送

MAX,MIN,AVG单元。试编写完整的汇编语言程序。

差不多写好了,但是在编译时在第二行报错,说out of memory,请问各位大侠是怎么回事

data segment
buf dw -1,3,248,90,42,9042,-4539,0,-28,792,0dh,0ah,'$'
minmsg dw 'min:'
maxmsg dw 'max:'
avgmsg dw 'avg:'
min dw ?,0dh,0ah,'$'
max dw ?,0dh,0ah,'$'
avg db ?,0dh,0ah,'$'
data ends

stack segment stack

stack ends

code segment
assume cs:code,ds:data,ss:stack
begin: mov ax,data
mov ds,ax

mov dx,offset buf
mov ah,9
int 21h;显示buf缓冲区中的内容

mov ax,[bx];读取第一个数
mov dx,ax;dx用来存放总和
mov cx,0;cx用来计数
mov [min],ax
mov [max],ax
add bx,2
again:
mov ax,[bx]
cmp ax,0dh
jz exit

add dx,ax
cmp ax,[min]
jl less

after_less:
cmp ax,[max]
jg more

after_more:
inc cx
jmp next

next:
add bx,2
jmp again
less:
mov [min],ax
jmp after_less
more:
mov [max],ax
jmp after_more

exit:
mov ax,dx
idiv cx;求平均值,平均值入ah
mov [avg],ah;把平均值放入avg

mov dx,offset minmsg
mov ah,9
int 21h

mov dx,offset min
mov ah,9
int 21h

mov dx,offset maxmsg
mov ah,9
int 21h

mov dx,offset max
mov ah,9
int 21h

mov dx,offset avgmsg
mov ah,9
int 21h

mov dx,offset avg
mov ah,9
int 21h

mov ah,4ch
int 21h;退出到DOS
code ends
end begin

...全文
81 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
shanchailee 2009-11-04
  • 打赏
  • 举报
回复
我找出原因了,原来是逗号用的是中文的,改成英文的就好了
BAYNPU 2009-11-04
  • 打赏
  • 举报
回复
...
buf dw -1,3,248,90,42,9042,-4539,0,-28,792,0dh,0ah,'$';注意大小字母转换。
...

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧