. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(CPU工作原理)
主题 : :  为什么将123c8分成1230跟00c8而不是1200,03c8?  [待解决] 回复[ 13次 ]   点击[ 638次 ]  
helloworld
[帖 主] [ 发表时间:2007-10-20 17:45 ] 
荣誉值:10
信誉值:6
注册日期:2007-10-20 14:34
那个段地址x16的看不懂,好像要先把1230分出来,再x16才变成12300,但不知道为什么要抽前3位123而不是前两位12
helloworld
[第3楼] [ 回复时间:2007-10-21 11:32 ] 
荣誉值:10
信誉值:6
注册日期:2007-10-20 14:34
对于这个问题 我刚才再看了一下书 已经搞明白了

其实 段地址x16 并不是理解成: 段地址乘以16,而是理解成:段地址向左偏移一位,表面上看1230 X 16是怎么不可能等于12300的,但是因为1230是16进制,所以写成1230 X 10,表面上虽然是得到了12300,但不符合寄存器的加法原理,因为16进制向左偏移一位就是16的1倍,所以就要用1230 X 16这种形式来表达

不知道我这样理解对不对呢
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved