. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->第一个程序
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  为什么DEBUG执行命令的结果和我的不一样?  [待解决] 回复[ 10次 ]   点击[ 1736次 ]  
feier
[帖 主]   [ 发表时间: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] 
怎么就显示得乱七八糟的?
Wednesday
[第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根据当前内存中的数据反编译成汇编语言代码了,一般没有什么实际意义。
Wednesday
[第2楼]   [ 回复时间:2007-07-18 20:15 ]   [引用]   [回复]   [ top ] 
荣誉值:43
信誉值:3
注册日期:2007-07-05 19:53
仔细检查你的操作吧。
mengdewan
[第3楼]   [ 回复时间:2008-12-27 09:19 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:5
注册日期:2008-12-18 16:07
LZ的问题我也遇到过,因为我的再2000:0的地方写就正常,1000:0的地方就变了,最初认为是1000:0特殊,改不了呢,感觉应该没错误,有错误的话2000:0的地方就写不对了
lyh1984
[第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都没有变过,还有和楼主一样的问题,哪位大哥,知道这是什么问题题吗?
zhllhz
[第5楼]   [ 回复时间:2009-12-19 22:02 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2009-12-18 19:17
楼上的第一条指令给AX负个别的植
hanqiang
[第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都没有变过,还有和楼主一样的问题,哪位大哥,知道这是什么问题题吗?
------------------
回复:
hanqiang
[第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  的指针指向你写代码的内存处!~
------------------
回复:
lailaimaster
[第8楼]   [ 回复时间:2010-10-28 22:25 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-28 22:19
这是第四章那个试验吧,说是这段代码有问题,可以看章节那个地方,提到了这个问题
xiahe147
[第9楼]   [ 回复时间:2010-12-22 21:09 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-05-30 21:46
其实我也一样....
这个问题白热化了。就是第四章那个试验。
我觉得好像是debug根本没追踪到我们的程序!
fish_u
[第10楼]   [ 回复时间:2011-11-19 23:03 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2011-10-25 14:21
CPU的现场保护机制,2000:0~2000:f区数据是变化的。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved