C28 CPU寄存器的绝对地址问题

[复制链接]
1342|3
 楼主| G21372 发表于 2013-11-26 21:43 | 显示全部楼层 |阅读模式
说明书上看到,如PIE Interrupt Acknowledge Register (PIEACK) Register (Address 0xCE1)

在中断中,为了清除中断响应标志,就使用:
                ;PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
                MOVW        DP, #0x0ce1
                MOV                @0x0ce1, #1

语句中的第一行是对应的C语言时的使用方法。

然而,发现并没有清除PIEACK寄存器的第0位。

而在调试时查看C语言对应的汇编代码,是对0x33操作:
    MOVW         DP, #0x33
    MOVB         @0x21, #0x01, UNC

在反汇编窗口查看其它PIE寄存器,也也是这个区域,这是为什么?
 楼主| G21372 发表于 2013-11-26 21:44 | 显示全部楼层
各位有经验吗
zhangmangui 发表于 2013-11-26 23:43 | 显示全部楼层
汇编  一点经验都没有
tianli1980 发表于 2014-1-24 21:32 | 显示全部楼层
还是C简单易懂。现在用的也多。汇编不懂,帮顶了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

197

主题

1658

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部