OVERFLOW

NOFINDER 2010-08-29 12:26:38

麻烦大伙给我看哈,这段程序哪里有点问题?

assume cs:code,ds:table,ss:stack
stack segment
dw 0,0,0,0
stack ends

data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
db '1993','1994','1995'


dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5973000

dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
dw 11542,14430,15257,17800
data ends

table segment
db 21 dup('year summ ne ?? ')
table ends

stack segment
dw 0,0,0,0,0,0,0,0
stack ends

code segment
start:mov ax,data
mov ds,ax
mov ax,table
mov es,ax
mov bx,0
mov bp,0


mov ax,stack
mov ss,ax
mov sp,16
mov si,0
mov di,0

mov cx,21

s:

mov ax,ds:[bx+0]
mov es:[bp+0],ax
mov ax,ds:[bx+2]
mov es:[bp+2],ax
add bx,4

push bx
mov bx,data
add bx,84
mov ax,ds:[bx+di]
mov dx,ds:[bx+di+2]
mov es:[bp+5],ax
mov es:[bp+7],dx
add di,4

push cx
add bx,84
mov cx,ds:[bx+si]
mov es:[bp+10],cx
add si,2

div word ptr ds:[bx+si]
mov es:[bp+0dh],ax

pop cx
pop bx

add bp,10h
loop s

mov ax,4c00h
int 21h
code ends
end start


错误是DIVIDE OVERFLOW!

...全文
96 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
suchx 2010-09-04
  • 打赏
  • 举报
回复
if the reminder is too larger, overflow will also be raised.
goodider 2010-09-04
  • 打赏
  • 举报
回复
溢出了。
Applic 2010-08-29
  • 打赏
  • 举报
回复
任何数除以零都会溢出的吧
div word ptr ds:[bx+si]

21,459

社区成员

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

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