Важная информация

User Tag List

Страница 6 из 13 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя
Показано с 51 по 60 из 121

Тема: Конструктор (ZX SDK)

  1. #51
    Activist Аватар для fk0
    Регистрация
    18.02.2005
    Адрес
    St. Petersburg
    Сообщений
    415
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin
    каки таки извраты? если про треп из соседней ветки, то там вообще по банану как передаются параметры (раз разговор зашел про них).
    Нет. Почему -- в соседней ветке и пишется же.

    и к чему тут упоминаются извраты с аласмом не понимаю...
    зы. а я хочу интерфейс с аласмом для начала! (как вот заявлено) почему он отвергается? лозунги нарушаем-с %)
    [/quote]

    Речь не про то, чтобы с аласмом было несовместимо.
    Речь про то, чтобы НЕ БЫЛО СОВМЕСТИМО ТОЛЬКО С АЛАСМОМ.

  2. #52
    Activist
    Регистрация
    23.03.2005
    Адрес
    г. Чернигов, Украина
    Сообщений
    477
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот и Griv про BGE вспомнил. Это радует. Поэтому предлагаю без фанатизма - начать с аналогии системы аля BGE. просто процедура и описание: что на входе, что на выходе, можно ли из ПЗУ юзать/нет, сколько регистров херит. И всё. Без прибамбасов. А каменты может не надо прям в исходнике ? Рядом, в текстовичке.

  3. #53
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,259
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    85
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от fk0
    Речь не про то, чтобы с аласмом было несовместимо.
    Речь про то, чтобы НЕ БЫЛО СОВМЕСТИМО ТОЛЬКО С АЛАСМОМ.
    имхо вопрос надо ставить не так. то, что в других компиляторах приходится делать вручную или через >|<опу, в аласме можно сделать автоматически. вот и все.
    гдето писалось про траблы создания плагинов к RC- создание таблиц релокации. это можно упростить!

  4. #54
    Activist Аватар для fk0
    Регистрация
    18.02.2005
    Адрес
    St. Petersburg
    Сообщений
    415
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin
    имхо вопрос надо ставить не так. то, что в других компиляторах приходится делать вручную или через >|<опу, в аласме можно сделать автоматически. вот и все.
    гдето писалось про траблы создания плагинов к RC- создание таблиц релокации. это можно упростить!
    В данном случае, вручную -- это значит НИКАК!.

    Таблицы релокации можно создать путём сравнения версий программ
    откомпилированных по разным адресам. Кроме того, некоторые
    компоновщики штатно умеют (тот же hitech-c). А вот таблицы патчей
    для CALL -- это никто не умеет, ALASM+макросы == свой собственный,
    ни с чем не совместимый, ассемблер.

  5. #55
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от fk0
    ... А вот таблицы патчей
    для CALL -- это никто не умеет...
    MA80 (МОА) и M80 (CP/M) прекрасно умеют макросами создавать таблицы патчей.
    Как пример см. драйвер электронного диска под ISDOS by MOA.

  6. #56
    Veteran Аватар для jtn
    Регистрация
    15.01.2005
    Адрес
    Kievska Rus
    Сообщений
    1,149
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    хех, вспомнил - в древнючем zx-review была софтинка, которая строила такие таблицы на базе двух скомпиленых под разные адреса блоков одного и того же исходника и присобачивала настройщик. вот только блоки должны умещаться в 48к памяти, да и все равно это полуручная работа

  7. #57
    Veteran Аватар для lvd
    Регистрация
    23.01.2005
    Сообщений
    1,113
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от fk0
    Таблицы релокации можно создать путём сравнения версий программ откомпилированных по разным адресам.
    Код:
     org #6000
     <код>
     org ($+255)&#FF00
    label ds 256
    и
    Код:
     org #789A
     <такой же код>
     org ($+255)&#FF00
    label ds 256
    Вот и сравнивай...
    --- Кто съел всю уху?

  8. #58
    Veteran Аватар для jtn
    Регистрация
    15.01.2005
    Адрес
    Kievska Rus
    Сообщений
    1,149
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    нормальные люди больше одного org'a в одной проге не юзают (object save не работает как минимум). я делаю так:
    defs $-(($-1)&ff00) (мож накосячил - не помню =) у меня макрос сто лет назад написан)
    а чаще так:
    ;macros lib
    _ORGA equ 0
    defmac _ORGG
    \0 equ _ORGA
    _ORGA equ (_ORGA+\1)
    endmac
    ;end maclib

    ;prog:
    _ORGA=$
    _ORGG buf1,#0100
    _ORGG buf2,#0300

    округление до ровных адресов в макросе добавить по вкусу...

  9. #59
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,759
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    293
    Поблагодарили
    220 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от lvd
    Код:
     org #6000
     <код>
     org ($+255)&#FF00
    label ds 256
    и
    Код:
     org #789A
     <такой же код>
     org ($+255)&#FF00
    label ds 256
    Вот и сравнивай...
    а ты правильно под релокатор пиши!
    таблицы такие - генерить на месте или двигать
    адрес программы тоже легко узнать
    С уважением,
    Jerri / Red Triangle.

  10. #60
    Activist Аватар для fk0
    Регистрация
    18.02.2005
    Адрес
    St. Petersburg
    Сообщений
    415
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jtn
    нормальные люди больше одного org'a в одной проге не юзают (object save не работает как минимум). я делаю так:
    defs $-(($-1)&ff00) (мож накосячил - не помню =) у меня макрос сто лет назад написан)
    Нормальные люди вообще DEFS для кода отписываемого на
    диск не юзают. Я конечно понимаю, что hrust есть великий
    рулез, но тем не менее, ещё с тех времён когда кроме mpack
    ничего приличного не было, существовало нормальное решение,
    когда все эти DEFS и извраты вокруг ORG затрагивали часть
    области данных не отписываемую на диск. Для инициализации
    писался код. И кроме того, вместо статического распределения
    НИЧЕМ НЕ ХУЖЕ тривиальный аллокатор типа "стек", который
    растёт вверх от конца программы. Или даже стек обыкновенный,
    для чего он размещается не под телом кодового блока,
    а в самом конце памяти. Делается просто: кодовый блок
    размещается в REM-строке бейсик программы. А CLEAR ставится
    на самый верх памяти. Суть в том, что в двух разных состояниях
    программы отдельные статически выделенные блоки памяти
    НЕ ИСПОЛЬЗУЮТСЯ и память тратится впустую. (Вот чего вечно
    от спектрумистов слышно, что им памяти не хватает). Нормальный
    аллокатор решает эту проблему. Её решает даже выделение
    памяти на стеке. И выравнивание можно динамически, на ходу
    любое выбирать.

Страница 6 из 13 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя

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

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

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

Ваши права

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