GNU as:获取部分开始&结束地址

时间:2012-06-15 15:15:50

标签: assembly mips gnu

我正在移植使用sect()sectend()函数的MIPS汇编程序(非MIPSPro兼容语法)。看起来他们返回该部分的开始和结束地址。似乎GNU AS docs不支持任何类似的东西 - 任何想法如何 用GAS语法编写这个代码吗?

以下是一些例子。

        la  t0,sect(.bss)
        la  t1,sectend(.bss)
    @clear:
        sw  zero,0(t0)
        addiu   t0,t0,4
        sltu    at,t0,t1
        bne at,zero,@clear
        nop

....

__text  dw  sect(.text)
__textlen   dw  sectend(.text)-sect(.text)

2 个答案:

答案 0 :(得分:0)

如果您使用的是运行ELF可执行文件的系统,您可能会找到答案herehere

答案 1 :(得分:0)

我相信您在链接描述文件中放置了信息(在asm中包含可以作为变量读取的指示符的部分)。这就是我看到.data部分从flash复制到ram,然后.bss被归零......(使用gnu工具)。