LINUX.ORG.RU

Ну в объекник же его компиль. А потом с ним линкуй... не ? Ну и хидер С-шный для него напиши(для паскалевского юнита)...
Или я что-то не так понял ?

Jetty ★★★★★
()

Вот код из моего старого проекта:

boot1:
        yasm -f bin -o $(BOOT1).bin $(BOOT1).asm
        nasm -f bin -o $(BOOT1)x.bin $(BOOT1).asm
        ndisasm -b 16 $(BOOT1).bin > $(BOOT1).disasm

boot2:
        gcc --std=gnu99 -Os -Wall -o $(BOOT2)a.o -ffreestanding -fno-stack-protector -c $(BOOT2)a.c
        gcc --std=gnu99 -Os -Wall -S -ffreestanding -fno-stack-protector $(BOOT2)a.c
        yasm -f elf -o $(BOOT2)b.o $(BOOT2)b.asm
        ld -o $(BOOT2).bin -Ttext 0x1000 --oformat binary $(BOOT2)b.o $(BOOT2)a.o
        ndisasm -b 16 $(BOOT2).bin > $(BOOT2).disasm
        od -t x1 -w1 -v $(BOOT2).bin > $(BOOT2).dump

boot2_fpc:
        fpc -O3 -Aelf -Xd -Us -o$(BOOT2)a.o $(BOOT2)a.pas
        yasm -f elf -o $(BOOT2)b.o $(BOOT2)b.asm
        ld -o $(BOOT2).bin -Ttext 0x1000 --oformat binary $(BOOT2)b.o $(BOOT2)a.o
        ndisasm -b 16 $(BOOT2).bin > $(BOOT2).disasm
        od -t x1 -w1 -v $(BOOT2).bin > $(BOOT2).dump

boot2_gpc:
        gpc -O3 --autolink -c -o $(BOOT2)a.o $(BOOT2)a.pas
        yasm -f elf -o $(BOOT2)b.o $(BOOT2)b.asm
        ld -o $(BOOT2).bin -Ttext 0x1000 --oformat binary $(BOOT2)b.o $(BOOT2)a.o
        ndisasm -b 16 $(BOOT2).bin > $(BOOT2).disasm
        od -t x1 -w1 -v $(BOOT2).bin > $(BOOT2).dump

install:
        dd if=/dev/zero of=floppy.img bs=1024 count=1440
        dd if=$(BOOT1).bin of=floppy.img conv=notrunc
        dd if=$(BOOT2).bin of=floppy.img conv=notrunc obs=512 seek=1
        bzip2 -kf floppy.img
Может - чем поможет.
Это - Makefile для ассемблерного загрузчика со вставками на Си/Паскале (FAT16).

pacify ★★★★★
()
Ответ на: комментарий от pacify

> ассемблерного загрузчика со вставками на Си/Паскале (FAT16)

Мощно! :)

const86 ★★★★★
()
Ответ на: комментарий от backbone

Да моя-то заслуга здесь небольшая - меня консультировали Олег Федоров (aka legos) и Сергей Гриддасов (aka grindars) с osdev.ru — как соединять программы на разных языках с ассемблерным кодом. У них была написана операционка на Си/Си++ со вставками на ассемблере (FOS). Потом она была переименована в LightningOS (когда Олег ушел из программерства). А потом grindars стал писать с Петром Зотовым (aka whitequark) операционку под ARM'ы. Всех их можно найти через сайт osdev.ru.

pacify ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.