. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
寄存器(CPU工作原理)
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
求CPU的寻址范围
[待解决]
回复[
3
次 ] 点击[
249
次 ]
rose
[帖 主]
[ 发表时间:2012-05-12 17:59 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2012-05-11 16:45
①给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为_到_?
②有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是;是最小为_,最大为_。
我的答案是①00010H到1000FH ②1001H,2000H
能具体写出算出答案的步骤吗,谢谢
tomato
[第
1
楼]
[ 回复时间:2012-05-12 23:15 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51
楼主做对了,楼主的步骤是什么样的?
rose
[第
2
楼]
[ 回复时间:2012-05-13 21:17 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2012-05-11 16:45
1、SA=0001H,0000H≤EA≤FFFFH,根据公式:物理地址=SA*16+EA,所以CPU的寻址范围为00010H+OOOOH~00010H*FFFFH,简化为0010H~1000FH
2、根据公式:物理地址=SA*16+EA,则SA=(物理地址-EA)/16[16为十进制,物理地址和EA为十六进制。/16就表示向右移动一位]。故SA=(20000H-EA)/16,又因0000H≤EA≤FFFFH,SA的范围就求得出来了。
最小值算出来是1001.1H,因为段地址一定是16的倍数,所以最小值只能去1001H
我就是这样想的,多多指教!
tomato
[第
3
楼]
[ 回复时间:2012-05-13 23:43 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51
没问题。
需要登录后才能回帖 -->>
请单击此处登录
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved