爲生活奮鬥中 发表于 2013-4-11 23:25:18

求高手指点写的程序在DEBUG运行报错,王爽实验7。。

本帖最后由 爲生活奮鬥中 于 2013-4-17 01:35 编辑

assume cs:code,ds:datasg,es:table
datasg 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,156,2390,8000,16000,24486,50065,97479,140417,197514
    dd 345980,590827,803530,1182000,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
datasg ends
table segment
    dw 21 dup (0,0,0,0,0,0,0,0)
table ends
code segment
start:mov ax,datasg
      mov ds,ax
      mov ax,table
      mov es,ax
      mov si,0
      mov bx,0
      mov di,0
      mov cx,21
    s:mov ax,
      mov es:,ax
      mov ax,
      mov es:,ax
      mov ax,
      mov es:,ax
      mov ax,
      mov es:,ax
      mov ax,
      mov es:,ax
      mov ax,
      mov dx,
      div word ptr ds:
      mov es:,ax
      add si,16
      add bx,4
      add di,2
      loop s
      mov ax,4c00h
      int 21h
code ends
end start
用G命令跳转到mov ax,4c00h时报错,divide overflow

cosmos3919 发表于 2016-9-2 01:47:33

我调试了好久。。。终于发现你的问题了,你粗心地少定义了一个收入数据,只有20个收入的数据

moor薄幸 发表于 2018-10-11 12:43:18

cosmos3919 发表于 2016-9-2 01:47
我调试了好久。。。终于发现你的问题了,你粗心地少定义了一个收入数据,只有20个收入的数据

我的天!你的一句话!我也是20个数据,调了快两小时了!
页: [1]
查看完整版本: 求高手指点写的程序在DEBUG运行报错,王爽实验7。。