syleiying 发表于 2014-2-1 19:16:41

代码段的一个小问题

本帖最后由 syleiying 于 2014-2-1 19:45 编辑

假如一段代码存在于20003H到20008H的内存单元中,可不可以把20003H到20008H看作为一个代码段呢?还是必须要从20000H开始才行呢?书中说起始地址必须要是16的倍数!而20003H并不是16的倍数啊!难道只能把20000H到20008H看作一个代码段吗?

LinuxDeepin 发表于 2014-2-1 21:33:44

你可以看成代码段,但 CPU 只认 CS:IP
从2003H开始也行,只要你记得住就行了。

pzhccy 发表于 2014-2-2 02:52:28

可以呀,你可以把CS段设为2000H,然后把IP设为3不就行了么,呵呵 :lol:

其实作者说代码段的意思是代码段的开始地址必须是16的倍数,是因为段地址必须乘16才为代码段

无名侠 发表于 2014-2-3 14:14:20

段不一定和16对齐。{:1_1:}{:1_1:}
页: [1]
查看完整版本: 代码段的一个小问题