数据和代码本质上都是信息,他们的不同在于我们看待他们的角度,从执行程序的角度上来讲,这段信息就是代码,从信息存储数据的角度上来讲,这段信息就是数据。
那么,如果单看内存的内容,是无法知道这段信息是数据还是代码的,因为缺少看待信息意义的角度。这个“角度”在计算机中是如何体现的呢? 会不会就是计算机CPU的各个寄存器?
CPU将内存中的某段内容当做代码,是因CS:IP指向了那里,CPU将某段内存当做栈,是因为SS:SP指向了那里,CPU将某段内存当做数据,是因为DS:[?]指向了那里。
一段内存,可以既是代码的存储空间,又是数据的存储空间,还可以是栈空间,也可以什么也不是,关键在...