TangLMalan 2015-06-16 14:07 采纳率: 0%
浏览 2761

关于汇编语言中断程序的问题

中断错误实例,中断类型码是0,也就是div溢出,根据书本的课后的习题,我做了之后,
来测试,发现,在发生div溢出的时候,为什么打在屏幕上的字符居然出现在第一个命令执行后的ax中,这是怎么搞的。第一幅图片是正常显示,默认是divide flow,第二幅图片是我自定义,但是提示信息却不在下面,而是在中间,下面的代码是第二幅图的自定义代码,第三幅图中断程序返回来的信息为什么覆盖在了第一个-t后的ax中呢?
![![图片说明
图片说明

图片说明

assume cs:code
code segment
start:  mov ax,cs
        mov ds,ax
        mov si,do0

        mov ax,0
        mov es,ax
        mov di,200h

        mov cx,offset do0end-offset do0

        cld
        rep movsb

        mov ax,0
        mov es,ax
        mov word ptr es:[0],200h
        mov word ptr es:[2],0

        mov ax,4c00h
        int 21h

do0:    jmp short do0start
        db "Helloyouarer!"

do0start:       mov ax,cs
                mov ds,ax
                mov si,202h

                mov ax,0b800h
                mov es,ax
                mov di,12*160+36*2

                mov cx,13
s:              mov al,[si]
                mov es:[di],al

                inc si
                add di,2

                loop s

                mov ax,4c00h
                int 21h
do0end:nop
code ends
end start


  • 写回答

1条回答 默认 最新

  • devmiao 2015-06-16 14:42
    关注

    推荐你不要用debug,用ollydbg或者用turbo debug(dos程序),这样可以单步执行直接观察很方便的。

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?