打印

汇编的问题

[复制链接]
1154|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
leo1983|  楼主 | 2007-12-6 15:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
.globl _armboot_start
_armboot_start:
  .word _start

这段code 编译以后生成的system.map是
21f00038 t _fiq
21f00040 t _TEXT_BASE
21f00044 T _armboot_start
21f00048 T _bss_start
21f0004c T _bss_end
21f00050 t reset
我的理解是_armboot_start 是一个标号(地址),这个地址里面的内容是_start。_start的值是0x21fc0000.
而在后面运行的C文件中,出现了下面的语句
monitor_flash_len = _bss_start - _armboot_start;
我的问题是在这句C语言里的_armboot_start 就不是一个标号(地址),而是_start ,0x21f00000

相关帖子

沙发
阿南| | 2007-12-6 16:03 | 只看该作者

对,理解正确.可以自己仿真验证

使用特权

评论回复
板凳
rodger_br| | 2007-12-8 16:05 | 只看该作者

_armboot_start是地址啊

_bss_start也一样,两者相减得到代码的长度。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

56

帖子

1

粉丝