相关疑难解决方法(0)

Linux ARM上程序寄存器和堆栈的初始状态

我目前正在Linux上使用ARM程序集作为学习练习.我正在使用'裸'汇编,即没有libcrt或libgcc.任何人都能指出有关堆栈指针和其他寄存器在调用第一条指令之前在程序开始时的状态的信息吗?显然pc/r15指向_start,其余的似乎初始化为0,但有两个例外; sp/r13指向远离我程序的地址,r1指向略高的地址.

对于一些可靠的问题:

  • r1的值是多少?
  • sp中的值是内核分配的合法堆栈吗?
  • 如果没有,分配堆栈的首选方法是什么; 使用brk还是分配静态.bss部分?

任何指针将不胜感激.

linux assembly arm

6
推荐指数
2
解决办法
2836
查看次数

标签 统计

arm ×1

assembly ×1

linux ×1