就16位而言,我们可以算一下:以CS:IP为例,当CS为0时,是最小的段,当CS为FFFFH时,为最大的段,所以CS的取值范围为0-FFFFH,也就是最大为65535,也就是CS可以跨越65536个段,每个段64K,那就是65535*64K。也就是说,CS=0,IP=0,为最小,CS=FFFFH,IP=FFFFH时为最大。假如初始为CS=0,IP=0,然后我们在内存FFFF:FFFF处设置一个标号为S,我们完全可以使用jmp far s 这条指令直接跳到FFFF:FFFF处。这只是理论上的分析,不知道我说的对不对,大家可以提一下。 |