回 帖 发 新 帖 刷新版面

主题:关于汇编中的DEBUG命令请教大家

关于汇编中的DEBUG命令请教大家
用DEBUG命令执行完一个程序后,用D命令看了相应结果的存储单元。再用E命令修改了使用到的数据,请问再如何用DEBUG中的命令执行,从而能看到改变了的结果?

回复列表 (共6个回复)

沙发

再次使用 D

板凳

看到的只是数据单元的数据是变了,而结果对应的单元的内容却没变.
我想知道如何运行,使结果对应的单元内容也改变.

3 楼

???

4 楼

一、    分支程序设计
1.若在三个连续变化的字单元中存放着彼此相等的代码,现知道其中一个字节中的
容发生了变化,编写程序找出变化了的代码及其地址,并要求将此代码送入字变量A中,其地址送入字变量B中。程序清单如下:
           STACK SEGMENT STACK
                  DB  200 DUP(0)
           STACK ENDS
           DATA  SEGMENT
           BUF  DW 550H,666H,550H
           A     DW  0
           B     DW  0
           DATA  ENDS
           CODE  SEGMENT
           ASSUME  CS:CODE,SS:STACK,DS:DATA
           BEGIN:  MOV  AX,DATA
MOV  DS,AX
MOV  AX,BUF
CMP   AX,BUF+2
JNE    L1
MOV  AX,BUF+4
MOV  A,AX
MOV  B,OFFSET  BUF+4
JMP  EXIT
L1:       CMP  AX,BUF+4
         JNE  L2
         MOV AX,BUF+2
MOV  A,AX
MOV  B,OFFSET  BUF+2
JMP  EXIT
               L2:      MOV  A,AX
MOV  B,OFFSET  BUF
EXIT:    MOV  AH,4CH
         INT   21H
CODE ENDS
      END  BEGIN
用debug的基本命令执行该程序,对于存储区中三个连续字单元的被测代码,要用e命令改成不同的字单元代码发生变化的情况分别执行程序,每次执行以后,查看结果存储单元A和B的内容。

举个例子

即上面的实验如何来实现.我用E命令改了内容,却无法在DEBUG下执行,看到的还是原来的结果 .
先谢了!

5 楼

MOV  DS,AX
;在此处使用 E 命令修改内存单元
MOV  AX,BUF
CMP   AX,BUF+2
JNE    L1
MOV  AX,BUF+4
MOV  A,AX
MOV  B,OFFSET  BUF+4

6 楼

谢了!
不过不知道在用DEBUG调试时,
如何在指令语句下面进行修改.

我来回复

您尚未登录,请登录后再回复。点此登录或注册