关键是感觉 发表于 2011-10-26 17:52:32

实验7 P173 为什么分溢出

本帖最后由 关键是感觉 于 2011-10-26 20:23 编辑

如题:
assume cs:code
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个字符串,每个字符串占用4字0-53h
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514      
dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000 ;定义21个DWword双字数据 54-A7H
dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
dw 11542,14430,15257,17800                                             ;定义21个word字型数据 A8-D1
data ends
table segment
db 21 dup ('year summ ne ?? ')                                    ;定义21个 16字节数据 21组
table ends
code segment
start:mov ax,data
      mov ds,ax
   mov ax,table
   mov es,ax
   sub bx,bx
   sub di,di
      sub si,si
    mov cx,15h
s:mov ax,ds:
mov es:,ax
mov ax,ds:
mov es:,ax

mov ax,ds:
mov es:,ax

mov dx,ds:
mov es:,dx
mov ax,ds:
mov es:,ax

    div word ptr ds:
mov es:,ax

add si,4
add di,2
add bx,10h

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





   

掌心的呵护 发表于 2011-10-26 17:52:33

你上面只定义了代码段,忘了定义数据段吧

关键是感觉 发表于 2011-10-26 20:27:17

靠人 人会跑
靠山 山会到
靠自己最好。{:1_1:}
分溢出错在地址了。 05 06 字地址 05 06 07 08 dword 双字07 08高 05 06低
DIV AX放低地址。
      dX放高地址

ever.g 发表于 2011-10-27 17:45:58

不错。。

今天我刚看到实验7 也遇到溢出问题了,不过我的问题是ds里的偏移地址搞错了,导致在循环里P 的时候溢出

总算刚才解决了

关键是感觉 发表于 2011-10-27 17:52:56

ever.g 发表于 2011-10-27 17:45 static/image/common/back.gif
不错。。

今天我刚看到实验7 也遇到溢出问题了,不过我的问题是ds里的偏移地址搞错了,导致在循环里P 的 ...

靠人 人会跑
靠山 山会到
靠自己最好
呵呵 记住

xitonggongchen 发表于 2013-2-2 21:02:25

看不懂,还是要顶一下

zxcvb 发表于 2013-6-7 17:58:41

你上面只定义了代码段,忘了定义数据段

e马先森 发表于 2017-2-16 13:15:40

学习了啊!都是好厉害的人!好专业啊!{:10_254:}
页: [1]
查看完整版本: 实验7 P173 为什么分溢出