qq_42577465
2019-05-21 18:52
采纳率: 100%
浏览 715

32位汇编的段寄存器有什么用?

32位汇编保留段寄存器,可段寄存器用来做什么呢?如:DS,CS,SS等这类寄存器?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • threenewbee 2019-05-21 19:19
    已采纳

    不是所有的32位操作系统都是页式的,也可以是段页式的,所以还是要用到段寄存器。
    再说,32bit向下兼容16bit代码,那么还是需要用到段寄存器。
    最后,段寄存器还可以用来作为通用寄存器,相同功能的程序,利用的寄存器越多,效率越高。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 柰茶 2019-05-21 19:15

    可以去了解一下汇编语言,段寄存器保存的是段地址,段地址乘上16与偏移地址相加得到数据的物理地址,计算机以此对数据进行寻址。SS保存的是栈的段地址。

    评论
    解决 无用
    打赏 举报
  • 星霜冷噬魂 2019-05-21 19:48

    段寄存器指的是cs,ds,ss,es,fs,gs这些。在win32保护模式下,他们指向各自的描述符。那些描述符,都指向同一个段起始地址(fs除外)。所以win32编程,不需要制定cs,ds,ss等等,因为他们都是一样的。可以认为ds=es=ss=...这就是flat的含义。在编程者看来,各个段都是平坦的,一样的,没有区别

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题