. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  关于检测点3.1 Debug模式中使用的非 第二排数据  [待解决] 回复[ 10次 ]   点击[ 518次 ]  
abusiness
[帖 主]   [ 发表时间:2014-09-15 15:59 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2014-09-15 15:52
1.在Debug中,用“d 0:0 1f”查看内存,结果如下
0000:000f 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60
0010:001f 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
本来第二排是0000:0010我自己修改过来的
mov ax,1 mov ds,ax 这样ds 就被修改为1
mov ax,[0] 这步执行后 ax的值是018B 然后我就用d去查看 1:0位置去了 果然是8B 01 这是为什么?

0001:0000 8B 01 70 00 B9 06 0E 02-40 07 0E 02 FF 03 0E 02
0001:0010 46 07 0E 02 0A 04 0E 02-3A 00 9C 03 54 00 9C 03

计算结果是
mov ax,1
mov ds,ax
mov ax,[0]                ax=018B
mov bx,[1]                bx=7001
mov ax,bx                ax=7001
mov ax,[0]                ax=018B
mov bx,[2]                bx=0070
add ax,bx                ax=01FB
add ax,[4]                ax=08B4
mov ax,0                ax=0
mov al,[2]                ax=0070
mov bx,0                bx=0
mov bl,[c]                bx=00FF
add al,bl                ax=006F
gyq
[第1楼]   [ 回复时间:2014-09-16 01:56 ]   [引用]   [回复]   [ top ] 
荣誉值:4
信誉值:0
注册日期:2014-08-02 21:25
我怎么感觉楼主在说:
苹果是水果。
猴子是动物,为什么?
楼主的问题是什么呢?
yang1818
[第2楼]   [ 回复时间:2014-10-07 20:09 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2014-10-07 20:00
哈哈,跟我一样,对于没有任何语言基础的,开头(“d 0:0 1f”查看内存),压根就不理解的,我也是想了好久才发现,我的电脑的这个地址和
0000:000f 70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60 
0010:001f 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88 
是不一样的,想要计算下面的题,先要改下(“d 0:0 1f”查看内存)这个,改成和上面那些一样才可以
即(-e 0000:0)
下面计算答案就全对了
aminggdwh
[第3楼]   [ 回复时间:2014-10-15 11:07 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2014-09-20 15:47
这个是孝对字和字节的理解,不用上机,把自已当cpu,照着书上给出的数据自已填上去,加法就用计算器或口算,再用debug验证一下。
1461299415
[第4楼]   [ 回复时间:2014-11-15 12:30 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2014-11-08 19:06
段地址不是说是16的倍数吗,为什么是0000呢,你们不觉得怪吗?这个
mov ax,1
mov ds,ax
mov ax,[0000]
其中ds=?你说是0001,但它不是16的倍数呀,这是怎么搞的呀
1461299415
[第5楼]   [ 回复时间:2014-11-15 12:35 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2014-11-08 19:06
我上面的内容错了,看了书发现是段的起始地址(即基础地址)是16的倍数,不是段地址是16的倍数!
1461299415
[第6楼]   [ 回复时间:2014-11-15 12:44 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2014-11-08 19:06
回复:[第4楼]
------------------
d 0:0 1f查看内存不可能有起始地址分别为0000:000f和起始地址为0010:001f.应该是0000:000f到0000:001f
v115488
[第7楼]   [ 回复时间:2017-08-11 18:39 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2017-08-11 18:33
我就觉得这题的上部分和下部分不对应,不实操,手动没法计算,楼主的答案  是实操答案还是自己手动计算的答案
v115488
[第8楼]   [ 回复时间:2017-08-11 18:43 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2017-08-11 18:33
回复:[第4楼]
------------------
书上读的内存是0000:0的,而程序要读的内存是0001:0的,你告诉我,不实操,怎么知道0001:0内存里是什么??
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved