可能重复:
如何从gcc中的C/C++源获得汇编程序输出?
我有一个简单的问题.
我有一些为Android应用程序编写的本机C++代码.
当我在Eclipse中编译项目时,有什么方法可以看到我的GCC编译器生成的汇编代码?
我的问题是ARM cortex-a8上的NEON单元有多少功能单元?如果我已经正确读取,TRM没有明确说明ARM cortex-a8的NEON核心上的功能单元数量.
我想使用谓词指令将此代码转换为汇编
If (A>B){
C=A;
D=B;
E=0
}
else{
C=B;
}
Run Code Online (Sandbox Code Playgroud)
它是正确的还是我如何使用跳跃?
cmp R1,R2; considering B is assigned to R2 and A assigned to R1
movlf R3,R1;R3 assign to C
mov R4,R2;R4 assign to D
mov R5,0; R5 assign to E
movlt R3,R2
Run Code Online (Sandbox Code Playgroud) 我正在浏览一些嵌入式编程链接 http://www.micromouseonline.com/2016/02/02/systick-configuration-made-easy-on-the-stm32/
【注意上面链接的代码作者已经更新了代码,delay_ms()
文章中的实现不再使用下图所示的解决方案。】
并最终得到以下代码。这是针对 ARM 架构的,但基本上这是一个函数,它会导致作为参数传递的某些毫秒的延迟。所以我可以理解 if 条件,但为什么这里需要 else 条件?有人可以向我解释一下吗?
void delay_ms (uint32_t t)
{
uint32_t start, end;
start = millis();//This millis function will return the system clock in
//milliseconds
end = start + t;
if (start < end) {
while ((millis() >= start) && (millis() < end))
{ // do nothing }
}
else{
while ((millis() >= start) || (millis() < end))
{
// do nothing
};
}
}
Run Code Online (Sandbox Code Playgroud) Cortex-A53 处理器有 1 到 4 个内核,每个内核都有一个 L1 内存系统和一个共享的 L2 缓存。