能力值:
( LV2,RANK:10 )
|
-
-
2 楼
那个1230是16进制的,所以1230*16=12300
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
lu 在上,小弟是这样的理解的:
刚开始学汇编在这也犹豫了一下,为啥乘以十六呢,后来明白了,原来他是基址左移四位并地位保留为零如基址为2000H 偏移地址为1234H 则物理地址为 20000H+1234H=21234H
所以左移四位,想想不就是2的四次方吗即16,而我们知道左移是乘以16,lu 不知是这样吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
如果你用16进制算的话只要乘以10
如果你用10进制计算的话要乘以16
不要问这是为什么,以后你会知道的。
呵呵,初二啊,有前途呵呵
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
呵呵,算了下还真是这样,就是不知道什么原理
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
呵呵,初二的学生学这个真的有点深。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
不知道你的这个教程是哪的,建议看看IBM-PC汇编语言程序设计(清华大学出版),我手头的是第二版的,27页有讲解的。
这里简单摘录一些内容:
为了解决16位字长的机器里提供20位地址的问题,采用存储器地址分段。
CPU访问存储器时必须先确定所要访问的存储单元的物理地址,而20位的物理地址由16位段地址和16位偏移地址组成,段地址是指每一段的起始地址(又称段基地址),由于它必须是小段的首地址,所以其低4位一定是0(个人理解低四位的4个0是说在2进制里,而在16进制里就是一个0,即楼主所说的12300的最后一个0),如书上举例:
00000H
00010H
41230H
41240H
结论就是段地址左移4位再加上偏移地址形成物理地址:也就是楼主的公式段地址*16+偏移地址=物理地址
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
对于计算过程,首先明确1230其实是16进制,而公式里*16的是10进制,如果按公式计算
10进制 1230H=4656D 4656D*16=74496D=12300H
16进制 1230H*16D=1230H*10H=12300H
上面的H表示16进制,D表示10进制,经转换后计算,最终结果均转位16进制。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
学习了 楼主
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
我终于明白了
9楼把我提醒了
1230*16(其实这个16是10进制的数,换算成16进制后就是10)
哎 教程上应该把16写成16D,害的我为这想了半天
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
楼主很有前途,才初二
|
|
|