鱼C论坛

 找回密码
 立即注册
查看: 3009|回复: 0

[汇编作业] 关于汇编段地址的问题

[复制链接]
发表于 2014-1-17 20:12:07 | 显示全部楼层 |阅读模式

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

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

x
今天看了汇编语言的2.2的作业,在下有几个小问题不明白,请大侠们指教谢谢!!

1) (给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 0010H 1000FH
解题过程:
物理地址=SA*16+EA   
EA的变化范围为0h~ffffh   
物理地址范围为(SA*16+0h)~(SA*16+ffffh)   
现在SA=0001h,那么寻址范围为   
(0001h*16+0h)~(0001h*16+ffffh)   
=0010h~1000fh  
(2) 有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小为 1001H ,最大为 2000H
当段地址给定为 1001H 以下和 2000H 以上,CPU无论怎么变化偏移地址都无法寻到20000H单元。
解题过程:
物理地址=SA*16+EA   
20000h=SA*16+EA   
SA=(20000h-EA)/16=2000h-EA/16   
EA取最大值时,SA=2000h-ffffh/16=1001h,SA为最小值   
EA取最小值时,SA=2000h-0h/16=2000h,SA为最大值  
(1)这里的0001H 是什么意思呢,不管是哪个进制数前面的0应该可以省略吧。
还有这里,(0001h*16+0h)~(0001h*16+ffffh)   
=0010h~1000fh  在怎么样1X16都不会=10吧,这是怎么算的呢?
(2)SA=(20000h-EA)/16=2000h-EA/16    这里的后面括号去了的话16应该都要除进去的吧,就是2000H/16-EA/16,就这样才能让等式成立吧?
就上面这些问题了,希望大家帮我谢谢,请尽量详细点谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-1-18 09:33:13 | 显示全部楼层
(1)-1,对的,0001H是1H的意思,字面描述的话前边的0可以省略,但在内存或硬盘的存储中,由于数据位“要么存储0要么存储1”,所以会存储0。

(1)-2, 0001h * 16 是 1h(十六进制) * 16(十进制)== 1h * 10h == 10h

(2)同(1)-2,20000h / 16 == 20000h / 10h == 2000h
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-19 15:04:08 | 显示全部楼层
好的谢谢,原来要把16转化成10H啊,之前在视频里没说,我觉得小甲鱼的视频在某些地方还是不够仔细的谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-1-19 18:59:12 | 显示全部楼层
开始我也蛋疼这里,后面发现X16的16是十进制的,要转成十六进制就是10
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-1-28 17:47:26 | 显示全部楼层
是自己不够仔细而已。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-1-28 17:53:54 | 显示全部楼层
主意十六进制的H,十进制后面是没有的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-25 17:51:04 | 显示全部楼层
段地址X16中的16是10进制,换位16进制就是10了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-27 22:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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