社区导航

 

搜索
查看: 1762|回复: 4

u-boot 汇编疑问

[复制链接]

95

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2008-12-24 22:01 | 显示全部楼层 |阅读模式
我看u-boot中u-boot-1.1.6\u-boot-1.1.6\cpu\arm920t\start.S有这样几句:
ldr        pc, _undefined_instruction
_undefined_instruction:        .word undefined_instruction
我看了些帖子是这样说的:把_undefined_instruction里面的内容载入PC
而_undefined_instruction:        .word undefined_instruction这个是定义了PC的地址
但是undefined_instruction这不是一个地址啊我找了下:
undefined_instruction:
        get_bad_stack
        bad_save_user_regs
        bl         do_undefined_instruction
如果这是个地址那么这个地址不就是不确定的了?

115

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2008-12-24 22:06 | 显示全部楼层
undefined_instruction是个标号,类似C语言的函数指针。

ldr        pc, undefined_instruction
送 undefined_instruction 地址给PC
这样ARM就会跳转到undefined_instruction 执行了。

——————————————
但是undefined_instruction这不是一个地址啊我找了下:
undefined_instruction: ————怎么就不表示地址了?!
        get_bad_stack
        bad_save_user_regs
        bl        do_undefined_instruction

建议多看汇编修炼一下。

回复

使用道具 举报

94

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2008-12-24 23:25 | 显示全部楼层
标号就是指令(数据)地址,编译时会替换成相应的数值

回复

使用道具 举报

125

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2008-12-24 23:25 | 显示全部楼层
LS正解
这应该是看代码所需具备的最基本的知识

回复

使用道具 举报

115

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2008-12-25 16:33 | 显示全部楼层
引用 2 楼 navi_dx 的回复:
标号就是指令(数据)地址,编译时会替换成相应的数值

我知道标号就是地址 这么说就是说编译器给的地址了我们没有办法认为操作了??

回复

使用道具 举报

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

关闭

站长推荐上一条 1/7 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

词云| Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-7-13 22:41 , Processed in 0.233329 second(s), 25 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表