第1个回答 推荐于2018-09-03
cs中的内容无法被显式的更改。
但可以用例如jmp oper ,loop oper,等指令来隐式的更改。(IP)同理。
如果你学过操作系统这门课的话,应该不难理解。
cs中的指令代码是(当然也可以有数据)是被存放到系统进程空间里面的。(进程空间=用户进程空间+系统进程空间)。
而ds中的数据是被放到用户进程空间里的。
指令最少占用一个字节。本回答被网友采纳
第2个回答 2010-12-03
其实寄存器中存储的都是二进制
cs:ip 指向的二进制会被cpu 当做指令
而ds 存储的二进制会被cpu当做数据
同样的道理,ss:sp指向栈段的栈顶位置
第3个回答 2010-11-29
计算机内,所有数据都是二进制数据,不管是数据还是机器指令都是二进制,也就是说指令和数据在内存中是一样表示的,这样如果内存中存在两段数据,一段是数据,一段是指令,如果我们指令段的基址写入CS中那么计算机就会认为这个段是指令段,反之我们把数据段基址写入CS中,计算机也会认为数据段是可执行的就会执行,但执行时就会出错,因为数据段不是我们写的指令,其结果很难预料,所以计算机分辨指令是根据CS段寄存器来的.区别就看你把段地址装入哪个寄存器中。
第4个回答 2010-11-28
你可以这样理解,虽然指令和数据在存储器中都是以二进制形式存放,但是cs和ds里面的二进制数的意义不同,cs门下的数代表的是指令,每一个数代表一个指令,而ds门下的数则代表简单的数,参加运算的数。本回答被网友采纳