. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->基础知识
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  关于段地址,初学者实在是想不明白了,请高手指点!  [待解决] 回复[ 3次 ]   点击[ 438次 ]  
puwen
[帖 主]   [ 发表时间:2010-10-28 10:12 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-25 23:36
1:段地址X16,哪个16我换成10用10进制来乘可以吗?  
  补充:(我是否能这样理解?那个16和10其实就是16进制和10进制(16进制就X16, 10进制就X10),我算的时候能不能把它换成10进制来算X10最后在把结果换成16进制.对了(十六进制计算 2E * 0x10 = 2E0   那个0x10是什么意思呢?)

2:起始地址为10000H, 段地址为1000H(这个段地址1000H是怎么得来的?请尽量详细通俗点) 大小为100H(这个就更不明白了大小指的是什么?为什么又变成100H了?)

3:我们也可以认为地址:10000H~1007FH 、10080H~100FFH 的内存单元组成两个段,它们的起始地址(基础地址)为:10000H 和 100080H, 段地址为: 1000H(这个也不明白) 和 1008H(这个也不明白是怎么出来的),大小都为80H(这个更是不明白,为什么说是大小都为80H.)  请各位大哥指点指点,,请尽量详细通俗点,谢谢!
qucklay
[第1楼]   [ 回复时间:2010-10-28 19:36 ]   [引用]   [回复]   [ top ] 
荣誉值:10
信誉值:0
注册日期:2009-06-25 23:01
概念:段地址X16,相当于段地址左移一位,即LSB(最低有效位)补零。
理解:
任何一种进制乘以它的基数,等于这个数左移一位(右侧补零)。

12 x 10 = 120
|     |
|     |
|     base numbuter
decimal number

由此可见:
a x 10 = a0
101b x 2 = 1010b (在calc中选择二进制,101 x 10实验看看;)

回到汇编语言中,段地址 X 16,你可以理解为 段地址 X 10h。比如1001h x 10h = 1001[0]h 。
qucklay
[第2楼]   [ 回复时间:2010-10-28 20:49 ]   [引用]   [回复]   [ top ] 
荣誉值:10
信誉值:0
注册日期:2009-06-25 23:01
内存地址为10000H,一个5位16进制的地址是内存物理地址,由段基址:偏移地址组成。

段地址为1000H,大小为100H。
1000[0]h+ 00ffh =100ffh

10000h ~ 100ffh 的大小是100h(256byte). 100ffh-10000+1=256

10000H~1007FH . 1007f-10000+1=80h
goodxiaowan
[第3楼]   [ 回复时间:2010-12-11 09:00 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-05-23 12:24
在10进制中是逢9进位,如9+1=10(由原来的一位变成两位);
在16进制中当然是逢15进位,如f+1=10H
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved