Эквивалент ORG в LLVM IR? - PullRequest
       15

Эквивалент ORG в LLVM IR?

0 голосов
/ 07 июля 2019

Я хочу создать LLVM Backed для компиляции в SNES 65c816, однако ПЗУ SNES специально разработано для банков. Для 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 создается ПЗУ объемом 512 КБ, поскольку в каждом банке содержится 0x8000 байт программного кода / данных.

Я полагал, что различие LoROM можно обрабатывать в тройке LLVM (65c816-nintendo-snes-lorom), но как мне тогда разместить код в нужном месте?

Или это не работа бэкэнда LLVM, и сборка разработчика должна состоять из 16 файлов исходного кода, которые LLVM обрабатывает, а затем собирает разработчик?

Если работа разработчика заключается в сборке, как можно будет вызывать определенные фрагменты кода в одном банке из другого банка? Что происходит, если размер определенного скомпилированного банка превышает 0x8000 байт?

...