Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Мне лень писать на англиконком, так что пока на родном

PRasm

Build

Важно: собрать проект можно только из под линукса, если вы на винде используйте WSL

Dependencies

Весь проект написан под компилятор ia16-gcc так что для начало установите его:

arch

yay -S gcc-ia16

debian

sudo apt install gcc-ia16-elf

Red Hat

just build from source :)

Так же вам понадобится python и make, но думаю у вас они уже есть.

Для работы скрипта форматирования в .ple вам понадобиться бибилиотека pyelftools

Если вы не на debian то все просто:

pip install pyelftools

В ином случае вам придеться создать изолированое окружение:

sudo apt install python3-venv
python3 -m venv .venv
source .venv/bin/activate
pip install pyelftools

Если требуется просто .ple прогрмма то используете all задачу make'а

make

Скрипт сборки форматат так же даст вам информацию о используемых им секциях и итоговый размер.

Для быстрых тестов есть специальная задача run.

В makefile в начале есть переменная PROS_DIR её значение замените на путь до своей папки с x16-PRos.

Так же вы можете сменить флаги сборки PRos через переменную PROS_BFLAGS

Using prstd in your project

Для получения статической бибилиотеки для линковки вызовите соответсвую задачу у make

make prstd

После этого в папке lib/prstd/ будет файл libprstd.a - статическая библиотека.

prstd переопределяет точку входа _cstart, поэтому в link-скрипте вашего проекты вы должны это явно указать

ENTRY(_cstart)

А в секциях в .text .text.cstart должна быть первой

SECTIONS
{
    .text : {
        *(.text.cstart)
        # все остальное
    }
}

About

simple assembler writen on C for x16-PRos system

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages