调用者在递归中保存寄存器

时间:2015-10-15 05:09:59

标签: assembly recursion

在递归中,我们是否需要保存调用者保存和被调用者保存寄存器?以下递归仅保存calle-save寄存器ebx:

class AURTabView: UIView {

    let tabButton   = UIButton()
    let smallCircle = UIView()
    let largeCircle = UIView()

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)

        self.addSubview(tabButton)
        self.addSubview(smallCircle)
        self.addSubview(largeCircle)
    }

    override func layoutSubviews() {
        super.layoutSubviews()

        let height = self.frame.height
        tabButton.frame = CGRect(x: (self.frame.width-height)/2, y: 0, width: height, height: height)
        tabButton.backgroundColor = UIColor.greenColor()

        smallCircle.frame = CGRect(x: CGRectGetMidX(self.frame)-2.5, y: height-10-8, width: 5, height: 5)
        smallCircle.backgroundColor = UIColor.redColor()
        largeCircle.frame = CGRect(x: CGRectGetMidX(self.frame)-5, y: height-8, width: 10, height: 10)
        largeCircle.backgroundColor = UIColor.redColor()
        print(smallCircle)
        print(largeCircle)
    }

    override func drawRect(rect: CGRect) {
        tabButton.layer.cornerRadius = tabButton.frame.width/2
    }
}

大会:

int rfact(int x)
{
  int result;
  if (x <= 1)
    result = 1;
  else
    result = n* rfact(x-1);
  return result;
}

是否存在保存调用者保存寄存器的递归示例?

0 个答案:

没有答案