当前位置: 代码迷 >> 汇编语言 >> 王爽汇编里的除法中断,如何老是出错
  详细解决方案

王爽汇编里的除法中断,如何老是出错

热度:6946   发布时间:2013-02-26 00:00:00.0
王爽汇编里的除法中断,怎么老是出错!
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等等

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

winxp调试都回出现各种莫名其妙的问题,别说win7了
  相关解决方案