鱼C论坛

 找回密码
 立即注册
查看: 4887|回复: 19

[汇编作业] 汇编作业2.2

[复制链接]
发表于 2014-5-14 21:25:14 | 显示全部楼层 |阅读模式

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

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

x
2.2.png
感谢小甲鱼老师!!!
这份作业在处理第二个时候,最小等于1000H,始终找不到20000H,看来不认真,得更努力点~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-14 21:52:04 | 显示全部楼层
q:312154421  欢迎一起学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-20 22:14:06 | 显示全部楼层
有木有过程:mad:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-21 20:24:13 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-21 22:24:18 | 显示全部楼层
Ivan_t 发表于 2014-5-21 20:24
建议先看看小甲鱼老师的教学视频,你会有所收获的!

不好意思,小甲鱼老师的编程教程我都有,而且我正在学习汇编,到这里不太明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-21 22:40:12 | 显示全部楼层
satan 发表于 2014-5-21 22:24
不好意思,小甲鱼老师的编程教程我都有,而且我正在学习汇编,到这里不太明白了

其实我也是刚学习,只能说说自己的理解,若是有不对的地方,也请你指正!
1 因为CPU物理地址是通过两个16位寄存器获得,物理地址=段地址*16+偏移地址
两个都是16位寄存器,地址为0000H~FFFFH
第一题中已经确定段地址,物理地址=0010H*16+偏移地址(不确定就是0000H~FFFFH)
结果就是00010H~1000FH(具体计算可以通过PC中的计算器)

2 原理如1中,数据置于20000H地址,即是物理地址为20000H,偏移地址为0000H~FFFFH
物理地址=段地址*16+偏移地址,反向计算下,注意这样计算会出现结果为1000H,这个结果无法将寻址到20000H,所以加1

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

使用道具 举报

发表于 2014-5-21 23:00:31 | 显示全部楼层
Ivan_t 发表于 2014-5-21 22:40
其实我也是刚学习,只能说说自己的理解,若是有不对的地方,也请你指正!
1 因为CPU物理地址是通过两个1 ...

十分感谢你的帮助(我在学校网不太好,回复可能会慢点).
第一题我看明白了,第二题的偏移地址只能从0000h-ffffh吗?从0000h-fffeh行吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-22 13:24:52 | 显示全部楼层
satan 发表于 2014-5-21 23:00
十分感谢你的帮助(我在学校网不太好,回复可能会慢点).
第一题我看明白了,第二题的偏移地址只能从0000h-f ...

可以啊,20000-FFFE的结果向前移动一位,结果约为1001H,保证寻址到20000H的物理地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-22 18:06:54 | 显示全部楼层
继续努力,小阿宝~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-22 20:58:01 | 显示全部楼层
Ivan_t 发表于 2014-5-22 13:24
可以啊,20000-FFFE的结果向前移动一位,结果约为1001H,保证寻址到20000H的物理地址

谢谢楼主的指点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-22 21:33:54 | 显示全部楼层
satan 发表于 2014-5-22 20:58
谢谢楼主的指点

客气,都是初学者,大家相互学习,相互帮忙促进!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-23 13:15:02 | 显示全部楼层
Ivan_t 发表于 2014-5-22 21:33
客气,都是初学者,大家相互学习,相互帮忙促进!

楼主啊,都怪我权限太低,批准申请好友都不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-23 13:15:33 | 显示全部楼层
Ivan_t 发表于 2014-5-22 21:33
客气,都是初学者,大家相互学习,相互帮忙促进!

楼主啊,都怪我权限太低,批准申请好友都不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-23 14:10:38 | 显示全部楼层
Q 472174688 我们一起学习吧:lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-30 11:51:23 | 显示全部楼层
当段地址给定为 1001H 以下和 2000H 以上,CPU无论怎么变化偏移地址都无法寻到20000H单元。
上面的是最后一个标准答案:其实我想说的是唯一和你不一样的是我带上1000H了:big
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-5-30 12:59:06 | 显示全部楼层
:lol:  大家一起
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-5-30 20:19:43 | 显示全部楼层

:handshake相互学习!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-21 16:43:29 | 显示全部楼层
Ivan_t 发表于 2014-5-21 22:40
其实我也是刚学习,只能说说自己的理解,若是有不对的地方,也请你指正!
1 因为CPU物理地址是通过两个1 ...

反向计算就是1000H-2000H,1000H+1,问什么2000H不+1 哪?初学者,不懂望赐教!谢谢额!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-24 14:32:02 | 显示全部楼层
本帖最后由 lmsouth 于 2017-5-24 14:33 编辑
huibian725 发表于 2017-5-21 16:43
反向计算就是1000H-2000H,1000H+1,问什么2000H不+1 哪?初学者,不懂望赐教!谢谢额!


段地址*16+偏移地址=20000H 这个公式套已经知道的数据,段地址是要求的数据,求它的最大最小值。
要求段地址,你需要先知道偏移地址,偏移地址的最大最小值为0000H和FFFFH,因为是16位的寻址。
反向计算
求最大值
段地址*16=20000H-0000H
段地址*16=20000H
段地址=2000H
求最小值        
段地址*16=20000H-FFFFH
段地址*16=10001H
这个里因为不能整除16所以偏移地址最大是FFFFH
你可以慢慢缩小偏移地址计算(如FFFEH,FFFD......)
最后偏移地址为FFF0H,就可以整除
段地址*16=20000H-FFF0H
段地址*16=10010H
段地址=1001H
最后得段地址最大2000H,最小1001H
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-5-24 16:57:44 | 显示全部楼层
lmsouth 发表于 2017-5-24 14:32
段地址*16+偏移地址=20000H 这个公式套已经知道的数据,段地址是要求的数据,求它的最大最小值。
要求 ...

段地址*16=10001H
这个里因为不能整除16
终于能明白了!谢谢!谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-25 13:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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