鱼C论坛

 找回密码
 立即注册
查看: 2196|回复: 3

一个汇编寄存器问题

[复制链接]
发表于 2012-8-16 12:28:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 邪恶的非非 于 2012-8-16 17:33 编辑

本人汇编新手……请教一个问题:在Debug中,用"d 0:0 1f"查看内存,结果如下
0000:0000 70 80 F0 30   EF  60 30 E2-00 80 80 12 66 20 22 60
0000:0010 62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88
下面程序执行前,AX=0,BX=0,写出每条汇编指令执行后相关寄存器中的值
mov ax,1
mov ds,ax
mov ax,[0000]  
mov bx,[0001]  
mov ax,bx      
mov ax,[0000]  
mov bx,[0002]  
add ax,bx      
add ax,[0004]  
mov ax,0      
mov al,[0002]  
mov bx,0      
mov bl,[000c]  
add al,bl      

这道题是王爽汇编内的一道题。我就是搞不懂俩问题“d 0:0 1f”  那个1F是什么意思?参数么?到底该怎么用,
我在Debug下看了下,显示两行。
不知怎么用这个1F第二个问题,
也是一直纠结中的问题。前面两条指令执行后ds=0001H  那么物理地址也就是0001:0晒。
为何网上说0001:0000等价于0000:0010H求解答,
第二个问题想了半天了。
希望有心人能够帮忙解答下。
谢谢

结贴,已解决



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-8-16 12:31:26 | 显示全部楼层
自己顶顶~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-8-16 14:24:52 | 显示全部楼层
第一个问
d 0:0 1f
这个命令的是用来查看内存里面存储的内容的。如果不指定结束的地址,那么默认显示8行,1f的作用是指定查看结束的偏移,也就是说,我只要查看到0:1f就可以了。不用给我后面的数据了。
debug图
d.png
------------------------------------------------------------------------------------------------------------------------------------
第二个问题
0001:0000=00010H
0000:0010=00010H
内存本身并没有分段,只不过我们人为的分段,这样方便寻址。物理地址=段地址*10H+偏移地址 ,记住这个公式。上面的两个实际对应的是同一个物理地址。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-8-16 17:32:43 | 显示全部楼层

俩问题都搞懂了,谢谢啊
{:2_27:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-8 04:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表