打印

协处理器CP15疑问

[复制链接]
2221|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dream_blue|  楼主 | 2010-3-11 22:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
让我郁闷了很长时间的协处理器指令问题:

_asm_(
            "mov  r0,#0\n"

             "mcr p15,0,r0,c7,c7,#0\n"  /*使无效Icaches和Dcaches

             "mcr p15,0,r0,c7,c10,#4\n" /*drain write buffer on V4*/

             "mcr p15,0,r0,c8,c7,#4\n"  /*使无效指令,数据TLB*/

             "mov r4,%0\n"      /*r4=页表基址*/

             "mcr p15,0,r4,c2,c0,#4\n" /*设置页表基址寄存器*/

           疑问 1 在C与汇编混合使用时 为什么要使用"\n"

                   2  "mov r4,%0\n"      /*r4=页表基址*/,% 表示什么?

                   3 协处理器CP15的一些特定的操作码及指令,                                 mcr p15,0,r0,c7,c10,#4  ?

望大虾指点!!!

相关帖子

沙发
dream_blue|  楼主 | 2010-3-11 22:07 | 只看该作者
坐下来听下面的老师讲课!!!

使用特权

评论回复
板凳
dream_blue|  楼主 | 2010-3-12 13:12 | 只看该作者
等待中!

使用特权

评论回复
地板
ShakaLeo| | 2010-3-12 15:30 | 只看该作者
1:\n在这里和换行符作用类似,告知编译器一条指令的结束。
2:没见过在汇编中用“%”的,估计是和这个特定的编译器有关。
3: mcr p15,0,r0,c7,c10,#4     排空写缓冲,程序会停止执行直到写缓冲被排空。

使用特权

评论回复
5
dream_blue|  楼主 | 2010-3-12 17:23 | 只看该作者
谢谢!! 但是为什么还要加    “”   ?
  
协处理器的一些特定的操作码和指令,有这方面的资料不??  基本上还没见过!!

使用特权

评论回复
6
ShakaLeo| | 2010-3-12 18:35 | 只看该作者
嵌入汇编时加引号应该是该编译器固定的书写格式,没必要深究吧。
协处理器的指令,可以到www.arm.com去下载ARM920T的参考手册,上面讲的很详细。

使用特权

评论回复
7
dream_blue|  楼主 | 2010-3-13 13:20 | 只看该作者
好的 !!! 上去看看先!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:在没找到喜欢的事情之前,把当前的做好!

2

主题

64

帖子

1

粉丝