当前位置: 代码迷 >> 驱动开发 >> ARM汇编指令的有关问题 DCD
  详细解决方案

ARM汇编指令的有关问题 DCD

热度:41   发布时间:2016-04-28 11:15:43.0
ARM汇编指令的问题 DCD
ARM启动代码中的中断向量里有 "b HandlerSWI".执行后将跳到下面。(按照规则,用R0来传递参数,用来选择要执行的函数)

HandlerSWI

cmp r0 ,#4

ldrlo pc ,[pc,r0,lsl #2]
movs pc , lr

swiFunction

DCD fu1
DCD fu2
DCD fu3
DCD fu4

fu1
........
movs pc , lr

fu2
........
movs pc , lr

fu3
........
movs pc , lr

fu4
........
movs pc , lr

请问代码中的DCD怎么理解?书上说是分配一段字的内存单元。不过好像没法和上面的用法联系起来啊?请高人指教。谢谢。


------解决方案--------------------
这个还真不太好解释

存储的是fu1的值,而fu1的值就是函数的地址
在指令中通过LDR指令将地址加载到PC中就实现了函数跳转

------解决方案--------------------
楼主可以买本书或者直接google一堆一堆的。可以系统学习下。
  相关解决方案