yaoxinsong 发表于 2014-10-16 21:28:38

关于第8张实验7计算出来的值不对???

assume cs:codesg,ds:data,es:table,ss:zhan
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'

      ;以上是表示21年的21个字符串
      dd 16,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,45257,17800

      ;以上是表示21年公司雇员人数的21个word型数据
data ends

zhan segment
      dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226

      dw 11542,14430,45257,17800

      ;以上是表示21年公司雇员人数的21个word型数据
zhan ends
table segment
      db 21 dup('year summ ne ?? ')
table ends
codesg segment
    stack:mov ax,data
          mov ds,ax
          mov bx,208
              mov ax,zhan
          mov ss,ax
          mov sp,42
          mov cx,21
       s0:mov ax,
          push ax
          sub bx,2
            loop s0
          mov bx,0
          mov cx,21
          mov ax,table
          mov es,ax
          mov si,0       
          mov di,0
        s:mov ax,
          mov es:,ax
          mov ax,
          mov es:,ax
          mov ax,
          mov es:,ax
          mov ax,
          mov es:,ax
          pop ax
          mov es:,ax
          mov ax,
          mov dx,
          mov bp,168
          div word ptr ds:
          mov es:,ax
          add di,4
          add bx,4
          add si,16
          add dx,2
          add bp,2
          loop s
          mov ax,4c00h
          int 21
codesg ends
end stack
为什么计算出来只有第一行的值是对的,其他除法的值都错。。。。。。
还有为什么用debug p指令的时候有时候跟t一样只执行一条指令。。。
页: [1]
查看完整版本: 关于第8张实验7计算出来的值不对???