arm中文社区
直播中

殷谷光

8年用户 1080经验值
擅长:控制/MCU
私信 关注
[资料]

C51的内存空间利用手册

C51使用ROM指令(C51手册中的第49页)来帮助优化调用和跳转指令。
如果您使用飞利浦精简指令集处理器之一,如80C751或80C752,则必须使用ROM(Small)指令,以便C51仅生成ACALL和AJMP指令。
对于其他处理器,我们建议您使用默认的只读存储器(大容量)。
这将为整个64KB范围生成LCALL和LJMP指令。
如果您确定需要进一步优化,则可以在项目完全调试后优化代码。
然后,您可以使用ROM(COMPACT),它在函数中生成AJMP指令,并为函数调用生成LCALL指令。
这为每次跳转节省了1个字节。
这一步不会带来很大的节省,但如果您的代码只比您的硬件允许的范围多几个字节,那么它可能会有所帮助。
请记住,使用只读存储器(COMPACT)时,任何函数都不能超过2KB

更多回帖

发帖
×
20
完善资料,
赚取积分