关于sparc的寄存器窗口的trap问题

发布于 2022-09-26 12:31:41 字数 2162 浏览 12 评论 0

本来想发到solaris区的,后来才发现还有这个版块
呵呵那么好的版都隐藏的那么深。发现这里人气不太旺,不知道是不是位置的问题
不知道有没有人对sparc的架构比较熟悉
我最近学习sparc架构遇到一些问题,就是对sparc的寄存器窗口吃不透
所以看处理trap的代码也不太懂,希望得到帮助
代码如下:
就是不懂最后为什么还要resotre

  1. window_overflow:
  2.         /* rotate WIM on bit right, we have 8 windows */
  3.         mov %wim,%l3
  4.         sll %l3,7,%l4
  5.         srl %l3,1,%l3
  6.         or  %l3,%l4,%l3
  7.         and %l3,0xff,%l3
  8.         /* disable WIM traps */
  9.         mov %g0,%wim
  10.         nop; nop; nop
  11.         
  12.         save
  13.         std %l0, [%sp +  0]
  14.         std %l2, [%sp +  8]
  15.         std %l4, [%sp + 16]
  16.         std %l6, [%sp + 24]
  17.         std %i0, [%sp + 32]
  18.         std %i2, [%sp + 40]
  19.         std %i4, [%sp + 48]
  20.         std %i6, [%sp + 56]
  21.         //为什么还要restore!!
  22.         restore
  23.         mov %l3,%wim
  24.         nop; nop; nop
  25.         jmp %l1
  26.         rett %l2

复制代码
[ 本帖最后由 想飞的蜗牛 于 2007-11-15 21:28 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

弃爱 2022-10-03 12:31:41

晕哦
没有人么
呵呵 我开始的时候看漏了最后两句
问题解决了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文