汇编
DIY-GEEKER
若有恒,何必三更眠五更起;最无益,莫过一日曝十日寒
展开
-
pc指针与流水线的关系
在没有流水线的单片机中,是指向当前正在执行的指令地址。引入流水线后,PC是正在取指的指令地址,但从习惯考虑,一般认为PC是指向当前正在执行的地址。因此在编程中尽量使用与流水线无关的伪汇编指令。比如adr。。原创 2014-01-12 15:14:18 · 1223 阅读 · 0 评论 -
例解gcc内嵌汇编(inline assembly)中&修饰符(modifier)的作用
转自:http://blog.csdn.net/bokee/article/details/7029353被gcc内嵌汇编中的&修饰符困扰了好久,一直不知道在输出列表(output list)中,=与=&有什么区别。今天找到了答案。 例1: int output; int a, b, c, d, e, f转载 2014-04-03 23:06:53 · 904 阅读 · 0 评论 -
arm IP寄存器
arm中ip只是个通用寄存器,用来 在函数间分析和调用时暂存数据,例如arm和thumb互调 在8088中 PC是指向下一条将要执行的指令,而IP是指向下一次要取出的指令 mov ip, sp stmfd sp!, {fp, ip, lr, pc} 以上代码是 ARM 的经典函数入口代码原创 2014-08-05 22:45:48 · 11584 阅读 · 0 评论 -
register volatile gd_t *gd asm ("r8")
register volatile gd_t *gd asm ("r8")如下的两个结构,我们主要的是关心下面一行声明:#define DECLARE_GLOBAL_DATA_PTR register volatile gd_t *gd asm ("r8")这个声明告诉编译器使用寄存器r8来存储 gd_t类型 的 指针gd,即这个定义声明了一个指针,并且指明了它的存储位原创 2014-08-06 00:48:02 · 1690 阅读 · 0 评论 -
利用gdb在汇编指令级调试C程序
关于GDB调试C程序的常用命令与手段就不多说了,这里主要介绍一下如何对C程序做到汇编指令级别的调试。首先是获取汇编代码,这可以通过disassemble命令或x命令或类似的命令:12345678910111213141516171819202122232425转载 2014-10-30 10:51:09 · 1056 阅读 · 0 评论