查看: 13323|回复: 1

关于嵌入式学习的程序的一些疑问

KLLIERS 该用户已被删除
KLLIERS 发表于 2013-5-5 22:52:19 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

20

主题

286

回帖

596

积分

zzq宁静致远 发表于 2013-5-6 08:39:11 | 显示全部楼层
这里用到三个汇编指令。
ldr r0, =0x70000000
这行代码执行完成之后,r0 = 0x7000 0000.
orr r0, r0, #0x13
或运算,此刻r0 = 0x7000 0013.

mcr p15,0,r0,c15,c2,4       @ 256M(0x70000000-0x7fffffff)
mcr这个指令麻烦一点,mcr指令将ARM处理器的寄存器中的数据传递到协处理器的寄存器中。如果协处理器不能成功地执行该操作,将产生未定义的指令异常中断。
指令从ARM寄存器中将数据传送到协处理器p15的寄存器中,其中r0为ARM寄存器,存放源操作数;c15和c2为协处理器寄存器,为目标寄存器;p15和r0之间的0为操作码1;最后4为操作码2。
你在查找下1176手册就明白这句话的含义。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则