鱼C论坛

 找回密码
 立即注册
查看: 2585|回复: 12

几个问题,希望得到回复

[复制链接]
发表于 2016-11-14 12:46:46 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 刘策策 于 2016-11-14 16:25 编辑

一:在某程序中,定义了262B的数据段data,那么程序载入内存,该段实际占用的内存空间是     B。  
1、  256  
2、  262  
3、  272  
4、  512  
答案为啥是272,多出来的10B是啥

二:生成EXE之后用Debug加载后,查看寄存器内容如下:
ds=0b2d es=0b2d ss=0b3d cs=0b3e ip=0000
程序的起始地址的段地址是     。
1、0b3e                 
2、0b2d                 
3、0b3d                 
4、0
答案是0b3d,书上说ds=0b2d,所以程序从0b3d开始,为啥??

三:(1)下列指令序列不能够实现把内存地址0:202h中的字节数据送入al功能的是     。  

1  mov ax,0  
     mov ds,ax  
     mov bx,202h  
     mov al,[bx]  

2  mov ax,0  
     mov ds,ax  
     mov bx,200h  
     mov al,[bx+2]  

3  mov ax,0  
     mov ds,ax  
     mov bp,202h  
     mov al,[bp]  

4 mov ax,0  
     mov ds,ax  
     mov bp,200h  
     mov al,ds:[bp+2]  
答案是3,想知道为啥是3, 我感觉都对着的

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-11-15 10:03:19 | 显示全部楼层
我也不太明白,先MARK一下吧,同求解答!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-15 12:37:17 | 显示全部楼层
三:(1)下列指令序列不能够实现把内存地址0:202h中的字节数据送入al功能的是     

无标题.png
调试到这里你明白问题了吧,其他的我就不帮你调试了,你自己调试吧,记住,一定要学会调试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-15 12:55:37 | 显示全部楼层
一、选272的原因是256+16,因为段都是16的整数倍。

二、不知道..

三、各选项都是利用了寄存器相对寻址的方式,在没有段前超越的情况下,[BP]默认的是ss,其它的都是ds.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-15 13:03:12 | 显示全部楼层
代码农民 发表于 2016-11-15 12:55
一、选272的原因是256+16,因为段都是16的整数倍。

二、不知道..

1,256也是16的整数倍啊,
3,照你这么说的话,那4也是错的了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-15 13:05:13 | 显示全部楼层
人造人 发表于 2016-11-15 12:37
三:(1)下列指令序列不能够实现把内存地址0:202h中的字节数据送入al功能的是     

感觉调试了之后还是不太懂,能更详细点吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-15 13:07:39 | 显示全部楼层
刘策策 发表于 2016-11-15 13:03
1,256也是16的整数倍啊,
3,照你这么说的话,那4也是错的了

因为272是16倍数里面能容下所定义数据段的最小尺寸.....最省
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-15 13:11:41 | 显示全部楼层
代码农民 发表于 2016-11-15 13:07
因为272是16倍数里面能容下所定义数据段的最小尺寸.....最省

懂了懂了,从262B起,272B是16的最小整数集
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-15 13:13:00 | 显示全部楼层
刘策策 发表于 2016-11-15 13:11
懂了懂了,从262B起,272B是16的最小整数集

只是第二个我也不知道是为什么...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-15 13:19:22 | 显示全部楼层
代码农民 发表于 2016-11-15 13:13
只是第二个我也不知道是为什么...

0b3dh-0b2dh=10h,也许和这有关系,但我也不太懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-15 23:48:04 | 显示全部楼层
第2个看书
91页
4.9 程序执行过程的跟踪
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-11-17 13:15:57 | 显示全部楼层
人造人 发表于 2016-11-15 23:48
第2个看书
91页
4.9 程序执行过程的跟踪

ok.非常感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-18 14:52:32 | 显示全部楼层
刘策策 发表于 2016-11-15 13:05
感觉调试了之后还是不太懂,能更详细点吗

SP BP的默认段地址是SS。
第三跟第四的差别就是[bp]前有没有加了DS:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-10-6 14:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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