+ -
当前位置:首页 → 问答吧 → 王爽汇编里的除法中断,怎么老是出错!

王爽汇编里的除法中断,怎么老是出错!

时间:2011-10-28

来源:互联网

assume cs:code
code segment
start:
;;把int0的代码拷到0000:0200的地址中
mov ax,cs
mov ds,ax
mov si,offset int0
mov di,200h
mov cx,offset int0end-offset int0
cld
rep movsb


;;第一步,设置0号中断的地址为0000:0200
mov ax,0
mov es,ax
mov word ptr es:[0*4],200h ;;es是附加段,因为中断向量表,是二个字组成,高地址为段地址,低字址为偏移
mov word ptr es:[0*4+2],0
mov ax,1000h
mov bl,1
div bl
mov ax,4c00h
int 21h
int0:
jmp short int0start
db "hello"
int0start: ;;把hello写进显存里
mov ax,cs
mov ds,ax ;;设置代码段为数据段
mov si,202h
mov ax,0b800h
mov es,ax
mov di,12*160+36*2
mov cx,5
s:
mov al,[si]
mov es:[di],al
inc si
add di,2
loop s
mov ax,4c00h
int 21h
int0end:nop
code ends
end start


我在win7下运行的,总是弹出The NTVDM CPU has encountered an illegal instruction. cs:0000 ip:0203 op:f0等等

作者: liangfei1983   发布时间: 2011-10-28

王爽那本书?
所有的实验都可以用DOSBOX来做环境
课程设计2,需要安装虚拟机 ,VirtualBox一类

winxp调试都回出现各种莫名其妙的问题,别说win7了

作者: korekara88730   发布时间: 2011-10-28

超级郁闷,有一个没写mov ax,0
mov es,ax
能正常运行,但是就是不能产生除法溢出中断,快崩溃了!

作者: liangfei1983   发布时间: 2011-10-28