数据和程序有区别吗?如何确定内存中的信息哪些是数据,哪些是程序?
CS(CodeString)指向的是指令段地址,指令段寄存器DS(DataString)指向的是数据段地址,数据段寄存器SS(StackString)指向的是栈顶段地址,栈段寄存器内存中的数据和程序没有区别,说都是以2进制形式存储CS指向的段地址里,存的是指令DS指向的段地址里,存的是数据
数据和程序在内存中都是已2进制的数据存贮,只有当2进制的数据被CS:IP指向时,才成为可执行的指令 或 程序。
数据和程序在内存中是没有区别的,它们都是内存中的数据,当EIP指针指向哪 CPU就加载那段内存中的数据,如果是不正确的指令格式,CPU就会发生错误中断.
在现在CPU的保护模式中,每个内存段都其描述符,这个描述符记录着这个内存段的访问权限(可读,可写,可执行).这最就变相的指定了哪个些内存中存储的是指令哪些是数据.