Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Программирование (http://zx-pk.ru/forumdisplay.php?f=14)
-   -   ZX ассемблер (и не только?) с библиотеками (http://zx-pk.ru/showthread.php?t=321)

shade 26th February 2005 14:02

ZX ассемблер (и не только?) с библиотеками
 
Кто-нибудь может подсказать какой-нибудь ассемблер для ZX, реализующий/поддерживающий идеологию работы с библиотеками/объектниками, существующую на PC?
Есть ли компиляторы других языков, которые это используют/поддерживают?

lvd 26th February 2005 19:09

Quote:

Originally Posted by shade
Кто-нибудь может подсказать какой-нибудь ассемблер для ZX, реализующий/поддерживающий идеологию работы с библиотеками/объектниками, существующую на PC?
Есть ли компиляторы других языков, которые это используют/поддерживают?

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

Далее - "а зачем тебе?" (c) fyrex

PS: в аласме можно компилять процедуры только если на них были ссылки ранее - что-то вроде IF ?label : label <процедура> : ENDIF, подробнее см. доки.

GriV 26th February 2005 19:25

А знаю что
 
Vitamin разрабатывая многозадачную ОСь как часть проекта внедрил линковщик объектных файлов, там система очень простая я его подтяну он объяснит как это делается
Но разработка есть

Vitamin 27th February 2005 00:20

документацию искать на http://zxdocs.fatal.ru в разделе Coding->Module

dhau 27th February 2005 04:16

Microsoft M80.COM/L80.COM под CP/M как раз что требуется

shade 28th February 2005 17:17

Quote:

Originally Posted by lvd
А что конкретно ты имеешь в виду? Сборку из объектников? Или может динамическую линковку кода к другому коду ('библиотеке') с исправлением ссылок? Или наоборот, один код вызывает куски из другого, выбирая адресочки каждый раз из таблички?

Далее - "а зачем тебе?" (c) fyrex

PS: в аласме можно компилять процедуры только если на них были ссылки ранее - что-то вроде IF ?label : label <процедура> : ENDIF, подробнее см. доки.

А чтобы можно было код не в виде исходников ре-юзать... и пр., что лежит в идеологии библиотек...
Не, не в динамике... Линковку сделать...
А там и хорошие библиотеки можно было бы всему народу сдать...
А то не надоело ли всем свой опрос клавы, например, изобретать, а? :-)

random 28th February 2005 18:44

и набор по работе с буферами графических экранов.

lvd 28th February 2005 22:35

Quote:

Originally Posted by shade
А чтобы можно было код не в виде исходников ре-юзать... и пр., что лежит в идеологии библиотек...
Не, не в динамике... Линковку сделать...

Ясно. А теперь как ты себе представляешь работу с такой линковкой?

1. откомпилял много сорцов в много объектников, сохранил их на диск.
2. слинковал много объектников в память (не дай бог на диск опять!).

Ну и? Устроишь мегатормозное елозиво по диску с созданием-стиранием файлов? и зах оно нужно? =)

Quote:

А там и хорошие библиотеки можно было бы всему народу сдать...
А то не надоело ли всем свой опрос клавы, например, изобретать, а? :-)
1. библиотеки делаются в аласме - условной компиляцией по условию 'было ли обращение к метке'. Скомпиляются только те процедуры, к которым есть обращение. Чем не библиотеки? =)

2. При известной доле извращизма можно организовать гибрид динамической и статической линковки: к кодовому блоку (~'объектнику') прилагается файл-заголовк (с определениями меток-процедур и с макросами правки меток под адрес, под который блок инкбинится), а сам блок имеет инит, который правит его под адрес уже при запуске проги.

Наиболее разумен 1ый вариант =)

shade 1st March 2005 14:35

Quote:

Originally Posted by random
и набор по работе с буферами графических экранов.

ну, и так далее и тому подобное :-)

shade 1st March 2005 14:43

Quote:

Originally Posted by lvd
Ясно. А теперь как ты себе представляешь работу с такой линковкой?

1. откомпилял много сорцов в много объектников, сохранил их на диск.

Сделал Библиотеку, т.е. собрал их в одно файло, с заголовком-описанием. Или еще как. А хочешь, и так и эдак. :-)

Quote:

Originally Posted by lvd
2. слинковал много объектников в память (не дай бог на диск опять!).

Ну и? Устроишь мегатормозное елозиво по диску с созданием-стиранием файлов? и зах оно нужно? =)



1. библиотеки делаются в аласме - условной компиляцией по условию 'было ли обращение к метке'. Скомпиляются только те процедуры, к которым есть обращение. Чем не библиотеки? =)

Тем, что перекомпилировать нужно, не дай бог дам еще конфликты по именам меток и пр. будут... И понеслась - начинаем колбасить чужой код со всеми вытекающими отсюда последствиями...
Quote:

Originally Posted by lvd
2. При известной доле извращизма можно организовать гибрид динамической и статической линковки: к кодовому блоку (~'объектнику') прилагается файл-заголовк (с определениями меток-процедур и с макросами правки меток под адрес, под который блок инкбинится), а сам блок имеет инит, который правит его под адрес уже при запуске проги.

Мн... была когда-то в ZX-Ревю опубликована процедурка, которая по таблице меток поправляет код (делает его фактически релоцируемым). Аналог EXE для, скажем, DOS. И методика создания таблицы была описана достаточно просто... Такое можно было бы и в ОСь для ZX включить...
Quote:

Originally Posted by lvd
Наиболее разумен 1ый вариант =)

На вкус и цвет... :-)


All times are GMT +4. The time now is 21:30.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.