鱼C论坛

 找回密码
 立即注册
查看: 8554|回复: 14

[汇编作业] 【王爽-汇编语言】第二章 监测点2.2

[复制链接]
发表于 2014-5-1 15:18:40 | 显示全部楼层 |阅读模式

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

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

x
VDQ4MM}Y8TRZXR%C)OUL`]N.jpg
1. 从物理地址  1H*16+0  到  1H*16+FFFFH  也就是 10H 到 1000FH 。

2. 物理地址等于 段地址*16+偏移地址,现在物理地址是20000H,如果段地址要最小,那偏移地址就要为最大FFFFH,20000H-FFFFH=10001H ,此时的10001H  是通过段地址*16得到的,也就是左移一位,但是我们拿10001H除以16H话,那不就是成了1000.1H了,当然这是不允许的,所以我们就要像要怎样才能满足 段地址为最小的呢,因为段地址都是16的倍数,如果我们吧段地址取 1000的话,这样虽然去了小数,但是 1000*16+FFFF 可寻址不到20000F这么大的地址,所以我们只能把向上加1变成1001H,所以段地址最小为1001H。段地址取最大的话,那就简单了,字节就是 20000-0/16(这里都是16进制) = 2000,所以段地址最大为2000H
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-1-24 23:42:07 | 显示全部楼层
物理地址=段地址*16+偏移地址
20000H=SA*16+偏移地址
由于16为十进制,转换为十六进制=10H
最小偏移地址=0H
最大偏移地址=FFFFH
最小SA=(20000H-FFFFH)/10H=20000H/10H-FFFFH/10H=2000H-FFFH=1001H
最大SA=(20000H-0H)/10H=20000H/10H-0H/10H=2000H-0H=2000H

当SA<1001  或 SA>2000时 CPU无法寻到20000H  

请教一个问题:0001H*16+FFFF怎么=1000F

不是0001H*10H+FFFF=F吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-4-3 07:51:45 | 显示全部楼层
物理地址=SA*16+EA&#160;&#160;&#160;
20000h=SA*16+EA&#160;&#160;&#160;
SA=(20000h-EA)/16=2000h-EA/16&#160;&#160;&#160;
EA取最大值时,SA=2000h-ffffh/16=1001h,SA为最小值&#160;&#160;&#160;
EA取最小值时,SA=2000h-0h/16=2000h,SA为最大值&#160;
&#160;
这里的ffffH/16=fffh是通过WIN自带计算器算的
按位移来算确实应该为fff.fh,这里小数点后的f应该是省略了
单就除法来说,应有商和余数,但此题要求的是地址最大和最小,所以余数忽略了
&#160;
如果根据位移的算法(段地址*16=16进制左移一位),小数点后应该是不能省略的
我们可以反过来再思考下,如果SA为1000h的话,小数点后省略
SA=1000h,EA取最大ffffh,物理地址为1ffffh,将无法寻到20000H单元
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-31 00:10:15 | 显示全部楼层
还是没明白,继续去看看视频来。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-8-31 10:22:15 | 显示全部楼层
好好学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-10-20 15:25:44 | 显示全部楼层
SA=2000h-ffffh/16=1001h
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-10-20 15:26:50 | 显示全部楼层
SA=2000h-0h/16=2000h   SA=2000h-ffffh/16=1001h   这个要先转成10进制的把 除了以后再转16进制 我是这么算出来的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2015-10-20 15:36:24 | 显示全部楼层
最小SA=(20000H-FFFFH)/10H=20000H/10H-FFFFH/10H=2000H-FFFH=1001H   这里后面怎么成三个FFF了 20000H/10后—FFFFH 怎么成三个FFF了 ??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-10-31 20:28:33 | 显示全部楼层
a280153458 发表于 2015-1-24 23:42
物理地址=段地址*16+偏移地址
20000H=SA*16+偏移地址
由于16为十进制,转换为十六进制=10H

为啥会等于F:shock:?自己手算和计算器算都不是F,是不是计算方法不对:smile
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-10-31 20:44:23 | 显示全部楼层
太难了 真的要好好看视频
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-28 15:33:14 | 显示全部楼层
:smile:smile:smile:smile:smile
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-4-21 20:08:46 | 显示全部楼层
视频  为都反复看了5编译上了。。。=以上了。。 还是不懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-15 20:44:38 | 显示全部楼层
xkwyas 发表于 2015-10-20 15:36
最小SA=(20000H-FFFFH)/10H=20000H/10H-FFFFH/10H=2000H-FFFH=1001H   这里后面怎么成三个FFF了 20000H/10 ...

SA=2000H-FFFFH/16
   =2000H-65535/16   (将16进制数FFFF转化为十进制数65535)
   =2000H-4095        (将十进制数4095转化为16进制数FFF)
   =2000H-FFFH        (用计算器计算得出1001H)
   =1001H
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-11 21:27:13 | 显示全部楼层
xiehaofeng 发表于 2018-3-15 20:44
SA=2000H-FFFFH/16
   =2000H-65535/16   (将16进制数FFFF转化为十进制数65535)
   =2000H-4095        ...

65535/16在十进制下也不会是4095的,只看末尾数字,16的6乘上4095的5不可能是65535的5,所以计算器再这里还是省略了余数的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-15 15:22:49 | 显示全部楼层
xiehaofeng 发表于 2018-3-15 20:44
SA=2000H-FFFFH/16
   =2000H-65535/16   (将16进制数FFFF转化为十进制数65535)
   =2000H-4095        ...

瞎扯淡,你自己把这个结果反着加回去试试,看看是不是最终物理地址等于20000H,谁告诉你段地址x16+偏移地址可以直接用数学公式代入?直接反着来就成为了物理地址-偏移地址除以16了?这特么不是瞎指挥是啥?再起码也应该是SA=(20000H-IP)/16吧?你数学是真特么好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 06:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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