SparcV8 stack

SparcV8 栈


在这里插入图片描述

在这里插入图片描述

永远不要忘了配置异常向量表,否则都不知道怎么死的。

1/ 当触发栈上溢出异常后,需要将CWP-1的register context保存到对应的栈帧中。由于约定%i6当作%fp使用,%o6当作%sp寄存器使用,在保存时根据%o6找到栈地址,然后将寄存器值写入到memory中。最后修改WIM用于指示各个windows可用。从而可以使用CWP-1的windows作为新函数的register context。

2/ 而当触发栈下溢出异常后,由于CWP的%o6是CWP+1的%i6,所以可以使用当前的%sp从memory恢复register context。

3/ Register context包括l0-l7和i0-i7。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值