. : : 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