您好、专家、
我的客户面临一个问题、即反汇编代码的计算不正确、他们没有 C 源代码且只有库代码。 他们发现在下面的计算中可能有问题。
添加 ACC,@0x22<<15
在运行上述代码之前、ACC 为0、如下所示。 DP 为0x202、因此 上面的0x22对应于地址0x80A2

通过搜索 地址 0x80A2的值、可以看到该值为0xFA6B、

因此、在理论上、对于计算、
添加 ACC,@0x22<<15
将为 ACC = ACC + 0xFA6B<<15
由于 ACC 为0、因此 ACC 的结果 应为 0x7D358000。
但是在运行代码后、结果为 0xFD358000、而不是 0x7D358000、如下所示。 这有什么问题吗?
,使用的 CCS 是 CCS7.4 μ 编译器是 TI V16.9.6 LTS。


