协处理器CP15疑问

[复制链接]
3033|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     排空写缓冲,程序会停止执行直到写缓冲被排空。
 楼主| dream_blue 发表于 2010-3-12 17:23 | 显示全部楼层
谢谢!! 但是为什么还要加    “”   ?
  
协处理器的一些特定的操作码和指令,有这方面的资料不??  基本上还没见过!!
ShakaLeo 发表于 2010-3-12 18:35 | 显示全部楼层
嵌入汇编时加引号应该是该编译器固定的书写格式,没必要深究吧。
协处理器的指令,可以到www.arm.com去下载ARM920T的参考手册,上面讲的很详细。
 楼主| dream_blue 发表于 2010-3-13 13:20 | 显示全部楼层
好的 !!! 上去看看先!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

2

主题

64

帖子

1

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