User Tag List

Страница 16 из 22 ПерваяПервая ... 121314151617181920 ... ПоследняяПоследняя
Показано с 151 по 160 из 211

Тема: Кросс-средства для программирования под МП 1801, 1806, 588

  1. #151

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    /* оверлеи там всякие, защиты и т.п. */
    Я же попросил в простейшем случае.. адрес, длинна, адр. запуска... для изучения УКНЦ мне вполне хватит.. (мне очень понравилась связка SublimeText и PDPy11, а танцы с бубнами Эмулятор+Macro11+Link НЕТ) И чтобы проверить две строчки кода достаточно будет того что я попросил.
    Если вы пишете оверлей, драйверы и пр.. никто вам не запрещает пользоваться великолепным MACRO-11..

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

  3. #152

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    только чтобы метки длинные понимал (полноценно, а не только первые 6 символов из метки), мне только этого в MACRO11 не хватает.
    PDPy11 понимает длинные метки. И сложную арифметику с метками типа MOV #(MET1*3+MET2)-MET3/2,R0

    Цитата Сообщение от S_V_B Посмотреть сообщение
    Я же попросил в простейшем случае.. адрес, длинна, адр. запуска...
    Беглый просмотр формата SAV навёл меня на мысль, что тремя word'ами там не обойтись. Ещё кучу всего придётся заполнять. Непонятно как и чем.
    manwe.pdp-11.ru

  4. #153

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вроде там хитрые поля заполняются если указаны опции в линковщике.. если нет то игнор

    Единственное это:
    44 - СЛОВО СОСТОЯНИЯ ПРОГРАММЫ (JSW);
    Точнее Job Status Word (JSW)
    Описано здесь:
    http://bitsavers.trailing-edge.com/p...nual_Aug91.pdf

    Описывает взаимодействие с терминалом, выход, реакцию на Ctrl/C..CHAIN$

    хотя в нашем случае лучше опытным путем:
    Взять 0й блок от программы HelloWorld и менять адрес, длину и запуск.
    посмотреть область 500-776
    и в коде посмотреть как организованы простейшие макросы типа .EXIT

    если я правильно понял то 0й блок описывает ОЗУ с 0 по 1000...
    и задача максимум это загрузить кусок кода по определенному адресу и выполнить, а дальше зависит от того что ты там написал..
    для простых вещей я думаю вполне пойдет, речь не идет о взаимодействии с ОС и прочими наворотами.. для этих целей есть MACRO-11 и LINK

    Кстати я хотел прикрутить MACRO11 for windows к Sublime Text.. но почему-то (сама по себе она запускается) когда начинает что-то компилять вылетает с ошибкой win о недопустимой операции
    Последний раз редактировалось S_V_B; 03.10.2018 в 13:46.

  5. #154

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от S_V_B Посмотреть сообщение
    Взять 0й блок от программы HelloWorld и менять адрес, длину и запуск.
    Можно попробовать. Пришли, пожалуйста, простейшую программу в формате sav.
    manwe.pdp-11.ru

  6. #155

    Регистрация
    22.03.2018
    Адрес
    г. Усть-Каменогорск, Казахстан
    Сообщений
    1,410
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    178
    Поблагодарили
    138 сообщений
    Mentioned
    21 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Hello world
    https://yadi.sk/d/sfWULPIAzOKeyg

    в 0м блоке- адрес, адрес запуска и длина.. все остальное по нулям кроме ячейки 360..

    360 - 377 - КАРТА ЗАГРУЗКИ ПРОГРАММЫ В ПАМЯТЬ.
    ЯЧЕЙКИ 360 - 377 В НУЛЕВОМ БЛОКЕ ФАЙЛА ИСПОЛЬЗУЮТСЯ
    КОМПОНОВЩИКОМ ДЛЯ ПЕРЕДАЧИ ИНФОРМАЦИИ О РАСПРЕДЕЛЕНИИ ПАМЯ-
    ТИ KMON. КАЖДЫЙ БИТ ЯЧЕЕК СООТВЕТСТВУЕТ ОПРЕДЕЛЕННОМУ БЛОКУ
    ПАМЯТИ ИЗ 256 СЛОВ И УСТАНАВЛИВАЕТСЯ В ТОМ СЛУЧАЕ, ЕСЛИ
    ПРОГРАММА ЗАНИМАЕТ ХОТЯ БЫ ОДНО СЛОВО В ДАННОМ БЛОКЕ ПАМЯ-
    ТИ. ЭТА ИНФОРМАЦИЯ ИСПОЛЬЗУЕТСЯ KMON ДЛЯ ОПРЕДЕЛЕНИЯ, БУДЕТ
    ЛИ ПОЛЬЗОВАТЕЛЬСКАЯ ПРОГРАММА ПЕРЕКРЫВАТЬ KMON И USR.

    сейчас там записано 300 или 11000000b что соответствует 2м первым блокам памяти..
    если будем грузить не с 1000го то нужно будет вычислить ячейку карты: 360+2*(адр.загр/(1000*20) (oct)
    и битовую маску внутри блока: устанавливать 15 бит сдвигая вправо на кол-во блоков (Длина/1000)
    на вскидку так, если не напутал.. скорее всего об этом где-то написано нужно поискать
    Последний раз редактировалось S_V_B; 04.10.2018 в 07:58.

  7. #156

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    609
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    PDPy11 понимает длинные метки. И сложную арифметику
    А объектные модули и их линковку делать умеет?
    А оверлейные исполняемые файлы, рассчитанные под страничную БКшную архитектуру, делать может? Это когда файл состоит из блоков, которые грузятся каждый в свою страницу и потом оттуда вызываются п/п с нулевой страницы, и наоборот, из нулевой - п/п из подключаемых страниц. Собирается такой файл обычно с некоторым шаманством и ручной работой, что довольно хлопотно.
    Мне как раз этого в БКшных ассемблерах не хватает (не считая длинных меток), поэтому я в своём кросстурбо8 приделал эту возможность методом костыляния.

  8. #157

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    А объектные модули и их линковку делать умеет?
    Не умеет. Предполагается, что вместо .obj всё нужное есть в исходниках и они подключаются командой .INCLUDE


    Цитата Сообщение от gid Посмотреть сообщение
    А оверлейные исполняемые файлы, рассчитанные под страничную БКшную архитектуру, делать может? Это когда файл состоит из блоков, которые грузятся каждый в свою страницу и потом оттуда вызываются п/п с нулевой страницы
    Это довольно странная затея для БК, особенно в 2018-ом году. Даже в 90-ые никто, по-моему, не пользовался командой EMT 36 из монитора БК-0011, хотя она позволяла грузить файл сразу в нужную страницу. Если MKDOS и AnDOS не поддерживают многостраничные программы, то может быть это никому не нужно? На первый взгляд кажется, что виртуальная адресация и дальние переходы - это удобно, но как на практике её использовать, как указывать 24-битные адреса? Процессор же ограничен 16-ю битами.


    Цитата Сообщение от gid Посмотреть сообщение
    Собирается такой файл обычно с некоторым шаманством и ручной работой, что довольно хлопотно.
    Наверное, это всё-таки не гигантский исполняемый файл, а в основном данные? Если так, то можно заранее их фрагментировать и подгружать по частям обычным образом.


    Цитата Сообщение от gid Посмотреть сообщение
    Мне как раз этого в БКшных ассемблерах не хватает (не считая длинных меток), поэтому я в своём кросстурбо8 приделал эту возможность методом костыляния.
    Если в CrossTurbo8 такое есть, то это прекрасно. Я просто думаю, что эта возможность нужна нечасто.
    Последний раз редактировалось Manwe; 04.10.2018 в 15:22.
    manwe.pdp-11.ru

  9. #158

    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    609
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    175
    Поблагодарили
    135 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    Это довольно странная затея
    Ненене, речь совсем не про это. Никакой виртуальной адресации. Классический пример, который сразу приходит в голову - программа "Рок Монитор". Весь код не влазит в стр.0, и продолжение находится в стр.1, которая подключается по мере надобности, и оттуда вызываются нужные п/п.
    Цитата Сообщение от Manwe Посмотреть сообщение
    не гигантский исполняемый файл, а в основном данные?
    В том то и дело, что исполняемый код. У меня в году в 1997 всё время получалось, так что весь код не полезал в постоянно доступную память, приходилось извращаться со страницами. Потом, из-за неправильного менеджмента, получалось так, что страниц ещё 3 штуки свободных оставалось, а подключить их никак, окна уже заняты оверлейной страницей и экраном или буферной страницей, а нулевая - всё. Все нужные подпрограммы её уже забили, памяти не хватает и дальше писать прогу бессмысленно. Поэтому я БКшку подзабросил на дальнюю полку, и начал осваивать PC.
    А писал я для себя графическую оболочку, типа виндовс 3.1, контроллера смк у меня не было. И так и не дописал, потому что понял, что если она займёт всю доступную память, и прикладным программам ничего не останется, то на не нужна.

  10. #159

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    Весь код не влазит в стр.0, и продолжение находится в стр.1, которая подключается по мере надобности, и оттуда вызываются нужные п/п.
    Надо подумать, что можно с этим сделать. На первый взгляд кажется, что проблема не решается средствами компилятора. А решается она архитектурой приложения. Как вариант, можно в начале каждой страницы хранить одинаковый код этакого обработчика запросов и карту подпрограмм, а после него в каждой странице уже свои процедуры. Поскольку обработчик един для всех страниц, он выносится в отдельный исходник и подключается к исходнику каждой страницы командой include. Каждая страница со своим набором подпрограмм компилируется отдельно с адреса 100000. Линковать эти страницы с основной программой не нужно, лучше при запуске просто подгрузить их с диска.
    manwe.pdp-11.ru

  11. #160

    Регистрация
    06.12.2017
    Адрес
    г. Москва
    Сообщений
    1,724
    Спасибо Благодарностей отдано 
    167
    Спасибо Благодарностей получено 
    406
    Поблагодарили
    257 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от S_V_B Посмотреть сообщение
    описание формата SAV: Вложение 66445
    Цитата Сообщение от S_V_B Посмотреть сообщение
    Не понял про карту загрузки памяти 360-377.
    Для примера "HELLO WORLD" в байте 360 установлены два старших бита. Почему отсчёт ведётся не с младших битов, а со старших? Означает ли это, что программа занимает первый и второй блоки памяти? То есть нулевой блок тоже считается частью программы и поэтому старший бит 360-го байта всегда установлен в единицу?
    manwe.pdp-11.ru

Страница 16 из 22 ПерваяПервая ... 121314151617181920 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Вектор-06Ц: Средства разработки
    от Tim0xA в разделе Вектор
    Ответов: 269
    Последнее: 20.10.2025, 17:04
  2. Микропроцессоры МПК1810,580,1801 и много чего интересного...
    от Alex_Vac в разделе Барахолка (архив)
    Ответов: 8
    Последнее: 03.06.2012, 22:16
  3. Микросхемы МПК 580,1801,1810 и другие...
    от Alex_Vac в разделе Барахолка (архив)
    Ответов: 44
    Последнее: 07.04.2012, 08:03
  4. Учебный стенд УМПК-1801
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 12.05.2010, 16:52
  5. Средства разработки для C64
    от andrews в разделе Commodore 16/64/128
    Ответов: 0
    Последнее: 05.04.2010, 13:20

Ваши права

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