打印

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

[复制链接]
1133|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

粉丝