5

我在一个有几个字节空闲 RAM 的专有序列器上工作;数百个字节静态分配;8个寄存器,包括PC;没有间接性(在 C 中,一个“指针”);没有堆栈。

没有MOV说明:要M进入K,您必须编写CLX A; ORX M; STX K使依赖关系解析或至少优化变得非常复杂的内容。K许多操作只对特定的寄存器起作用:例如,在高位字和M低位字中使用 32 位右移。

所以对我来说,嵌入式应用程序明显选择 C ​​是因为没有指针或函数调用是可能的。大多数高级编程语言都有算术表达式,因此这无助于缩小我们的选择范围。

最重要的是绝对最小代码大小,因此优化是关键。

我倾向于将 Lisp 表达式编译为宏汇编程序的一种形式,因为程序员可以优化自己的高级操作,例如编写XOR指令。

我敢肯定这不是第一个有这些限制的项目。过去是如何解决的?

4

0 回答 0