User Tag List

Страница 10 из 23 ПерваяПервая ... 67891011121314 ... ПоследняяПоследняя
Показано с 91 по 100 из 229

Тема: Написание программ для БК0010

  1. #91

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

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    рука моя потянулась к лицу ! грустно это, Манвэ - по другому не скажешь. Печаль.
    а в чём печаль, если игра или демка запускается на любой системе или даже без системы?

    - - - Добавлено - - -

    Цитата Сообщение от hobot Посмотреть сообщение
    батником на скорости хоста нативными средстави всё собирается
    Нативные средства не предоставляют возможностей, которые есть у PDPy11. Например, PDPy11 понимает арифметические выражения любой сложности в исходнике, длинные имена меток и констант, алиасы команд (PUSH, POP) и многое другое, что позволяет писать более понятный код.
    manwe.pdp-11.ru

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

  3. #92

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,509
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от S_V_B Посмотреть сообщение
    главное же компилятор.
    Цитата Сообщение от S_V_B Посмотреть сообщение
    для RT-11 неплохо бы макросов хотя бы самых необходимых добавить
    Цитата Сообщение от Manwe Посмотреть сообщение
    Когда-нибудь я доберусь до программирования для УКНЦ и тогда буду решать эту проблему.
    Цитата Сообщение от Manwe Посмотреть сообщение
    программы буду делать совместимыми с магнитофонной загрузкой, так что вряд ли меня затронут особенности RT-11.
    Ничего он пока не стоит.

    - - - Добавлено - - -

    Основной плюс MACRO-11 - это условная компиляции и макросы. Что то мне подсказывает, что и простейшая моя программа, например - восстановленный текст SPEED не пройдёт в нём компиляцию. А ещё возникает вопрос - а к результату компиляции подцепить стандартные OBJ можно? Или этот компилятор - вещь в себе?

  4. #93

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

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Основной плюс MACRO-11 - это условная компиляция
    Я думал о том, чтобы добавить условную компиляцию в PDPy11 – собирать разные исполняемые файлы под БК 0010 и БК 0011, а также под разные операционные системы. Потом понял, что это тотальное зло и с тех пор определяю модель компьютера и операционную систему в самой программе. Чтобы был единый исполняемый файл, который работает везде. Так намного удобней для конечного пользователя.

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

    Вопрос к hobot, S_V_B, Hunta: если добавятся макросы и obj – вы перейдёте на связку PDPy11 + Sublime Text?
    Последний раз редактировалось Manwe; 19.05.2020 в 13:39.
    manwe.pdp-11.ru

  5. #94

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,509
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    если добавятся макросы и obj
    Кроме того, что на PDP-11 ассемблер в большим количеством возможностей, у него, особенно в случае RSX, и линкер с большим количеством возможностей, в частности - с поддержкой оверлеев двух типов (это есть и в RT, но не так гибко). Я не думаю, что это (скоро) появится PDPy11 + Sublime Text. Кстати, мне вполне хватает подсветки синтаксиса для .MAC файлов в FAR-е.

    Условная компиляция мне - НУЖНА, если её не будет - даже задумываться не буду.

    Пример кода - условной компиляции тут нет, только макросы, но вот в макросах её овердохрена (и она вовсе не для поддержки компиляции под разные ОС).

    Код:
    .NLIST
    .INCLUDE /KXX:DSMAC.MAC/
    .INCLUDE /KXX:MYMAC.MAC/
    .INCLUDE /KXX:ASCII.MAC/
    .INCLUDE /KXX:HWDF.MAC/
    
    .INCLUDE /MACRO.MAC/
    .LIST
    
    MODULE NAME=<SPEED>, REL=<SP>, VER=<02>, COMM=<SPEED program>
    
      FROM SYSMAC IMPORT .EXIT
    
      BLK.SZ =: 16000.
    
      $CODE
    
      PROCEDURE START
      BEGIN
        LET TCURR := #0
    
        LET TMAX := #4
    
        LET R5 := @#V.TR10
    
          LET @#V.TR10 := #CHKEIS
          LET R0 := R0 / R0
    
        LET @#V.TR10 := R5
    
        MTPS #PR4
    
        LET SV100 := @#V.LTC,  
        LET SV102 := @#V.LTC+2
    
        $SSHOW #MSPEED
    
        $GOTO PREP
      END START
    
      PROCEDURE PREP
      BEGIN
    
        LET R0 := TCURR + R0
    
        LET R1 := R0
    
        LET R0     := R0 + #CMDTBL
        LET @#TCMD := (R0)
    
        LET R1 := R1 + #CPTBLE
        LET R1 := (R1)
    
        LET R2 := #3000
    
        LET L02106 := R2
        LET L02104 := R2
    
        LET L02106 := L02106 + #BLK.SZ*2
    
        REPEAT
    
          LET (R2)+ := TCMD
    
        UNTIL L02106 EQ R2
    
        LET (R2) := CRET
    
        LET R2 := #100.
        LET R3 := #0
    
        $SSHOW
    
        CALL DELAY
    
        LET @#V.LTC+2 := #0
        LET @#V.LTC   := #TICTAK
    
        MTPS #PR0
    
       ;WAIT
    
        $GOTO TEST
      END PREP
    
      PROCEDURE TEST
      BEGIN
        LOOP
          CALL @L02104
          LET R3 := R3 + #1
        END
      END TEST
    
      PROCEDURE TICTAK
      BEGIN
        LET R2 := R2 - #1
        IF RESULT IS NE
    
      ENTRY TEMPTY
    
          RTI
        END
    
        $GOTO SHOW
      END TICTAK
    
      PROCEDURE SHOW
      BEGIN
        LET R0 := TOP
    
        LET @#V.LTC := #TEMPTY
    
        IF #<3000/3+BLK.SZ> LOS R0 THEN
    
          LET R3 := R3 + #1
    
        END
    
        LET R3 := R3 L.SHIFT 3
    
        CALL CALC
    
        $SSHOW #CSPEED
    
        $SSHOW #BUF
    
        CALL DELAY
    
        LET TCURR := TCURR + #1
    
        IF TCURR NE TMAX GOTO PREP
    
        MTPS #200
    
        LET @#V.LTC   := SV100
        LET @#V.LTC+2 := SV102
    
        .EXIT
      END SHOW
    
      PROCEDURE CHKEIS
      BEGIN
        LET TMAX := #2
        RTI
      END CHKEIS
    
      PROCEDURE DELAY
      BEGIN
        LET R0 := #-4000
    
        REPEAT
          LET R0 := R0 + #1
        UNTIL RESULT IS EQ
    
        RETURN
      END DELAY
    
      ;
      ; R3 count multiply 8
      ;
      PROCEDURE CALC
      BEGIN
        LET R0 := #BUF
    
        THRU R4 := #EBUF-BUF
    
          LET (R0)+ :B= #SPACE
    
        END
    
        LET R1 := #10.
    
        LOOP
    
          LOOP
            LET R5 := R3
    
            IF RESULT IS EQ GOTO L01450
    
            CALL L01452
            IF R2 EQ #0 LEAVE LOOP
    
            LET -(R0) :B= R2
            LET (R0)  :B= (R0) SET.BY #'0
    
          END
    
          IF R3 EQ #0 LEAVE LOOP
    
            LET -(R0) :B= R2
            LET (R0)  :B= (R0) SET.BY #'0
    
        END
    
    L01450:
        RETURN
      END CALC
    
      PROCEDURE L01452
      BEGIN
        LET R3 := #0
        LET R2 := #0
    
        IF R5 NE #0 THEN
    
          LET R3 := NOT R3
    
          REPEAT
    
            LET R5 := R5 L.ROTATE
    
          UNTIL RESULT IS CS
    
          REPEAT
            ROL R2
    
            IF R2 HIS R1 THEN
    
              LET R2 := R2 - R1
    
            END
    
    	ROL	R3
    	ASL	R5
    
          UNTIL RESULT IS EQ
    
          LET R3 := NOT R3
    
        END
    
        RETURN
      END L01452
    
      PROCEDURE SSHOW
      BEGIN
        LOOP
          LET R0 :B= (R1)+
    
          IF RESULT IS EQ THEN
            RETURN
          END
    
          REPEAT
          UNTILB @TVCSR MI #0
    
          LET @TVBUF :B= R0
        END
      END SSHOW
    
      $IDATA
    
    ;  $PDATA
    
    TVCSR:	.WORD	TPS
    TVBUF:	.WORD	TPB
    
    ;  $ASCII
    
    MSPEED:
    	.ASCIZ	<LF><CR><RUS>/test bystrodejstwiq /<LAT>
    
    ADDRR:
    	.ASCIZ	<LF><CR><LF><RUS>/komanda sloveniq registr-registr/<LAT>
    ADDRM:
    	.ASCIZ	<CR><LF><LF><RUS>/komanda sloveniq registr-pamqtx/<LAT>
    MULRR:
    	.ASCIZ	<LF><CR><LF><RUS>/komanda umnoveniq registr-registr/<LAT>
    DIVRR:
    	.ASCIZ	<LF><CR><LF><RUS>/komanda deleniq registr-registr/<LAT>
    
    CSPEED:
    	.ASCIZ	<CR><LF><RUS>\bystrodejstwie (tys.op./sek) \<LAT>
    	.EVEN
    
    ;  $IDATA
    
    BUF:	.BYTE	0, 0, 0, 0, 0, 0, 0, 0
    EBUF:
    	.BYTE	0
    	.EVEN
    
    CPTBLE:
    	.WORD	ADDRR
           	.WORD	ADDRM
           	.WORD	MULRR
           	.WORD	DIVRR
    
    L02104:	.WORD	0
    
    L02106:	.WORD	0
    
    TCURR:	.WORD	0
    
    TMAX:	.WORD	2
    
    TCMD:	.WORD	0
    
    SV100:	.WORD	0
    SV102:	.WORD	0
    
    CRET:	RETURN
    
    CMDTBL:
      LET R1 := R1 + R0
    
      LET R1 := R1 + @R0
    
      LET R0 := R0 * R0
    
      LET R2 := R2 / R0
    
    END SPEED
    
    .END START
    - - - Добавлено - - -

    Цитата Сообщение от Manwe Посмотреть сообщение
    и с тех пор определяю модель компьютера и операционную систему в самой программе.
    Собрать единый вариант запускаемого файла для RT и RSX будет крайне проблематично.
    Последний раз редактировалось Hunta; 19.05.2020 в 14:27.

  6. #95

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

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Кстати, мне вполне хватает подсветки синтаксиса для .MAC файлов в FAR-е
    Мне в середине 90-ых вполне хватало отладчика – писал программы прямо в памяти БК. Никакой подсветки синтаксиса. Зато не надо ждать пока скомпилируется.
    В XXI веке «мы стали более лучше одеваться» и грех отказываться от достижений современности. Вряд ли FAR подсвечивает синтаксические ошибки в процессе написания и вряд ли автоматически переходит на строку с ошибкой по указанию компилятора. Ну и эти ужасные 6-буквенные имена из Macro-11 – бррр...
    manwe.pdp-11.ru

  7. #96

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

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    Вопрос к hobot, S_V_B, Hunta: если добавятся макросы и obj
    Я не адепт MACRO-11 скорее наоборот. Мне хватит основных макросов для работы с файлами (или хотя бы гибкой возможности их создавать из ЕМТов).
    Инклюдов вполне хватит поскольку все исходники велосипедов рожаю в муках сам, есть конечно интересные штуки в SYSLIB, но если использовать RT-11 только как средство загрузки сохранения той же игрушки - можно и обойтись своими вело-грабляими
    Больше всего убивают метки типа "АБЫРВАЛГ", в большом проектах не хватит воображения описать все сущности.
    Главное чтобы компилил рабочий SAV (желательно с секциями, а не абсолютный).

    - - - Добавлено - - -

    Олдскульные системщики конечно люто воспротивятся такому подходу, но это их проблемы. Для написания демок и игрушек тем более для УКНЦ (имхо) MACRO-11 в чистом виде абсолютно непригоден. Для драйверов и прочих терминальных свистулек, да ради бога
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

  8. #97

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,509
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Manwe Посмотреть сообщение
    подсвечивает синтаксические ошибки в процессе написания и вряд ли автоматически переходит на строку с ошибкой по указанию компилятора
    А синтаксис и внутренности макросов учитываются? А если ошибка будет на команде, которую сгенерировал макрос - куда он перейдёт автоматически - команды в тексте не будет. А если забыть написать END, будет ахеренное количество ошибок, причём первая будет на макросе MODULE - он сам найдёт пропущенный END? А если вместо #LABEL, я ошибусь и напишу LABEL - он это поймёт?

    А подсветка неправильно написанных команд PDP-11 мне не особо нужна - я их больше 35 лет помню.

    В общем, я пока плюсов не вижу. Особенно учитывая отсутствие условной компиляции.

    Цитата Сообщение от Manwe Посмотреть сообщение
    эти ужасные 6-буквенные имена из Macro-11
    Ничего в них ужасного - время такое было. В ассемблере VAX-а (где ресурсов поболее) сделали уже более длинные и не только символы RADIX

    - - - Добавлено - - -

    Цитата Сообщение от S_V_B Посмотреть сообщение
    не хватит воображения
    Да да, у современных программистов с этим напряжёнка

  9. #98

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

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Ничего в них ужасного - время такое было.
    Цитата Сообщение от Hunta Посмотреть сообщение
    Да да, у современных программистов с этим напряжёнка
    Если бы мы были "современными" то сороду бы не жрали эти кактусы
    Hunta в своем амплуа- мегакульный-седобородый гуру который из вредности в 21м веке считает на логарифмической линейке
    Для драйвера в 3блока короткие метки может и приемлемы, да и что в драйвере "воображать" тупо следуй вороху пожелтевшей документации - получишь результат
    БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO

  10. #99

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

    По умолчанию

    Цитата Сообщение от S_V_B Посмотреть сообщение
    Больше всего убивают метки типа "АБЫРВАЛГ"
    Такую метку нельзя – слишком длинная, на 2 символа больше максимально допустимого!

    Главное чтобы компилил рабочий SAV (желательно с секциями, а не абсолютный).
    Абсолютный. На БК в ОС БК-11 другой и не нужен, вроде. Или нужен?
    Олдскульные системщики конечно люто воспротивятся такому подходу, но это их проблемы. Для написания демок и игрушек тем более для УКНЦ (имхо) MACRO-11 в чистом виде абсолютно непригоден. Для драйверов и прочих терминальных свистулек, да ради бога
    Я так понимаю, олдскульные системные программисты и не ищут инструментов, которые ускорят их работу (даже если такие появятся). Сила привычки выше, слишком накладно переучиваться.
    manwe.pdp-11.ru

  11. #100

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,509
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от S_V_B Посмотреть сообщение
    да и что в драйвере "воображать" тупо следуй вороху пожелтевшей документации - получишь результат
    Сколько драйверов написал?

    Цитата Сообщение от Manwe Посмотреть сообщение
    не ищут инструментов, которые ускорят их работу
    Приведённая выше программа оттранслируется? Если я добавлю в неё вызовы п/п из SYSLIB и из пары моих библиотек - собрать смогу? Когда ответы на эти вопросы будут - да - тогда и поговорим

    - - - Добавлено - - -

    Цитата Сообщение от Manwe Посмотреть сообщение
    Абсолютный. На БК в ОС БК-11 другой и не нужен, вроде. Или нужен?
    Ну вот приговор и понятен.

Страница 10 из 23 ПерваяПервая ... 67891011121314 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. написание простейшей демки для тренировки
    от AAA в разделе Для начинающих
    Ответов: 121
    Последнее: 22.05.2012, 18:06
  2. написание музыки на Dendy.
    от s1moncpu в разделе Nintendo
    Ответов: 27
    Последнее: 25.05.2007, 05:34
  3. написание музыки на Dendy.
    от s1moncpu в разделе Музыка
    Ответов: 2
    Последнее: 16.05.2007, 10:59
  4. Тестирование программ
    от Vitamin в разделе Программирование
    Ответов: 5
    Последнее: 23.01.2005, 21:46

Ваши права

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