[ZLG-ARM] LDR PC, [PC, #-0xff0]是什么意思?

[复制链接]
 楼主| williamt 发表于 2007-8-13 11:36 | 显示全部楼层 |阅读模式
在SmartARM2200的实验中,中断向量表的第七行,是LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;[PC,&nbsp;#-0xff0]<br />请问ZLGARM,这句是什么意思?<br />
computer00 发表于 2007-8-13 12:00 | 显示全部楼层

将PC-0xff0里面的内容放到PC中

  
 楼主| williamt 发表于 2007-8-13 15:23 | 显示全部楼层

这句的目的是什么?

下面是Start.s的前面部分<br /><br />;中断向量表<br />Reset<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;ResetAddr<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;UndefinedAddr<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;SWI_Addr<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;PrefetchAddr<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;DataAbortAddr<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xb9205f80<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;[PC,&nbsp;#-0xff0]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;FIQ_Addr<br /><br />ResetAddr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ResetInit<br />UndefinedAddr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Undefined<br />SWI_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SoftwareInterrupt<br />PrefetchAddr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrefetchAbort<br />DataAbortAddr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataAbort<br />Nouse&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br />IRQ_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br />FIQ_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FIQ_Handler<br /><br />;未定义指令<br />Undefined<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Undefined<br /><br />;软中断<br />SoftwareInterrupt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SoftwareInterrupt&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />;取指令中止<br />PrefetchAbort<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrefetchAbort<br /><br />;取数据中止<br />DataAbort<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataAbort<br /><br />;快速中断<br />FIQ_Handler<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STMFD&nbsp;&nbsp;&nbsp;SP!,&nbsp;{R0-R3,&nbsp;LR}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FIQ_Exception<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDMFD&nbsp;&nbsp;&nbsp;SP!,&nbsp;{R0-R3,&nbsp;LR}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SUBS&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;&nbsp;LR,&nbsp;&nbsp;#4<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;..................
computer00 发表于 2007-8-13 16:21 | 显示全部楼层

不知道你买了那本书没?书上应该写了吧?或者它的数据手

它的IRQ中断可以设置为向量中断模式,而执行这条语句时,PC值为0x18,由于3级流水线,再加8,就是0x20,然后再减掉0xff0,就等于0xFFFFF030,而这个地址里面保存的内容刚好就是IRQ服务程序的地址(这个地址是在IRQ发生时,由硬件自动装进去的)。自己找个数据手册慢慢看吧,看看0xfffff030这个地址是干啥用的。
 楼主| williamt 发表于 2007-8-14 08:35 | 显示全部楼层

谢谢,好,找个资料再看看!

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

本版积分规则

20

主题

41

帖子

0

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

20

主题

41

帖子

0

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