Автор Тема: toolchain для 8086  (Прочитано 250 раз)

Оффлайн pi1985

  • Давно тут
  • **
  • Сообщений: 140
    • Email
toolchain для 8086
« : 31.03.2024 05:07:44 »
Здравствуйте.
Подскажите, пожалуйста toolchain для i8086.
Нужно собрать BIOS для ПК и зашить его в ПЗУ.

Я набросал для теста простой файл на ассемблере для старта процессора и скрипт для ld. Файл компилируется с помощью NASM, но ld либо не понимает тип объектного файла, либо ему не нравится выходной формат.

$ nasm -f elf reset.asm -l bios.lst -o reset.o
$ ld reset.o -T bios.cfg -o bios.bin
/usr/bin/ld.default: i386 architecture of input file `reset.o' is incompatible with i386:x86-64 output
$ nasm -f coff reset.asm -l bios.lst -o reset.o
$ ld reset.o -T bios.cfg -o bios.bin
reset.o: file not recognized: формат файла не распознан

Ноут HP550, LXDE Starterkit P9 x86-64
Настольный, Alt Образование 10.2 x86-64

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: toolchain для 8086
« Ответ #1 : 31.03.2024 05:40:37 »
Похоже первый раз вы более близки, только с архитектурой не угадали, а так, поиграйтесь с опциями :
https://linux.die.net/man/1/nasm
https://linux.die.net/man/1/ld
Нужно собрать BIOS для ПК и зашить его в ПЗУ.
А какой формат у этого файла должен быть ?
может поможет:
https://stackoverflow.com/questions/43987685/linking-my-os-with-ld-error-file-not-recognised-file-format-not-recognised#44202916

Оффлайн pi1985

  • Давно тут
  • **
  • Сообщений: 140
    • Email
Re: toolchain для 8086
« Ответ #2 : 31.03.2024 14:09:14 »
Спасибо, я получил то, что нужно.
Остался вопрос: какой С компилятор сейчас умеет компилить код для 8086.

А какой формат у этого файла должен быть ?

Это просто слепок оперативной памяти (как *.com в MS-DOS). У i8086 довольно просто всё устроено: ОЗУ и ПЗУ подключается к одной шине адреса и данных, поэтому то, что зашито в ПЗУ напрямую отображается в адресное пространство.
Ноут HP550, LXDE Starterkit P9 x86-64
Настольный, Alt Образование 10.2 x86-64

Оффлайн yaleks

  • Мастер
  • ***
  • Сообщений: 6 234
Re: toolchain для 8086
« Ответ #3 : 01.04.2024 14:41:50 »
Остался вопрос: какой С компилятор сейчас умеет компилить код для 8086.
https://ru.wikipedia.org/wiki/Open_Watcom

Оффлайн pi1985

  • Давно тут
  • **
  • Сообщений: 140
    • Email
Re: toolchain для 8086
« Ответ #4 : 03.04.2024 05:55:29 »
https://ru.wikipedia.org/wiki/Open_Watcom
Спасибо.
Я ещё рассматривал форк gcc-ia16, но пока его не собрал. Если не получится, буду изучать скрипты для wlink.
Ноут HP550, LXDE Starterkit P9 x86-64
Настольный, Alt Образование 10.2 x86-64