在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 2321|回复: 2

[求助] 关于 LDR Rd,label 的问题

[复制链接]
发表于 2007-2-7 13:29:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
有个问题,希望大家能指点指点,谢谢先!

关于 LDR Rd,label

我在书上看到的解释是这样的:
程序相对偏移。程序相对偏移是前索引偏移形式的另一个版本。汇编器由PC寄存器计算偏移量,并将PC寄存器作为Rn生成前索引指令,不能使

用后缀"!"。

书上说的前索引偏移。 在数据传送之前,将偏移量加到Rn中,其结果作为传送数据的存储地址。
LDR  Rd, [Rn, #0x0x]!

然后,我在看了这样的代码的时候:

        ENTRY
INT_Entry                                                      ; INT_Entry 的符号地址为 0x2000000
        LDR        pc, (Vect_Table)        ;  该处地址为0x2000000
        LDR        pc, (Vect_Table + 4)        ;
        LDR        pc, (Vect_Table + 8)        ;
        nop;
        LDR        pc, (Vect_Table +16)        ;
        LDR        pc, (Vect_Table +20)
          LDR        pc, (Vect_Table +24)        ; IRQ
        LDR        pc, (Vect_Table +28)        ;

Vect_Table                                                      ; Vect_Table 的符号地址为 0x2000020
        DCD        INITIAL        ; reset                  
        DCD        undefvec        ; Undefined Instruction   
        DCD        swivec          ; Software Interrupt      
        DCD        pabtvec         ; Prefetch Abort         
        DCD        dabtvec         ; Data Abort              
        DCD        rsvdvec         ; reserved               
        DCD        INT_IRQ         ; reserved               
        DCD        INT_FIQ         ; reserved  

我这样理解  LDR pc, (Vect_Table)  这一句了: 把地址( 0x2000000 + 0x2000020 )的值 给pc寄存器。

这样好像是不对的,该怎么理解 LDR 指令的这样用法呢?
 楼主| 发表于 2007-2-7 14:06:55 | 显示全部楼层
来个人哦,帮忙看看哦:)
 楼主| 发表于 2007-2-7 14:09:28 | 显示全部楼层
我等呀等呀等呀等。。。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 14:27 , Processed in 0.026918 second(s), 12 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表