User Tag List

Страница 31 из 32 ПерваяПервая ... 272829303132 ПоследняяПоследняя
Показано с 301 по 310 из 320

Тема: Библиотеки-модули-программы...

  1. #301

    Регистрация
    13.03.2005
    Адрес
    Пермь
    Сообщений
    294
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Существующие ассемблеры не умеют собирать бейсики с монолоадерами и упаковкой кода.

    Для автоматизации этого используются утилиты вроде mkace.

    Ориентироваться на существующие ассемблеры - надо.
    Ориентироваться на их ограниченные способности - не надо.

    А вопрос - как квалифицировать внешние имена?

  2. #301
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #302

    Регистрация
    13.03.2005
    Адрес
    Пермь
    Сообщений
    294
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от acidrain
    Я видимо плохо объяснил, либо ты
    Я объясню.

    На Амиге есть такая традиция - при каждом вызове библиотечной функции, выбирать её адрес из таблицы через хэндл.

    Есть ли такая традиция для обращения к данным другого модуля.

  4. #303

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от acidrain
    Объясню - если шрифт был один раз открыт кем-то, то любой процесс (прога, как угодно) может его использовать. Чем такое не устраивает?
    Приведи пример "кого-то", кто будет открывать эти шрифты, чтобы прога могла их использовать.
    На всякий случай, напоминаю, что наша платформа называется Спектрум и тут нет ОС и нет многозадачности.

    Цитата Сообщение от acidrain
    Ты как представляешь себе что у тебя есть шрифт, линкер (firmware, слышал вы до этого уже дошли?=) и прога которая его хочет заюзать - какие действия надо сделать загрузчику, чтоб твоя прога просто обратилась напрямую?
    Линкер в одном модуле обнаруживает ссылку на внешнюю точку и ищет ее в таблице экспортируемых точек сборки. Если находит- подставляет адреса. И все.

    Цитата Сообщение от acidrain
    Не могу понять тебя, а ты меня - видимо с разных планет, хотя вроде ты тоже южанин. Объясни мне - проге нужен фонт, для его получения (открытия или еще чего) какие необходимо сделать действия мне, как кодеру?
    Ты наверное совсем не читал ту документацию, что я тебе присылал и кидал ссылку в теме.
    Вот как выглядит модуль:
    __EXTERN "Font",font ;объявляем внешнюю точку и ее внутренний псевдоним
    ..
    LD_ HL,font ;сюда линкер подставит реальный адрес шрифта когда будет собирать
    ...
    LDH_ H,font ;а сюда только старший байт

    И таких вот точек, использующих внешний символ, может быть сколь угодно много.

    Цитата Сообщение от acidrain
    И каких еще строк - что ты имеешь ввиду? Я не телепат и не могу не видя тебя вживую понять о чем ты подразумеваешь? Конечно я понимаю, что ты за моником еще и жестикулируешь, но я не вижу
    Обычных строк, последовательность байтов, представляющих текст в какой-либо кодировке. Объяснить что такое кодировка?

    За моником я не жестикулирую, просто ухмыляюсь, чувствуя себя самым жалким из последних ламеров, поскольку не дано мне понять всю круть несусветную амиги. А ты объясняешь и на вопросы отвечаешь только когда на тебя наедут конкретно.

  5. #304

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от captain cobalt
    Для автоматизации этого используются утилиты вроде mkace.

    Ориентироваться на существующие ассемблеры - надо.
    Ориентироваться на их ограниченные способности - не надо.
    А вопрос - как квалифицировать внешние имена?
    У меня вместе с кодом модуля генерится специальный линковочный код, который делает сборку и списывание на диск. Как компромисс- вполне вменяемо.
    Подразумевая существующий ассемблер, подразумеваем и его ограниченные способности... Внешние имена квалифицировать именно так, как ты уже написал и как делал я - определение псевдонима на время компиляции, меня просто весьма смутило использование прямого имени с областью видимости прямо в исходнике %))

  6. #305

    Регистрация
    18.02.2005
    Адрес
    Набережные Челны
    Сообщений
    1,574
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от acidrain
    Я видимо плохо объяснил, либо ты, как тебе передал гривка?
    Не могу понять тебя, а ты меня - видимо с разных планет, хотя вроде ты тоже южанин. Объясни мне - проге нужен фонт, для его получения (открытия или еще чего) какие необходимо сделать действия мне, как кодеру?
    И каких еще строк - что ты имеешь ввиду? Я не телепат и не могу не видя тебя вживую понять о чем ты подразумеваешь? Конечно я понимаю, что ты за моником еще и жестикулируешь, но я не вижу
    Ты почитай сам что написал, я тут даже на первом предложении застрял :-D Наверное когда-нибудь ты хорошо объяснял, только нам не повезло, потому что мы это не видели (((((((-;
    Ты кстате с какой планеты южанин? :-D
    Биты рулят лучше байтов, байты рулят шустрее!
    View, Звук, Цвет

  7. #306

    Регистрация
    14.01.2005
    Адрес
    N.Novgorod
    Сообщений
    803
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от acidrain
    Объясни мне - проге нужен фонт, для его получения (открытия или еще чего) какие необходимо сделать действия мне, как кодеру?
    И каких еще строк - что ты имеешь ввиду? Я не телепат и не могу не видя тебя вживую понять о чем ты подразумеваешь? Конечно я понимаю, что ты за моником еще и жестикулируешь, но я не вижу
    давайте я попробую объяснить... есть либа, в ней написано что-то типа:
    ------------------
    sin_table db 00h,ffh, ...
    db 55h, aah, ...
    font db 00h, 00h, ...
    strings db "Hello, world!",ffh,"Welcome!",ffh

    __export dw sin_table, font, strings
    ------------------

    в программе грузим эту библиотеку, получаем ее handle и:
    ld de, <handle библиотеки>
    ld hl, <адрес строки "font">
    call get_addr
    <в hl получили адрес в памяти где лежат байтики шрифта из библиотеки>

    точно так же можем получить адреса sin_table и strings

    хотя на спеке было бы лучше пользоваться не именами, а индексами или идентификаторами

  8. #307

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от elf/2
    в программе грузим эту библиотеку, получаем ее handle и:
    ld de, <handle библиотеки>
    ld hl, <адрес строки "font">
    call get_addr
    <в hl получили адрес в памяти где лежат байтики шрифта из библиотеки>

    точно так же можем получить адреса sin_table и strings

    хотя на спеке было бы лучше пользоваться не именами, а индексами или идентификаторами
    Не совсем так. В случае стартап-линковки программе СОВЕРШЕННО не надо ничего не надо делать для того, чтобы подключить либы. Все сделает линковщик по списку либ, заданных на этапе компиляции. Если же требуется подключить либу во время работы, то по символическому имени получаем смещение в блоке кода и используем его в своих корыстных целях. Причем это может быть смещение чего угодно- функции, строки, массива

  9. #308

    Регистрация
    13.03.2005
    Адрес
    Пермь
    Сообщений
    294
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin
    У меня вместе с кодом модуля генерится специальный линковочный код, который делает сборку и списывание на диск. Как компромисс- вполне вменяемо.
    Вменяемо.

    Консенсус.

  10. #309

    Регистрация
    14.01.2005
    Адрес
    N.Novgorod
    Сообщений
    803
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin
    Не совсем так. В случае стартап-линковки программе СОВЕРШЕННО не надо ничего не надо делать для того, чтобы подключить либы. Все сделает линковщик по списку либ, заданных на этапе компиляции. Если же требуется подключить либу во время работы, то по символическому имени получаем смещение в блоке кода и используем его в своих корыстных целях. Причем это может быть смещение чего угодно- функции, строки, массива
    адназначна! я привел пример run-time использования, поскольку именно оно применимо к амми

  11. #310

    Регистрация
    01.03.2005
    Адрес
    Russia, Krasnodar
    Сообщений
    433
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от captain cobalt
    при каждом вызове библиотечной функции, выбирать её адрес из таблицы через хэндл.
    Нет, не из таблицы! Вы вапще читаете?
    http://amigasc.nm.ru

    Free coder and hardwareman
    Amiga addicted

Страница 31 из 32 ПерваяПервая ... 272829303132 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 9
    Последнее: 10.11.2024, 08:26
  2. Управление эмулятором из zx-программы
    от Spectre в разделе Эмуляторы
    Ответов: 42
    Последнее: 29.08.2006, 12:58
  3. Кто может помочь в создании программы
    от Лебедев в разделе Люди
    Ответов: 9
    Последнее: 22.07.2006, 09:41
  4. Программы для модемов
    от p@lex в разделе Софт
    Ответов: 21
    Последнее: 11.02.2006, 21:36

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •