[工学]第3章 ARM汇编语言程序设计.pptVIP

  • 183
  • 0
  • 约9.26千字
  • 约 41页
  • 2018-03-02 发布于浙江
  • 举报
[工学]第3章 ARM汇编语言程序设计

① 数据栈栈指针(stack pointer):指向最后一个写入栈的数据的内存地址。 ② 数据栈的基地址(stack base):指数据栈的最高地址。由于ATPCS中的数据栈是FD类型的,实际上数据栈中最早入栈数据占据的内存单元是基地址的下一个内存单元。 ③ 数据栈界限(stack limit):数据栈中可以使用的最低的内存单元地址。 ④ 已占用的数据栈(used stack):数据栈的基地址和数据栈栈指针之间的区域,其中包括数据栈栈指针对应的内存单元。 ⑤ 数据栈中的数据帧(stack frames):在数据栈中,为子程序分配的用来保存寄存器和局部变量的区域。 (1)参数个数可变的子程序参数传递规则 对于参数个数可变的子程序,当参数不超过4个时,可以使用寄存器R0~R3来进行参数传递;当参数超过4个时,还可以使用数据栈来传递参数。在参数传递时,将所有参数看做是存放在连续的内存单元中的字数据。然后,依次将各名字数据传送到寄存器R0,R1,R2,R3;如果参数多于4个,将剩余的字数据传送到数据栈中,入栈的顺序与参数顺序相反,即最后一个字数据先入栈。按照上面的规则,一个浮点数参数可以通过寄存器传递,也可以通过数据栈传递,也可能一半通过寄存器传递,另一半通过数据栈传递。 (2)参数个数固定的子程序参数传递规则 对于参数个数固定的子程序,参数传递与参数个数可变的子程序参数传递规则不同,

文档评论(0)

1亿VIP精品文档

相关文档