我觉得书上给的例子,进制有点混乱
段地址:1230
偏移地址:00C8
这里的段地址跟偏移地址都是16进制
那么这个公式应该严谨的写成下面这样:
1230H*10H+00C8H=12300H+00C8H=123C8H
再往下看....
8086CPU是16位结构的
8086CPU的地址总线是20位的
【注意】这里的位是说二进制的16位,20位
20位-16位=4位
4位二进制可以用十六进制的1位表示
二进制 十六进制
0000 —— 0
0001 —— 1
0010 —— 2
0...


- [doing1984] 我做错了~~~! mov ax,1 mov ds,ax 04/18 16:54
- [doing1984] 3.3字的传送写得很清楚了“因为8086CPU是16位结构,有16根数据线.......” 04/18 15:49
- [doing1984] 看了下别人的答案,说是修改了四次了,我之前也是想着四次的,但是我觉得执行指令后IP是自己移动的,不是 04/18 10:56
- [doing1984] 我觉得我这种解释比书说的“左移4位”要好理解一些,书上写的进制好混乱,看得我一头雾水 04/17 20:15
- [doing1984] 谢谢游客,反正它一次读一条指令就对了,不知道书后面有没有具体解释 09/03 08:21
- [游客] 十六进制10001H不是10H(16)的整数倍啊。 段地址最后一位如果为0,说明SA*10H=** 08/31 15:25
- [游客] 应该与源代码中指令操作符有关系,特定的操作符号集合决定了这个指令将被编译成多少个字节码,当然也包括指 08/31 15:15
- [游客] 不是的,你看到的“;”是字符层面上的,而机器指令是2进制层面的。你的源代码经过编译器的编译才能变成机 08/31 15:12
- [doing1984] “这不是一个16位数”写错了,应该是这不是一个16的倍数 08/31 09:08
- [doing1984] 上面那个写错了,20000H-FFFFH=65537 08/31 09:04
[2013-04-17 20:13] 2.7 段地址*16+偏移地址=物理地址
阅读全文 |
评论次数(1) |
浏览次数(557) |
所属类型(疑问)
[2013-04-17 19:00] 16位结构的CPU是指,CPU内部总线宽度为16位?
2.5说
8086是16位结构的CPU,这也就是说,在8086内部,能够一次性处理、传输、暂时存储的信息最大长度是16位的。
这个意思不就是CPU内部总线宽度为16位吗?...
8086是16位结构的CPU,这也就是说,在8086内部,能够一次性处理、传输、暂时存储的信息最大长度是16位的。
这个意思不就是CPU内部总线宽度为16位吗?...
阅读全文 |
评论次数(1) |
浏览次数(528) |
所属类型(疑问)
[2012-08-31 14:17] CPU在读取指令的时候,为什么有时读2个,有时读3个?
在35页的小结中第三点:
(3)8086CPU的工作过程:
1、从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器
2、IP指向下一条指令
...
这里看到CPU是一条指令一条指令的读的,从之前章节的图例来看,读完一条指令后接着就执行了,那么,是不是意味着CPU每读一次必然是一条完整的指令?像JAVA一条指令是由“;”结束的,CPU是否也是用类似";"来判断一条指令已经结束?...
(3)8086CPU的工作过程:
1、从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器
2、IP指向下一条指令
...
这里看到CPU是一条指令一条指令的读的,从之前章节的图例来看,读完一条指令后接着就执行了,那么,是不是意味着CPU每读一次必然是一条完整的指令?像JAVA一条指令是由“;”结束的,CPU是否也是用类似";"来判断一条指令已经结束?...
阅读全文 |
评论次数(3) |
浏览次数(589) |
所属类型(疑问)
页码数(1):
1