为什么说在小型的微型控制器上使用C函数指针是一种挑战

2020-01-26 12:53发布

不懂,高手解答~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
liujie14565
2020-01-27 13:33
本帖最后由 barryliu 于 2013-10-19 07:30 编辑

C里的指针翻译到汇编去后就是间接寻址,如果指针指向的是结构体,就还得有基址变址寻指。
如果CPU没有这两种指令,就需要用多条基础指令堆叠,其处理速度可想而知。
51有这两种指令,但只有一个16位寄存器(DPTR)和2个8位(R0 & R1)能参与该类指令的运行,如果一段语句中需要多个指针同时参与操作,就需要把数据往这个寄存器来搬来搬去。只有很有经验的人才知道如何写C代码才能提高这种操作效率,有些老程序员干脆放弃C,直接写汇编。
有些CPU根本就没有这类指令。

一周热门 更多>