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程序),这样可以单步执行直接观察很方便的。

    评论

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?