【发布时间】:2013-12-08 01:07:36
【问题描述】:
我知道命名约定,如果有 n*2 个在语义上连接的寄存器或变量,您应该将它们命名如下:
REGH REGL
如果是 2*2 寄存器,则为:
REGHH REGHL REGLH REGLL
最后两个字母代表high-high、high-low、low-high和low-low。是否有任何约定为 3 个寄存器声明相同的内容?喜欢:
REGH REGM REGL
在这种情况下,最后一个字母代表高、中和低。 6 字节看起来像这样:
REGHH REGHM REGHL REGLH REGLM REGLL
我希望你明白我的意思。这种情况有什么约定吗?
【问题讨论】:
-
你刚编出来的那个在我看来完全正常......
-
我不知道。如果你这样命名它们并且你在源代码中看到一个寄存器
REGH,这可能意味着只有另一个REGL。没有提示现有的REGM。 -
所有这些寄存器会被抽象为
struct吗? -
这个问题的上下文是什么?您正在设计 24/48 位处理器吗? H/M/L 没问题。第二个是拉伸它,我已经避免 HH/HL/LH/LL 而是使用数字。
-
您的发明听起来很合理,但您可以考虑将内存中的顺序更改为 HML。 @BitFiddlingCodeMonkey 提出了一个共同的想法。你可以做你正在做的事情,但也可以声明一个从 0xC0 开始的结构。然后,您还可以将寄存器引用为 PRSCL.HIGH、PRSCL.MED 和 PRSCL.LOW。这是很常见的做法。
标签: c assembly embedded naming-conventions microcontroller