原代码:
MMU_EnableICache
mrc p15, 0, r0, c1, c0, 0
orr r0, r0,#R1_I
mcr p15, 0, r0, c1, c0, 0
MOV_PC_LR
最后一行代码看不懂,如果它是一条指令的话,助记符中间应该是逗号,而不是下划线啊。请大侠赐教
共5条
1/1 1 跳转至页

3楼
不知道你在哪里看到的以上代码,如果是书本上或者是文档(word或者pdf)的话,很有可能是误抄了。
正确的应该是:MOV PC,LR;即把LR寄存器的内容送到PC寄存器。
其中:
pc寄存器记录的是当前执行的代码的地址 lr寄存器(R14)记录的是函数调用位置的下一条指令的地址
整个汇编语句的作用即为函数(MMU_EnableICache)调用返回。
正确的应该是:MOV PC,LR;即把LR寄存器的内容送到PC寄存器。
其中:
pc寄存器记录的是当前执行的代码的地址 lr寄存器(R14)记录的是函数调用位置的下一条指令的地址
整个汇编语句的作用即为函数(MMU_EnableICache)调用返回。

共5条
1/1 1 跳转至页