carl 发表于 2013-8-29 00:51:38

版主, 关于8086汇编问题的

我看你的视频关于13章的3节,用7ch中断程序,为什么老是报divide error错误了?
我用的是32系统是不是 ,是不是32位的系统不行?

怡静 发表于 2013-8-29 00:51:39

新手最常犯的错误就是打错程序,我想可以和这个有关,还是查一下你的程序吧

佐少love 发表于 2013-8-29 07:59:20

你这个问题没有说详细,不好说啊 ,不都报除法错误了吗?
目测感觉是div指令使用不当

牡丹花下死做鬼 发表于 2013-8-29 08:55:20

肯定不会是32位系统的关系的
你老是报错 是不是你代码打错了啊

carl 发表于 2013-8-29 23:00:21

先写入中断程序
assume cs:code
code segment
        start:
                mov ax,cs
                mov ds,ax
                mov si,offset s
               
                mov ax,0
                mov es,ax
                mov di,200h
               
                mov cx, offset send-offset s
                cld
                rep movsb
               
                mov ax,0
                mov es,ax
                mov word ptr es:,200h
                mov word ptr es:,0
               
                mov ax,4c00h
                int 21h
       
        s:        push bp
                mov bp,sp
                dec cx
                jcxz t
                add ss:,bx        
       
        t:        pop bp
                iret       
               
        send:nop
       
code ends
end start

然后调用:
assume cs:code
code segment
        start:
                mov ax,0b800h
                mov es,ax
                mov di,160*12
                mov bx,offset s-offset send
               
                mov cx,80
       s: mov byte ptr es:,'!'
               add di,2
               int 7ch
       send:
               nop
               mov ax,4c00h
               int 21h
code ends
end start
只输入一个,结果报divide error

飞翔工作室 发表于 2013-8-30 14:04:08

overflow溢出
Stack overflow 栈溢出
Abnormal program termination 非法终止程序

Crazy迷恋. 发表于 2013-8-31 12:32:05

朋友请把情况详细的说明一下 可以截图,帖代码到帖子中要不然大家就只能靠猜测来解答。我使用过32位xp和win7使用masm没有出现过什么问题。应该不是操作系统的问题。
页: [1]
查看完整版本: 版主, 关于8086汇编问题的