首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

大家帮小弟我看看这段段码哪里有有关问题

2012-02-24 
大家帮我看看这段段码哪里有问题,是根据王爽实验7中自已编写的,调式时,结果都是对的,就是在调试时到了循环

大家帮我看看这段段码哪里有问题,
是根据王爽实验7中自已编写的,调式时,结果都是对的,就是在调试时到了循环处,如果用p命令的话,就会出现   divide   overflow   提示,弄了一两天,头都搞昏了,代码如下:

assume   cs:codesg,ds:data,es:table
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   21,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
    dd   345980,590827,803530,1183000,1843000,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   summ   ne   ??   ')
table   ends
codesg   segment
start:               mov   ax,table
                          mov   es,ax
                          mov   ax,data
                          mov   ds,ax
                          mov   bx,0
                          mov   si,0
                          mov   di,0
                          mov   cx,21h

s:                       mov   ax,[si]                                
                          mov   es:[bx],ax          
                          mov   ax,[si].2h                                
                          mov   es:[bx].2h,ax                    

                          mov   ax,54h[si]                          
                          mov   es:[bx].5h,ax          
                          mov   dx,56h[si]                          
                          mov   es:[bx].7h,dx
                       
                          mov   ax,0a8h[di]


                          mov   es:0ah[bx],ax

                          mov   ax,54h[si]
                          div   word   ptr   ds:0a8h[di]
                          mov   es:0dh[bx],ax

                          add   si,4
                          add   di,2
                          add   bx,16
                          loop     s
                        mov   ax,4c00h
                        int   21h
codesg   ends
end   start

[解决办法]
cx里应该是21而不是21h吧?

热点排行