混合编程(c + asm )
文章平均质量分 63
cos_sin_tan
热爱移动开发,专注成长
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一段简单的C反汇编
#include #include int main() { int c[5]; c[0] = 10; c[1] = 1 ; c[2] = 2 ; c[3] = 3 ; c[4] = 4 ; return 0; }原创 2011-09-12 20:00:44 · 695 阅读 · 0 评论 -
C函数调用与堆栈的变化
转载自这个博客:http://www.cnblogs.com/dahai/archive/2011/07/29/2120651.html 感想:这个的堆栈的图示画的还是非常好的。。。。。。。,反汇编的注释也是相当通俗易懂,就是纳闷,我的反汇编的代码为嘛不好复制出来呢,本来想自己转载 2011-09-12 18:39:30 · 1903 阅读 · 0 评论 -
Linux Asm + C (int 0x80)
转自的博客地址:http://blog.sina.com.cn/s/blog_79b802790100q8tt.html 终于体验到在Linux下使用Asm 和 C的混合编写生成-elf文件。 在程序中的函数相互调用显然使用的是堆栈进行。 而中断 i转载 2011-09-15 19:13:08 · 1049 阅读 · 0 评论 -
C和arm的汇编的互相调用
1:在arm和C的相互调用中,R0,R1,R2,R3是默认的参数1,参数2,参数3,参数4的存放寄存器。其余的参数存在堆栈中,系统会自动的调用。 这个规则对于C调用汇编,或者汇编调用C都同样有效。一开始我还以为只是汇编调用C的时候是这样的。 2:汇编调用C语言 starts.s IMPORT ADDF AREA FCC,CODE,READONLY ENTRY start MOV R原创 2012-04-17 23:27:42 · 2562 阅读 · 2 评论 -
keil arm启动代码的分析
;/****************************************Copyright (c)************************************************** ;** Guangzou ZLG-MCU Development Co.,LTD. ;**原创 2012-06-15 21:04:15 · 2097 阅读 · 0 评论 -
__swi(0x00) void SwiHandle1(int Handle)分析
__swi(0x00) void SwiHandle1(int Handle) __swi(0x00) void SwiHandle1(int Handle); vicControl.h 有这样一句函数声明__swi(0x00) void SwiHandle1(int Handle);他的函数体在哪里? __swi(0x00) void SwiHandle1(int Hand转载 2012-06-15 19:45:54 · 2199 阅读 · 1 评论 -
重新回顾这篇比较透彻的C函数调用和堆栈关系的文章的心得
站内链接:http://blog.csdn.net/cos_sin_tan/article/details/6769493 1:堆栈是向下生长的,可是作者画的时候确实从下面往上,虽然也是向下生长的一个栈,但是看起来怪别扭。记住记住,从栈地址看吧! 2:关于返回值: 返回值 4 如果大于8 的话,接收返回值的地址变量会作为一个额原创 2012-07-31 01:20:17 · 1017 阅读 · 0 评论 -
汇编和C相互调用,keil环境,arm体系
C代码: #include extern void mystrcpy(char *s1,const char *s2); int main(void) { const char *string1="test example"; char *string2="xxxxxxxxxxxx"; mystrcpy(string2,string1); while(1)转载 2012-09-23 12:45:32 · 2954 阅读 · 0 评论
分享