首页
社区
课程
招聘
[旧帖] 汇编中的几个问题 0.00雪花
发表于: 2008-11-12 22:27 3853

[旧帖] 汇编中的几个问题 0.00雪花

2008-11-12 22:27
3853
1个cpu的寻址能力为8KB,那么它的地址总线宽度为:??
我知道CPU的寻址能力是跟总线相对的!但是我很奇怪,地址宽度是以节算的还是字节算的我这里就搞糊涂?这个8KB我怎么算都是算不到地址宽度......地址宽度不是以2的N次方算的么?

第二个问题:
   指令                 AX(原值0000H)               BX(原值0000H)
mov ax,4E20H                  4E20H                      0000H
mov ax,1406H                  6226H                      0000H
mov bx,2000H                  6226H                      2000H
add ax,bx                     8226H                      2000H
mov BX,AX                     8226H                      8226H????这里怎么是8226呢?AX在上面都是8226了,加上BX2000不是A226了吗?
ADD ax,bx                       ?                          ?                          
最后结果我知道怎么算~~就是MOV BX,AX那里卡着算不下来~~

这是我在看汇编语言第2版中的疑问???/书上没有答案,也没分析........

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 111
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
1个cpu的寻址能力为8KB,那么它的地址总线宽度为:??

  地址总线的宽度的单位是位(bit),它能寻址8K,因为 2 的 13 次方 = 8K,所以此题的答案是13位,反过来说,就是。。。。。(LZ明白了没?)
第二个问题:
...
~就是MOV BX,AX那里卡着算不下来

数据会相互覆盖的,也就是说不管BX里以前存的是什么数据,执行这句话之后BX里存的就是AX的值了。
所以你的第一个也就错了,请重新考虑,呵呵,看来你是个完全初学者。
2008-11-13 00:09
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
问题一:这里你要注意单位的换算问题,8KB=8192b,那么,那2的多少次方是8192呢?答案是13,所以就说地址总线的宽度为13了。

问题2:你仔细看一下指令,人家写的是执行以后的值,而那里是mov指令,并非add指令,注意是执行以后的值,不是执行时AX,BX的值
2008-11-13 00:10
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
刚看到这个贴的时候,以为可以坐沙发呢,没想到楼上的比我快
2008-11-13 00:11
0
雪    币: 111
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
呵,仅快了几十秒吧
2008-11-13 00:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
1个cpu的寻址能力为8KB,那么它的地址总线宽度为:??
8为2的3次方`1M=1024KB 进制为1024  8KB=8*1024Byte=2的3次方*1024Byte=2的3次方*1024*8*1bit=可以理解为1个1024 在内就算10 然后+3就等于=地址总线为13
-------------------------------------------------------------------------------
add ax,bx                     8226H                      2000H
mov BX,AX                     8226H              8226H  ------------------AX的复制一份给BX 所以BX=AX
------------------------------------------------------------------------
add ax,bx                       ?(0442H)                      ?(8826H)     
ADD为加法 格式=AX=AX+BX  AX=8226H BX=8226   
所以执行后AX=044CH---为什么这是044CH呢 为什么不是1044CH 因为AX是16位寄存器只能保存四位2进制位 所以那个一舍去 但真正的CPU不会舍去这个值  BX=8226H 因为没有参加加法程序 所以不变
2008-11-13 00:47
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
7
其实我才是第一个看到的
2008-11-13 00:56
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
第2个问题我明白了- -!谢谢各位牛牛,但是第一个问题,我还是有点不理解!也就是反过来算的意思吧(逆向算法?)6楼是如何那么快速滴算出8为2的3次方?因为 2 的 13 次方 = 8K 如果这个数大点你们不可能算出来是X的几次方了吧,比如:89898989889这么大的数你杂算?第一个问题我问错了都,我一个一个试着算也算到13(原来算成16了),但是毫时间!百度上有很多这题的答案跟分析,我都看的明白,但是我就是想知道你们怎么快速算出8为2的3次方?计算器?
   上次有个牛牛说没基础!只要有心都能学好汇编,虽然我是完全初学,但是我有信心.........
2008-11-13 01:31
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
系统计算器-科学计算器-输入89898989889 点除1024(不一定要除这个数 也可以512啊 2啊 4 啊  随便罗```) 只有1024除一次就是10  然后10*次数+剩下的=答案
2008-11-13 02:06
0
雪    币: 442
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
大家都是正解
2008-11-13 08:43
0
游客
登录 | 注册 方可回帖
返回
//