汇编作业2.2
感谢小甲鱼老师!!!
这份作业在处理第二个时候,最小等于1000H,始终找不到20000H,看来不认真,得更努力点~
q:312154421欢迎一起学习 有木有过程:mad: satan 发表于 2014-5-20 22:14 static/image/common/back.gif
有木有过程
建议先看看小甲鱼老师的教学视频,你会有所收获的! Ivan_t 发表于 2014-5-21 20:24 static/image/common/back.gif
建议先看看小甲鱼老师的教学视频,你会有所收获的!
不好意思,小甲鱼老师的编程教程我都有,而且我正在学习汇编,到这里不太明白了 satan 发表于 2014-5-21 22:24 static/image/common/back.gif
不好意思,小甲鱼老师的编程教程我都有,而且我正在学习汇编,到这里不太明白了
其实我也是刚学习,只能说说自己的理解,若是有不对的地方,也请你指正!
1 因为CPU物理地址是通过两个16位寄存器获得,物理地址=段地址*16+偏移地址
两个都是16位寄存器,地址为0000H~FFFFH
第一题中已经确定段地址,物理地址=0010H*16+偏移地址(不确定就是0000H~FFFFH)
结果就是00010H~1000FH(具体计算可以通过PC中的计算器)
2 原理如1中,数据置于20000H地址,即是物理地址为20000H,偏移地址为0000H~FFFFH
物理地址=段地址*16+偏移地址,反向计算下,注意这样计算会出现结果为1000H,这个结果无法将寻址到20000H,所以加1
Ivan_t 发表于 2014-5-21 22:40 static/image/common/back.gif
其实我也是刚学习,只能说说自己的理解,若是有不对的地方,也请你指正!
1 因为CPU物理地址是通过两个1 ...
十分感谢你的帮助(我在学校网不太好,回复可能会慢点).
第一题我看明白了,第二题的偏移地址只能从0000h-ffffh吗?从0000h-fffeh行吗? satan 发表于 2014-5-21 23:00 static/image/common/back.gif
十分感谢你的帮助(我在学校网不太好,回复可能会慢点).
第一题我看明白了,第二题的偏移地址只能从0000h-f ...
可以啊,20000-FFFE的结果向前移动一位,结果约为1001H,保证寻址到20000H的物理地址 继续努力,小阿宝~ Ivan_t 发表于 2014-5-22 13:24 static/image/common/back.gif
可以啊,20000-FFFE的结果向前移动一位,结果约为1001H,保证寻址到20000H的物理地址
谢谢楼主的指点 satan 发表于 2014-5-22 20:58 static/image/common/back.gif
谢谢楼主的指点
客气,都是初学者,大家相互学习,相互帮忙促进! Ivan_t 发表于 2014-5-22 21:33 static/image/common/back.gif
客气,都是初学者,大家相互学习,相互帮忙促进!
楼主啊,都怪我权限太低,批准申请好友都不行 Ivan_t 发表于 2014-5-22 21:33 static/image/common/back.gif
客气,都是初学者,大家相互学习,相互帮忙促进!
楼主啊,都怪我权限太低,批准申请好友都不行 Q 472174688 我们一起学习吧:lol: 当段地址给定为 1001H 以下和 2000H 以上,CPU无论怎么变化偏移地址都无法寻到20000H单元。
上面的是最后一个标准答案:其实我想说的是唯一和你不一样的是我带上1000H了:big :lol:大家一起 1-1=? 发表于 2014-5-30 12:59 static/image/common/back.gif
大家一起
:handshake相互学习! Ivan_t 发表于 2014-5-21 22:40
其实我也是刚学习,只能说说自己的理解,若是有不对的地方,也请你指正!
1 因为CPU物理地址是通过两个1 ...
反向计算就是1000H-2000H,1000H+1,问什么2000H不+1 哪?初学者,不懂望赐教!谢谢额! 本帖最后由 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 lmsouth 发表于 2017-5-24 14:32
段地址*16+偏移地址=20000H 这个公式套已经知道的数据,段地址是要求的数据,求它的最大最小值。
要求 ...
段地址*16=10001H
这个里因为不能整除16
终于能明白了!谢谢!谢谢!
页:
[1]