求助汇编单步执行“遇到无效的指令”的问题
代码如下: 程序代码:
CODE SEGMENT PARA PUBLIC 'CODE' MAIN PROC FAR ASSUME CS:CODE PUSH DS ; 保留PSP的段地址 MOV AX,0 ; 保留PSP的IP=0 PUSH AX MOV AX,DATA MOV DS,AX ASSUME DS:DATA CLI ; 关中断 MOV AX,0 ; 加载中断程序入口地址 MOV ES,AX ; 段地址清零 MOV DI,24H ; 中断地址为36(09H号中断) MOV AX,OFFSET KBINT ; 保存键盘中断服务程序入口地址 CLD ; 方向标志位清零,DI自加 单步执行到此出错: STOSW ; 存入串指令的字操作,将KBINT的地址偏移量存入0000:0024寻址单元 MOV AX,CS STOSW ......... .........
每到单步执行完“CLD”后,要执行"STOSW"时,就会提示:
“C:\WINDOWS\system32\cmd.exe
NTVDM CPU 遇到无效的指令。
。。。。。”
求达人指点是怎么回事。。。
[ 本帖最后由 paul_wing 于 2012-4-6 22:14 编辑 ]