并没有清除PIEACK寄存器的第0位

[复制链接]
872|7
 楼主| wuhany 发表于 2019-3-8 15:07 | 显示全部楼层 |阅读模式
说明书上看到,如PIE Interrupt Acknowledge Register (PIEACK) Register (Address 0xCE1)

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

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

然而,发现并没有清除PIEACK寄存器的第0位。
liliang9554 发表于 2019-3-8 15:10 | 显示全部楼层

然后呢?你是怎么应对这个的呢
 楼主| wuhany 发表于 2019-3-8 15:12 | 显示全部楼层
而在调试时查看C语言对应的汇编代码,是对0x33操作:
    MOVW         DP, #0x33
    MOVB         @0x21, #0x01, UNC

在反汇编窗口查看其它PIE寄存器,也也是这个区域,这是为什么?
zhanghqi 发表于 2019-3-8 15:16 | 显示全部楼层
还是C简单易懂。现在用的也多。汇编不懂,帮顶了!
zhaoxqi 发表于 2019-3-8 15:19 | 显示全部楼层
汇编语言吗?
jiajs 发表于 2019-3-8 15:22 | 显示全部楼层

你这是什么处理器的?
 楼主| wuhany 发表于 2019-3-8 15:27 | 显示全部楼层
唉,还是没有什么结果,算了,先结贴吧,多谢大家啦
vcvfvgvb 发表于 2019-3-8 15:29 | 显示全部楼层
现在用汇编的基本上不多了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

879

主题

10435

帖子

4

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