LLVM IR中的ORG是否等效?

时间:2019-07-07 19:55:37

标签: llvm llvm-ir

我想构建一个支持编译到SNES 65c816的LLVM,但是SNES ROM是非常专门地内置在库中的。对于LoROM,有16个存储区,每个存储区程序代码都从$0?8000开始,其中?是存储区的十六进制数字。在asar ASM中,每个存储区的每个ASM文件都以ORG $0?8000开头,然后像

LOROM
incsrc bank_00.asm
incsrc bank_01.asm
incsrc bank_02.asm
incsrc bank_03.asm
; ...

对于LoROM,由于每个存储区中都有0x8000字节的程序代码/数据,因此构建了512 KiB ROM。

我认为LoROM的区别可以在LLVM三元组(65c816-nintendo-snes-lorom)中处理,但是那我该如何处理将代码放置在正确的位置呢?

还是不是LLVM后端的工作,开发人员的构建应该是LLVM处理然后由开发人员组装的16个源代码文件?

如果要组装开发人员的工作,那么如何从另一银行调用一个银行中的某些代码段?如果某个已编译的存储区大于0x8000字节会怎样?

0 个答案:

没有答案