|
主题 : : 各位大神,为何我的程序总提示Divide overflow [待解决] |
回复[ 2次 ]
点击[ 231次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2013-01-27 14:52 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-01-27 14:51 |
不胜感激各位大神
assume cs:code,ds:data
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984','1985','1986','1987','1988','1989','1990','1991','1992','1993','1994','1995'
dd 16,22,382,1359,2390,8000,16000,24486,50065,97479,140417,197514
dd 345980,590827,803530,1183000,1184000,2759000,3753000,4649000,5937000
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 summe ne ??')
table ends
code segment
start:mov ax,data
mov ds,ax
mov bx,210
mov si,0
mov di,0
mov bp,0
mov cx,21
s: mov WORD ptr ax,[di]
mov WORD ptr [bx+si],ax
mov WORD ptr ax,[di+2]
mov WORD ptr [bx+si+2],ax
mov BYTE ptr [bx+si+4],0
mov WORD ptr ax,[di+84]
mov WORD ptr [bx+si+5],ax
mov WORD ptr ax,[di+84]
mov WORD ptr [bx+si+7],ax
mov BYTE ptr [bx+si+9],0
mov WORD ptr ax,ds:[bp+168]
mov WORD ptr [bx+si+10],ax
mov WORD ptr [bx+si+12],0
mov WORD ptr ax,[bx+si+5]
mov WORD ptr dx,[bx+si+7]
div WORD ptr [bx+si+10]
mov WORD ptr [bx+si+13],ax
mov WORD ptr [bx+si+15],0
add si,16
add di,4
add bp,2
loop s
mov ax,4c00h
int 21h
code ends
end start | | |
|
|
|
|
[第1楼]
[ 回复时间:2014-09-06 21:27 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2014-09-06 21:18 |
首先,你没理解这个实验要求。应将数据存入“table segment”中 | | |
|
|
|
|
[第2楼]
[ 回复时间:2014-09-07 01:27 ]
[引用]
[回复]
[ top ] | |
荣誉值:4
信誉值:0
注册日期:2014-08-02 21:25 |
在楼主的程序基础上改了改:(ufo,这个是符合实验要求的,只是楼主程序中有错误。)
assume cs:code,ds:data
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984','1985','1986','1987','1988','1989','1990','1991','1992','1993','1994','1995'
dd 16,22,382,1359,2390,8000,16000,24486,50065,97479,140417,197514
dd 345980,590827,803530,1183000,1184000,2759000,3753000,4649000,5937000
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 summe ne ??')
table ends
code segment
start:
mov ax,data
mov ds,ax
mov bx,224
mov si,0
mov di,0
mov bp,0
mov cx,21
s: mov ax,[di]
mov [bx+si],ax
mov ax,[di+2]
mov [bx+si+2],ax
mov BYTE ptr [bx+si+4],0
mov ax,[di+84]
mov [bx+si+5],ax
mov ax,[di+86]
mov [bx+si+7],ax
mov BYTE ptr [bx+si+9],0
mov ax,ds:[bp+168]
mov [bx+si+10],ax
mov WORD ptr [bx+si+12],0
mov ax,[bx+si+5]
mov dx,[bx+si+7]
div WORD ptr [bx+si+10]
mov [bx+si+13],ax
mov WORD ptr [bx+si+15],0
add si,16
add di,4
add bp,2
loop s
mov ax,4c00h
int 21h
code ends
end start | | |
|