Image
Image

elecintop

+ 关注

粉丝 3     |     主题 176     |     回帖 1329

一.RISC设计思想
2015-6-23 22:10
  • 万利电子
  • 10
  • 1026
  6)高效的结构体安排 ▇ 结构体元素要按照元素的大小来排列,以最小的元素放在开始,最大的元素安 ...  
  5)避免指针别名 ▇ 不要依赖编译器来消除包含存储访问的公共子表达式,而应建立一个新的局部变量 ...  
  4)高效的调用函数 ▇ 尽量限制函数参数不要超过4个,这样函数调用的效率会更高。也可以将几个相 ...  
  3)高效的寄存器分配 ▇ 应该尽量限制函数内部循环所用局部变量的数目,最多不超过12个,这样,编 ...  
  2)高效的编写循环体 ▇ 使用减计数到零的循环结构,这样编译器就不需要分配一个寄存器来保存循环 ...  
  三.高效的C编程 1)C数据类型的有效用法 ▇ 对于存放在寄存器中的局部变量,除了8位或16位的算 ...  
  二.ARM设计思想 为降低功耗,ARM处理器已被特殊设计成较小的核,较高的代码密度。ARM内核不是一个纯粹的R ...  
C语言函数和汇编函数相互调用
2015-6-24 15:31
  • 万利电子
  • 11
  • 915
  直到调用test_c_args之前,堆栈内容如下: sp->+----------+ | 参数5 | +----------+ ...  
  这部分的代码和实例1的代码大部分是相同的,不同的地方是test_c_args的参数个数和test_asm_args的参数传递 ...  
  实例2:  
  程序从main函数开始执行,main调用了test_asm_args,test_asm_args调用了test_c_args,最后从test_asm_args返 ...  
  我们先讨论一下形参个数为4的情况. 实例1:  
  对于ARM体系来说,不同语言撰写的函数之间相互调用(mix calls)遵循的是 ATPCS(ARM-Thumb Procedure Call ...  
  注意:通过APCS传过来的两个变量,保存在r0和r1,分别代表是数组的首地址和元素的个数 使用Arm交叉编译通 ...  
  下面是相应的Sort.s: .section .text;声明为代码段 .globl sort;声明全局变量 sort: ;linux下需要加冒 ...  
  在C程序main函数中,接收用户输入任意个整数,然后在main中调用使用ARM汇编编写的函数(在该函数中完成对这 ...  
为什么要选择启动文件?【讲的很好】
2015-6-21 21:35
  • GigaDevice GD32 MCU
  • 3
  • 1808
stm32 IO输入输出模式 配置
2015-5-20 16:42
  • GigaDevice GD32 MCU
  • 4
  • 796
2
3
近期访客