【发布时间】:2014-05-11 09:45:45
【问题描述】:
我想用winAVR作为编译器在ATmega8中制作一个关于精确延迟库的代码,你有什么想法将下面的代码转换为汇编代码吗?我不知道要转换代码,因为我不懂汇编。
这是代码。
static __inline__ void __variable_delay_cycles(unsigned long __count)
{
if (__count>65535)
{
__count=(__count-13)/6;
DelayCyclesUL(__count);
}
else
{
if (!__count)
return;
if (__count<10)
__count=1;
else
__count=(__count-6)/4;
DelayCyclesUI(__count);
}
}
DelayCyclesUI 和 DelayCyclesUL 是用汇编代码编写的。 谢谢。
【问题讨论】:
-
您是否尝试将其编译为 atmega8 的程序集?
-
将高级代码转换为汇编是编译器通常所做的。你需要一个用于 atmega8 平台的 C 编译器。
-
StackOverflow 不是提供教程或分步指南的地方。使用前面建议的 C 编译器,或者下载目标 CPU 的可用文档并开始自己翻译。如果翻译的某个特定部分不清楚,那么您可以提出关于那个的问题(准确描述您在做什么以及问题是什么)。
-
据我了解,将其转换为汇编不符合 SO 的目的:即使有人这样做,OP 也将 仍然 自己不理解答案入场。
-
你想达到什么目的?
标签: c assembly avr atmega atmega16