经过一段程序后sum中有了新值
请问如何通过debug查看sum这个变量代表的内存单元中的数据
我知道通过debuy可以察看0000:0000这样形式表示的内存单元
可是现在我并不知道sum所对应的物理地址啊
请问该怎么办
11 个解决方案
#1
sum是定义在数据段吧
知道数据段的地址就可以知道sum的位置了
知道数据段的地址就可以知道sum的位置了
#2
用-U命令,反汇编字节并显示相应的原语句。
查看相对应的偏移地址,然后用段地址和偏移地址计算出物理地址,再用-D命令,显示部分内
存的内容,来查看.
不对之处请原谅!!!
查看相对应的偏移地址,然后用段地址和偏移地址计算出物理地址,再用-D命令,显示部分内
存的内容,来查看.
不对之处请原谅!!!
#3
呵呵!我初学汇编
能否具体讲下如何操作
下面是刚在这个论坛看到的一段代码
请问如何查看其中sum的值
datas segment
sum dw ?
datas ends
codes segment
assume cs:codes,ds:datas
start:
mov ax,0
mov bx,1
mov cx,50
next:
add ax,bx
inc bx
inc bx
loop next
mov sum,ax
mov ah,4ch
int 21h
codes ends
end start
能否具体讲下如何操作
下面是刚在这个论坛看到的一段代码
请问如何查看其中sum的值
datas segment
sum dw ?
datas ends
codes segment
assume cs:codes,ds:datas
start:
mov ax,0
mov bx,1
mov cx,50
next:
add ax,bx
inc bx
inc bx
loop next
mov sum,ax
mov ah,4ch
int 21h
codes ends
end start
#4
Debug是简单的调试工具,不能查看变量。
你用命令u对照你写的代码,找到mov sum,ax响应的指令,看sum被替换成了什么(地址),再用命令d来看这个地址。
你用命令u对照你写的代码,找到mov sum,ax响应的指令,看sum被替换成了什么(地址),再用命令d来看这个地址。
#5
datas segment
sum dw ?
datas ends
codes segment
assume cs:codes,ds:datas
start:
mov ax,datas ;加入
mov ds, ax ;加入
mov ax,0
mov bx,1
mov cx,50
next:
add ax,bx
inc bx
inc bx
loop next
mov sum,ax
mov ah,4ch
int 21h
codes ends
end start
#6
0B5B:0000 C4 09 : 这个就是sum的值
0B5B:0010 6E 05 17 03 6E 05 5D 05-01 01 01 00 02 FF FF FF
另外在列表文件中也可以查看到
0B5B:0010 6E 05 17 03 6E 05 5D 05-01 01 01 00 02 FF FF FF
另外在列表文件中也可以查看到
#7
我已经大概明白了!
请问有没有工具可以直接查看变量的!
比如OD什么的
请问有没有工具可以直接查看变量的!
比如OD什么的
#8
其实使用DEBUG -D 查看变量还是挺实用的。
#9
机子太慢了,传个图片要好久,看一下这个图就知道了:
#10
谢谢给位 特别是dongyi940333 !
无以为报,只能多加分呢!
呵呵。
无以为报,只能多加分呢!
呵呵。
#11
学习了 楼主 谢楼主提问
#1
sum是定义在数据段吧
知道数据段的地址就可以知道sum的位置了
知道数据段的地址就可以知道sum的位置了
#2
用-U命令,反汇编字节并显示相应的原语句。
查看相对应的偏移地址,然后用段地址和偏移地址计算出物理地址,再用-D命令,显示部分内
存的内容,来查看.
不对之处请原谅!!!
查看相对应的偏移地址,然后用段地址和偏移地址计算出物理地址,再用-D命令,显示部分内
存的内容,来查看.
不对之处请原谅!!!
#3
呵呵!我初学汇编
能否具体讲下如何操作
下面是刚在这个论坛看到的一段代码
请问如何查看其中sum的值
datas segment
sum dw ?
datas ends
codes segment
assume cs:codes,ds:datas
start:
mov ax,0
mov bx,1
mov cx,50
next:
add ax,bx
inc bx
inc bx
loop next
mov sum,ax
mov ah,4ch
int 21h
codes ends
end start
能否具体讲下如何操作
下面是刚在这个论坛看到的一段代码
请问如何查看其中sum的值
datas segment
sum dw ?
datas ends
codes segment
assume cs:codes,ds:datas
start:
mov ax,0
mov bx,1
mov cx,50
next:
add ax,bx
inc bx
inc bx
loop next
mov sum,ax
mov ah,4ch
int 21h
codes ends
end start
#4
Debug是简单的调试工具,不能查看变量。
你用命令u对照你写的代码,找到mov sum,ax响应的指令,看sum被替换成了什么(地址),再用命令d来看这个地址。
你用命令u对照你写的代码,找到mov sum,ax响应的指令,看sum被替换成了什么(地址),再用命令d来看这个地址。
#5
datas segment
sum dw ?
datas ends
codes segment
assume cs:codes,ds:datas
start:
mov ax,datas ;加入
mov ds, ax ;加入
mov ax,0
mov bx,1
mov cx,50
next:
add ax,bx
inc bx
inc bx
loop next
mov sum,ax
mov ah,4ch
int 21h
codes ends
end start
#6
0B5B:0000 C4 09 : 这个就是sum的值
0B5B:0010 6E 05 17 03 6E 05 5D 05-01 01 01 00 02 FF FF FF
另外在列表文件中也可以查看到
0B5B:0010 6E 05 17 03 6E 05 5D 05-01 01 01 00 02 FF FF FF
另外在列表文件中也可以查看到
#7
我已经大概明白了!
请问有没有工具可以直接查看变量的!
比如OD什么的
请问有没有工具可以直接查看变量的!
比如OD什么的
#8
其实使用DEBUG -D 查看变量还是挺实用的。
#9
机子太慢了,传个图片要好久,看一下这个图就知道了:
#10
谢谢给位 特别是dongyi940333 !
无以为报,只能多加分呢!
呵呵。
无以为报,只能多加分呢!
呵呵。
#11
学习了 楼主 谢楼主提问