- 打卡等级:以坛为家I
- 打卡总天数:312
- 最近打卡:2025-03-11 13:20:13
荣誉版主
- 积分
- 5395
|
发表于 2023-1-7 16:29:12
|
显示全部楼层
原先我想编写的, 使用双指针的 STC 51系列标准函数库, 但再三考虑, 由于 STC 51系列的 DPTR双指针寄存器, SFR地址和 Keil C51编译器支持的标准SFR地址
不兼容, 实际使用于中, 由于 Keil 不支持, 需手动设置, 非专业老司机极其容易犯错(如中断入口 SFR保护处理, 以及中断中用到 DPTR寻址, 等等) , 没有通用性,
对新手来说, 使用不当, 可能问题出在哪里都查不到, 实用性不强, 故未编制.
51指令集, 由于设计年代较早, 那时 RAM容量小, 应用要求低, 无所谓. 但放在现在, DPTR单指针寻址, 那怕打了补丁, 作分时双指针操作, 实际上也是个鸡肋,
用着头大, 不用又不行, .
相比之下, 251指令集(STC32使用的), 保留 DPTR是为了和 51兼容, 其丰富多样化的外部寻址方式, 让 DPTR 几乎没有什么用处了, C251编译器 偶然会用一下,
是为了精简代码. |
|