User Tag List

Страница 5 из 122 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 41 по 50 из 1564

Тема: Программирование на УКНЦ как?

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,374
    Спасибо Благодарностей отдано 
    1,695
    Спасибо Благодарностей получено 
    2,214
    Поблагодарили
    868 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    По какому принципу происходит прерывание программы по Ctrl-C?
    Есть ли возможность при этом выполнить какую-то собственную процедурку, допустим, восстановление векторов прерываний или еще что-то, а уже потом выйти?
    И еще, в MACRO-11 очень короткая длина меток, всего 6 символов. Есть ли возможность ее увеличить?

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

  3. #2

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    По какому принципу происходит прерывание программы по Ctrl-C?
    Есть ли возможность при этом выполнить какую-то собственную процедурку, допустим, восстановление векторов прерываний или еще что-то, а уже потом выйти?
    И еще, в MACRO-11 очень короткая длина меток, всего 6 символов. Есть ли возможность ее увеличить?
    Там же все описано в коментариях.
    Из фортрана делается

    EXTERNAL SUB
    CALL ATTACH(SUB)

    ...

    SUBROUTINE SUB(KEY)
    ...
    END

    когда нажимается клавиша, вызывается SUB
    и получает параметром код нажатой клавиши

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

    В этом примере подпрограмма просто проверяет код клавиши и если CTRL/C устанавливает переменную которую проверяет основная программа, но в принципе можно было бы прямо из нее вызывать CALL DETACH и CALL EXIT.

    Увеличить больше 6 нельзя. Равно как и в фортране имена переменных/подпрограмм/общих блоков итд сделать больше 6 символов.
    То есть написать можно и больше 6, но при обработке будут использоваться только 6 из них.
    Причем символы годятся не всякие...
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  4. #3

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,374
    Спасибо Благодарностей отдано 
    1,695
    Спасибо Благодарностей получено 
    2,214
    Поблагодарили
    868 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Вообще-то я про асм) Я на фортране не программирую)

    ---------- Post added at 15:00 ---------- Previous post was at 14:56 ----------

    Цитата Сообщение от form Посмотреть сообщение
    ^X
    К сожалению не прокатило. MACRO на нее ругается.
    Последний раз редактировалось Titus; 21.04.2011 в 15:02.

  5. #4

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Вообще-то я про асм) Я на фортране не программирую)
    Ну а в асме еще проще - убирается фортран, остальное используется локально. Только в принципе стоит сначала решить стоит ли вообще связываться с железом напрямую
    Иногда это оправдано, иногда просто делает программу менее универсальной.

    В общем случае, работать напрямую с клавиатурой полезно если хочется получить полный контроль над клавиатурой (в RT-11 стандартными вызовами например нельзя получить с клавиатуры коды CTRL/S, CTRL/O (в советский переделках CTRL/D) - они всегда обрабатываются системой. Если нужен контроль над ними - тогда надо самостоятельно работать с регистрами клавиатуры. При этом надо или запретить прерывания от клавиатуры (иначе система будет параллельно ловить клавиши и получится хрень) или установить свой обработчик прерываний (что делается в данном примере). Следует помнить, что запрет прерываний не будет работать в RT-11 с многотерминальной поддержкой - там система периодически восстанавливает их. Также не будет работать вообще доступ к железу в XB/XM/ZB/ZM мониторах если программа запущена командой VRUN.

    Что касается вывода на экран, то тут особых хитростей нету, но надо использовать или системные вызовы или работать с регистрами, но не смешивать или смешивать, но аккуратно: следует помнить, что между вызовом .TTYOUT или .PRINT и реальным появлением символов на экране есть существенная разница

    ---------- Post added at 18:05 ---------- Previous post was at 18:05 ----------

    Цитата Сообщение от Titus Посмотреть сообщение
    Вообще-то я про асм) Я на фортране не программирую)

    ---------- Post added at 15:00 ---------- Previous post was at 14:56 ----------


    К сожалению не прокатило. MACRO на нее ругается.
    Как конкретно писалось? Какая версия системы?
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  6. #5

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,374
    Спасибо Благодарностей отдано 
    1,695
    Спасибо Благодарностей получено 
    2,214
    Поблагодарили
    868 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Ну а в асме еще проще - убирается фортран, остальное используется локально. Только в принципе стоит сначала решить стоит ли вообще связываться с железом напрямую
    Иногда это оправдано, иногда просто делает программу менее универсальной.
    Мне обязательно надо с железом)
    Я думал, что без перехватчика клавиатуры можно установить какую-либо функцию, которая запускается по Ctrl-C перед прерыванием пользовательской программы.
    Суть проста, я в программе временно меняю вектора прерываний 4 и 10 на свои собственные. Но пользователь может нажать в середине программы Ctrl-C, и произойдет выход в систему. При этом надо восстановить обратно системные вектора 4 и 10.

  7. #6

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,374
    Спасибо Благодарностей отдано 
    1,695
    Спасибо Благодарностей получено 
    2,214
    Поблагодарили
    868 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Как конкретно писалось? Какая версия системы?
    Обычный MACRO, который кто-то тут на форуме размещал. Да он, впрочем, на каждой системной дискетке УКНЦ есть.

  8. #7

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Обычный MACRO, который кто-то тут на форуме размещал. Да он, впрочем, на каждой системной дискетке УКНЦ есть.
    На УКНЦ обычно всякие фодосы, они от версии 5 происходят, так, что даже если там старый компилятор - легко подкладываться должен новый

    Версия проверяется так:

    Код:
    .R MACRO
    * (нажимается CR [ВК по русски])
    MACRO V05.06
    *^C


    ---------- Post added at 18:19 ---------- Previous post was at 18:18 ----------

    Ну или можно просто взять RT-11 V5.7 и запользовать на УК-НЦ - я где-то тут даже выкладывал образ.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  9. #8

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,374
    Спасибо Благодарностей отдано 
    1,695
    Спасибо Благодарностей получено 
    2,214
    Поблагодарили
    868 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Код:
    .R MACRO
    * (нажимается CR [ВК по русски])
    MACRO V05.06
    *^C


    ---------- Post added at 18:19 ---------- Previous post was at 18:18 ----------

    Ну или можно просто взять RT-11 V5.7 и запользовать на УК-НЦ - я где-то тут даже выкладывал образ.
    У меня MACRO при запуске без аргументов выводит надпись Files? и если нажимать ввод, просто повторяет ее. Словом, версию не показывает.

  10. #9

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Собственно посмотрел насчет ^X - действительно, в RT-11 V4 и старее не работает, но возникает вопрос, а зачем вообще использовать RT-11 V4?

    ---------- Post added at 18:12 ---------- Previous post was at 18:11 ----------

    Цитата Сообщение от Titus Посмотреть сообщение
    Я думал, что без перехватчика клавиатуры можно установить какую-либо функцию, которая запускается по Ctrl-C перед прерыванием пользовательской программы.
    Да, можно.
    Только не перед прерыванием, а в принципе, а уж программа сама решает что с этим делать.
    .SCCA называется - в описании макробиблиотеки есть.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  11. #10

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,805
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    147
    Поблагодарили
    78 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Собственно посмотрел насчет ^X - действительно, в RT-11 V4 и старее не работает, но возникает вопрос, а зачем вообще использовать RT-11 V4?
    Старый вариант компилятора MACRO.SAV не ругается на русские буквы.

    Но у меня он уже начал вылетать, если при запуске установлена актуальная системная дата.

    Поэтому, похоже - проще "вылечить русскобоязнь" у компилятора из RT-11 v5.7, нежели доводить до ума старую версию.

Страница 5 из 122 ПерваяПервая 123456789 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Программирование на Эмуляторе. Возможно ли это?
    от Toxic в разделе Программирование
    Ответов: 10
    Последнее: 20.01.2008, 19:20
  2. Программирование Altera и JTAG
    от Mikka_A в разделе Несортированное железо
    Ответов: 7
    Последнее: 18.01.2008, 09:07
  3. Программирование и софтмейк на NES
    от Splinter в разделе Nintendo
    Ответов: 7
    Последнее: 30.06.2006, 04:31

Ваши права

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