静雨纷纷 发表于 2012-5-30 17:23:35

蹦出个对话框····

assume cs:codesg,ds:datasg,es:table

datasg segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984'
dd 16,22,382,1356,2390,8000,1843000,2759000,3753000,4649000
dw 3,7,99,13,28,8226,11542,14430,15257,17800
datasg ends

table segment
db 10 dup('year summ ne ?? ')
table ends

codesg segment
start: mov ax,datasg
   mov ds,ax
   mov ax,table
   mov ax,es

   mov bx,0
   mov si,0
   mov di,0

   mov cx,10
s:mov ax,
   mov dx,
   mov es:,ax
   mov es:,dx

   mov ax,
   mov dx,
   mov es:,ax
   mov es:,dx

   div word ptr
   mov es:,ax

   mov ax,
   mov es:,ax

   add bx,4
   add si,2
   add di,16
   loop s

mov ax,4c00h
int 21h

codesg ends
end start
在debug 执行 int 21h的时候··就蹦出来个对话框·
the ntvdm cpu has encountered an illegal instruction.
cs:05ef ip:0003 op:ff ff ff ff ff choose 'close' to terminate the application.

哪位大神告诉我一下神马情况啊···



努力学习 发表于 2012-5-30 17:23:36

代码中的第四行写反了 应该是mov es,ax这些在编译的时候是可以找出来的吧{:5_92:}

Mercurial 发表于 2012-5-31 14:52:13

虚拟机cpu遇到一个 非法指令

静雨纷纷 发表于 2012-5-31 16:06:55

Mercurial 发表于 2012-5-31 14:52 static/image/common/back.gif
虚拟机cpu遇到一个 非法指令

这哪儿是非法的啊·· 我感觉都挺对的啊···呵呵··

静雨纷纷 发表于 2012-6-1 12:50:26

努力学习 发表于 2012-5-31 21:07 static/image/common/back.gif
代码中的第四行写反了 应该是mov es,ax这些在编译的时候是可以找出来的吧

嗯·· ··谢谢了··· 不过我编译的时候 确实没有报错·······

静雨纷纷 发表于 2012-7-31 22:22:05

hyzjp 发表于 2012-7-31 11:39 static/image/common/back.gif
学习中。。。

呵呵 ···一起 努力····
页: [1]
查看完整版本: 蹦出个对话框····