optimization - 8051汇编语言有哪些内存优化技术?

标签 optimization assembly embedded intel 8051

我需要优化代码来为一些新代码腾出空间。我没有空间进行所有更改。我不能使用代码库切换(80c31 和 64k)。

最佳答案

您还没有真正在这里进行很多工作,但是您可以考虑两个主要的优化级别:

微优化:
例如。 XOR A 而不是 MOV A,0
亚当早些时候已经很好地介绍了其中的一些。

宏观优化:
查看程序的结构、使用的数据结构和算法、执行的任务,并仔细考虑如何重新排列甚至删除这些内容。是否有整块代码实际上没有使用?您的代码是否充满了用户从未见过的调试输出语句?是否有特定于单个客户的功能可以从一般版本中删除?

为了更好地处理这个问题,你需要弄清楚你的内存在哪里被用完了。链接器映射是一个很好的起点。宏观优化是可以取得大胜利的地方。

顺便说一句,你可以 - 认真地 - 尝试用一个好的优化 C 编译器重写部分代码。您可能会对代码的紧密程度感到惊讶。一个真正的汇编程序高手可能会改进它,但它很容易比大多数编码器更好。我用了 IAR大约 20 年前的一个,它把我的 socks 吹掉了。

关于optimization - 8051汇编语言有哪些内存优化技术?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/335540/

相关文章:

c - printf 无法在屏幕上正确打印 float/double

optimization - 如何加快我的近似自然对数函数?

optimization - CUDA block 和网格尺寸效率

c - 说服编译器在循环外设置寄存器

使用来自reflect.Method的通用签名信息生成Java字节码

assembly - 我自己的 Improvised 编译器错误

没有malloc的C编程

python - 将整数值分解为保持总和的整数数组

tensorflow - Tensorflow模型的超参数调优|隐藏层大小和隐藏层数量

c - 基于整数的传感器融合/卡尔曼滤波器