免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2747 | 回复: 1
打印 上一主题 下一主题

关于sparc的寄存器窗口的trap问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-15 21:26 |只看该作者 |倒序浏览
本来想发到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 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-11-16 20:10 |只看该作者
晕哦
没有人么
呵呵 我开始的时候看漏了最后两句
问题解决了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP