如何使用链接描述文件添加两个“目标”

问题描述

正如我之前所说,我的ASM和C技能都还不够,所以请耐心等待我。

我正在用C编写引导加载程序,并且已经开始遇到512字节的限制,但是我不确定如何配置链接描述文件以将文件分成两个512b段,以便可以加载从另一个。我当前的链接脚本如下:

linker.ld

ENTRY(main);
SECTIONS
{    
    . = 0x7C00;    
    .text : AT(0x7C00)
    {
        _text = .;
        *(.text);
        _text_end = .;
    }
    .data :
    {
        _data = .;
        *(.bss);
        *(.bss*);
        *(.data);
        *(.rodata*);
        *(COMMON)
        _data_end = .;
    }    
    .sig : AT(0x7DFE)    
    {        
        SHORT(0xaa55);
    }    
    /disCARD/ :
    {
        *(.note*);
        *(.iplt*);
        *(.igot*);
        *(.rel*);
        *(.comment);
    }
}

但是,尽管尝试在网上进行研究,但我一生都无法理解这一点,无法继续做我想做的事情。

我可以实现我在汇编中要做的事情,但我宁愿将此项目完全保留在C中

非常感谢您的帮助!

为了弄清楚(回想起来,我的最初声明似乎很荒谬),我需要一种方法一个填充到512b的编译文件加载到存在魔术字的二进制文件中,然后对没有魔术字的另一个文件执行相同的操作最终结果是单个二进制的单词

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)