+ -
当前位置:首页 → 问答吧 → 才两行代码,用[]寻址,结果一运行就崩溃!

才两行代码,用[]寻址,结果一运行就崩溃!

时间:2010-12-27

来源:互联网

我运行debug:(windows安装在D盘)

D:\Documents and Settings\jk>debug
-a100
13B6:0100 db 'haha'
13B6:0104 mov al,[100]
13B6:0107
-g

弹出一个框,显示
D:\WINDOWS\system32\cmd.exe - debug
NTVDM CPU遇到无效的指令
CS:13b6 IP:a4f7 OP:63 21 00 01 00 选择"关闭"终止应用程序。

为什么会这样?

作者: samba2_yeah   发布时间: 2010-12-27

在debug里,默认程序是.com程序,所以,四个段地址都是一样的。如下所示。在debug里必须显示的指明字符串地址。
Assembly code

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

d:\MASM>debug
-a
1472:0100 db 'haha$'
1472:0105 cs:
1472:0106 mov dx,100
1472:0109 mov ah,9
1472:010B int 21
1472:010D
-g=100 10d
haha
AX=0924  BX=0000  CX=0000  DX=0100  SP=FFFC  BP=0000  SI=0000  DI=6861
DS=1472  ES=1472  SS=1472  CS=1472  IP=010D   NV UP EI PL ZR NA PE NC
1472:010D E8C501        CALL    02D5
-q

d:\MASM>

作者: masmaster   发布时间: 2010-12-27

热门下载

更多