我目前正在做一个项目,我在内存或寄存器中注入位翻转(0 -> 1,或 1 -> 0)。现在我必须考虑一些特殊情况。
这是我的问题:是否
存在这样的情况,在某个内存位置进行内存访问,不久之后,在同一位置进行内存访问,访问大小更小或更宽?
例子:
1: ld.B D15, [A15]
2: ld.W D15, [A15]
在第 1 行中,通过地址寄存器 A15 中的指针访问内存,其内容存储在数据寄存器 D15 中。访问大小是一个字节 (.B)。在第 2 行中,它与第 1 行中的相同,但使用访问大小字 (.W)(32 位)。
所以访问大小将是这样的:
[A15] ------XX -> line 1
[A15] XXXXXXXX -> line 2
其中 X 是十六进制。
这是可能的,编译器会做这样的事情吗?什么是一个例子呢?
我不知道这个问题是否愚蠢。对不起!:D