
ARM-汇编
psvoldemort
这个作者很懒,什么都没留下…
展开
-
ARM下书写位置无关的代码
目录(?)[+] (以后应该再也不会写汇编了,将以前总结的东西发给大家参考) 位置无关代码,即该段代码无论放在内存的哪个地址,都能正确运行。究其原因,是因为代码里 没有使用绝对地址,都是相对地址。 位置无关的写法: (1) B指令 B指令接受一个相对地址,因此在汇编里用B跳转到一个标号时,实际编译的结果是一个相对跳转。 相对地址有个范围限制,即目标不能太远,一般目转载 2015-01-08 09:30:20 · 624 阅读 · 0 评论 -
ARM的位置无关码
PC相关,位置无关的指令:adr、b 位置无关码可以运行在非连接地址(基于PC) ldr Rn,Label arm指令 取值 位置无关 反汇编:相对于PC取Lable的值 ldr Rn,=Label 伪指令 取地址 位置相关 反汇编:将Label的地址(绝对地址)保存在一个编译期间确定的地址,原创 2015-01-08 10:01:22 · 1133 阅读 · 0 评论 -
C语言中打印PC的值
void print_pc() { unsigned int pc_val; __asm("mov %[result],pc":[result]"=r"(pc_val)); printf("pc=0x%x\n",pc_val); }原创 2015-01-08 09:17:15 · 1663 阅读 · 0 评论 -
ARM GCC Inline Assembler Cookbook
转载自:http://www.ethernut.de/en/documents/arm-inline-asm.html About this document The GNU C compiler for ARM RISC processors offers, to embed assembly language code into C programs. This cool fe转载 2015-01-04 14:55:16 · 826 阅读 · 0 评论 -
ARM的异常处理过程分析(异常向量/工作模式)
近来翻了翻uC/OS-II官网给出来的ARM7-ARM9移植手册(AN-104),分析了在ARM中移植的问题,想想从来没有认真的学习过ARM的汇编,趁着这个机会复习复习吧。其实底层的东西才是创造力的心脏。 其中的移植代码中存在的很多问题比如中断的关闭和开启,任务级别的情景切换,中断到任务的情景切换都是我们在平时移植中讲到,我也不在此强调了。在官网中提供的移植过程中存在异常处理机制,这个本不是在移转载 2015-03-05 15:37:53 · 8512 阅读 · 0 评论