ARM程序集r4寄存器

时间:2015-03-02 15:18:32

标签: assembly arm cpu-registers

我最近开始学习ARM程序集编程,

今天我遇到了烦人的问题,当我使用r4寄存器时我的程序开始崩溃。

使用这个简单的代码,程序运行良好

    .text
    .align  2
    .global arr
    .type   arr, %function
arr:
    mov r3, #8
    mov r0, r3

    bx lr
    .size   arr, .-arr

但是改为r4它会崩溃

    .text
    .align  2
    .global arr
    .type   arr, %function
arr:
    mov r4, #8
    mov r0, r4

    bx lr
    .size   arr, .-arr

我到底做错了什么? 它在ARM文档中明确指出:

  

在所有ARM处理器中,可以使用以下寄存器   可在任何处理器模式下访问:13个通用寄存器R0-R12   Source

关于'answer'的假设“重复”问题根本没有帮助,因为那里的每个人都将r4(我遇到的问题)归类为其他人(r5,r6,......我没有问题) )。

我正在寻找解释为什么特别使用r4引起这个问题,我没有使用r4寄存器的问题,而r4寄存器应该与r4(r5,r6,r7,r8)的类型相同。

0 个答案:

没有答案