首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

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

2012-03-25 
王爽汇编里的除法中断,怎么老是出错!assume cs:codecode segmentstart:把int0的代码拷到0000:0200的地址

王爽汇编里的除法中断,怎么老是出错!
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了

热点排行