|
主题 : : 为什么DEBUG执行命令的结果和我的不一样? [待解决] |
回复[ 10次 ]
点击[ 1736次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2007-06-23 22:05 ]
[引用]
[回复]
[ top ] | |
荣誉值:5
信誉值:3
注册日期:2007-06-23 22:00 |
系统是WINXP在程序运行里直接用cmd进行,再debug的用
A 1000:0 MOV AX,1
MOV BX,2
MOV CX,3
再 U 1000:0
MOV ADD [BX+SI],AX
MOV ADD AL,[BX+SI]
怎么就显示得乱七八糟的? | | |
|
|
|
|
[第1楼]
[ 回复时间:2007-07-18 20:14 ]
[引用]
[回复]
[ top ] | |
荣誉值:43
信誉值:3
注册日期:2007-07-05 19:53 |
可能你没有把代码写对地方,或者查看的内存地址没有写对。
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\Administrator>debug
-a1000:0
1000:0000 mov ax,1
1000:0003 mov bx,2
1000:0006 mov cx,3
1000:0009
-u1000:0
1000:0000 B80100 MOV AX,0001
1000:0003 BB0200 MOV BX,0002
1000:0006 B90300 MOV CX,0003
1000:0009 0AE8 OR CH,AL
1000:000B D0FF SAR BH,1
1000:000D EBF6 JMP 0005
1000:000F 32C0 XOR AL,AL
1000:0011 E88400 CALL 0098
1000:0014 B02C MOV AL,2C
1000:0016 AA STOSB
1000:0017
1000:0000 --- 1000:0008是我们写入的代码
1000:0009之后的是debug根据当前内存中的数据反编译成汇编语言代码了,一般没有什么实际意义。 | | |
|
|
|
|
[第2楼]
[ 回复时间:2007-07-18 20:15 ]
[引用]
[回复]
[ top ] | |
荣誉值:43
信誉值:3
注册日期:2007-07-05 19:53 |
|
|
|
|
|
[第3楼]
[ 回复时间:2008-12-27 09:19 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:5
注册日期:2008-12-18 16:07 |
LZ的问题我也遇到过,因为我的再2000:0的地方写就正常,1000:0的地方就变了,最初认为是1000:0特殊,改不了呢,感觉应该没错误,有错误的话2000:0的地方就写不对了 | | |
|
|
|
|
[第4楼]
[ 回复时间:2009-06-01 16:45 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-05-25 09:01 |
我也正想问这个问题呢,我的
mov ax,2000h
mov ss,ax
mov sp,0
add sp,4
pop ax
pop bx
push ax
push bx
pop ax
pop bx
mov ax,4c00h
int 21h
codesg ends
end
我执行第一步,AX没有变
第二步AX还是没有变,结果执行下来AX都没有变过,还有和楼主一样的问题,哪位大哥,知道这是什么问题题吗? | | |
|
|
|
|
[第5楼]
[ 回复时间:2009-12-19 22:02 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:4
注册日期:2009-12-18 19:17 |
|
|
|
|
|
[第6楼]
[ 回复时间:2010-07-15 21:07 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-07-07 20:39 |
我也正想问这个问题呢,我的
mov ax,2000h
mov ss,ax
mov sp,0
add sp,4
pop ax
pop bx
push ax
push bx
pop ax
pop bx
mov ax,4c00h
int 21h
codesg ends
end
我执行第一步,AX没有变
第二步AX还是没有变,结果执行下来AX都没有变过,还有和楼主一样的问题,哪位大哥,知道这是什么问题题吗?
------------------
回复: | | |
|
|
|
|
[第7楼]
[ 回复时间:2010-07-15 21:10 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-07-07 20:39 |
我也正想问这个问题呢,我的
mov ax,2000h
mov ss,ax
mov sp,0
add sp,4
pop ax
pop bx
push ax
push bx
pop ax
pop bx
mov ax,4c00h
int 21h
codesg ends
end
我执行第一步,AX没有变
第二步AX还是没有变,结果执行下来AX都没有变过,还有和楼主一样的问题,哪位大哥,知道这是什么问题题吗?
------------------
回复:鉴定完毕 你把cs ip 的指针指向你写代码的内存处!~
------------------
回复: | | |
|
|
|
|
[第8楼]
[ 回复时间:2010-10-28 22:25 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-28 22:19 |
这是第四章那个试验吧,说是这段代码有问题,可以看章节那个地方,提到了这个问题 | | |
|
|
|
|
[第9楼]
[ 回复时间:2010-12-22 21:09 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-05-30 21:46 |
其实我也一样....
这个问题白热化了。就是第四章那个试验。
我觉得好像是debug根本没追踪到我们的程序! | | |
|
|
|
|
[第10楼]
[ 回复时间:2011-11-19 23:03 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2011-10-25 14:21 |
CPU的现场保护机制,2000:0~2000:f区数据是变化的。 | | |