User Tag List

Показано с 1 по 10 из 211

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

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

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

    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    374
    Поблагодарили
    311 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    Smile

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    hobot, это значит
    Олег, да не программер я ! Я не знаю что такое "код возврата". )
    Вот ты бы почитал SYSMAC.HLP раз собрался что то ваять под RT-11 ведь
    от штатных директив и запросов всё равно не денешься )))

    Ты просил минимальную, на макро-11 и что бы просто выходила в систему, я ей в первой же строке написал "конец" без указания стартовой метки, не уверен что во всех вариантах монитора она заработает, может под каким нибудь вариантом трапниться, но под SJ работает так как я описал.

    Выход в систему осуществляется грамотно наверное вот так:

    Код:
     5.3.12. .EXIT
            ЗАПРОС .EXIT ВЫЗЫВАЕТ ОКОНЧАНИЕ  ВЫПОЛНЕНИЯ  ПРОГРАММЫ
       ПОЛЬЗОВАТЕЛЯ И ПЕРЕДАЕТ УПРАВЛЕНИЕ KMON.
            ПЕРЕД ВЫХОДОМ ИЗ ПРОГРАММЫ ВЫПОЛНЕНИЕ  ВСЕХ  ИНИЦИИРО-
       ВАННЫХ ОПЕРАЦИЙ ВВОДА-ВЫВОДА И /ИЛИ ПОДПРОГРАММ  ЗАВЕРШЕНИЯ
       БУДЕТ ЗАКОНЧЕНО. ВСЕ НЕВЫПОЛНЕННЫЕ ЗАПРОСЫ  .MRKT  И  .CMKT
       БУДУТ АННУЛИРОВАНЫ.
            ЕСЛИ ЧАСТЬ ФОНОВОЙ ПРОГРАММЫ ЗАНИМАЕТ  ОБЛАСТЬ  ПАМЯТИ
       KMON И USR, ТО ОНА БУДЕТ ЗАПИСАНА В  БЛОКИ  ДЛЯ  ВРЕМЕННОГО
       ХРАНЕНИЯ ДАННЫХ НА СИСТЕМНОЕ УСТРОЙСТВО  (ЕСЛИ  РАНЕЕ  БЫЛА
       ВЫПОЛНЕНА КОМАНДА SET EXIT SWAP). ПОСЛЕ ЭТОГО  KMON  И  USR
       ЗАГРУЖАЮТСЯ В ПАМЯТЬ И УПРАВЛЕНИЕ ПЕРЕДАЕТСЯ  КЛАВИАТУРНОМУ
       МОНИТОРУ. ЕСЛИ БЫЛА ВЫПОЛНЕНА КОМАНДА SET EXIT  NOSWAP,  ТО
       ПРОГРАММА ПОЛЬЗОВАТЕЛЯ ПРОСТО ПЕРЕЗАПИСЫВАЕТСЯ.
            ЕСЛИ R0 = 0 ВО ВРЕМЯ ВЫПОЛНЕНИЯ .EXIT, ТО  ВЫПОЛНЯЕТСЯ
       ОПЕРАЦИЯ  АНАЛОГИЧНАЯ  .HRESET,   ЗАПРЕЩАЮЩАЯ   ПОСЛЕДУЮЩЕЕ
       ВЫПОЛНЕНИЕ КОМАНД REENTER, START ИЛИ CLOSE.
            ЗАПРОС .EXIT ПОЗВОЛЯЕТ ПРОГРАММЕ ПЕРЕДАТЬ КОМАНДЫ КЛА-
       ВИАТУРНОМУ МОНИТОРУ, ИСПОЛЬЗУЯ ЯЧЕЙКИ 500-777, ДЛЯ ИХ  ПОС-
       ЛЕДУЮЩЕГО ВЫПОЛНЕНИЯ. ДЛЯ ЭТОГО НЕОБХОДИМО:
            1) ЯЧЕЙКА 510 ДОЛЖНА СОДЕРЖАТЬ ОБЩЕЕ КОЛИЧЕСТВО БАЙТОВ
       В КОМАНДЕ, КОТОРАЯ БУДЕТ ПЕРЕДАНА KMON;
            2) КОМАНДЫ ЗАПИСЫВАЮТСЯ, НАЧИНАЯ С ЯЧЕЙКИ 512;  СТРОКА
       ДОЛЖНА БЫТЬ ЗАПИСАНА В СИМВОЛАХ КОИ-7 И НЕ ДОЛЖНА СОДЕРЖАТЬ
       ВК ИЛИ ПС ; НАПРИМЕР:
          .=510
          .WORD B-A
      A:  .ASCIZ /COPY A.MAC W.MAC/
          .ASCIZ /DELETE A.MAC/
      B=  .
            3) ПРОГРАММА ПОЛЬЗОВАТЕЛЯ ДОЛЖНА УСТАНОВИТЬ 5  ИЛИ  11
       РАЗРЯД В ССЗ ПЕРЕД ВЫПОЛНЕНИЕМ .EXIT; СОДЕРЖИМОЕ R0  ДОЛЖНО
       БЫТЬ НУЛЕВЫМ.
            КОГДА ЗАПРОС .EXIT ИСПОЛЬЗУЕТСЯ  ДЛЯ  ПЕРЕДАЧИ  КОМАНД
       НЕОБХОДИМО УЧИТЫВАТЬ СЛЕДУЮЩЕЕ:
            1) ЕСЛИ ЭТО СВОЙСТВО ИСПОЛЬЗУЕТСЯ ПРОГРАММОЙ,  КОТОРАЯ
       ВЫЗЫВАЕТСЯ С ПОМОЩЬЮ КОСВЕННОГО ФАЙЛА, ТО ВСЕ КОМАНДЫ  СЛЕ-
       ДУЮЩИЕ В КОСВЕННОМ ФАЙЛЕ  ЗА  КОМАНДОЙ,  ИНИЦИИРУЮЩЕЙ  ПУСК
       ЭТОЙ ПРОГРАММЫ, ВЫПОЛНЯТЬСЯ НЕ БУДУТ;
            2) КОСВЕННЫЙ ФАЙЛ МОЖЕТ  БЫТЬ  ВЫЗВАН,  ИСПОЛЬЗУЯ  ЭТО
       СВОЙСТВО, ТОЛЬКО В ТОМ СЛУЧАЕ ЕСЛИ ПЕРЕДАВАЕМАЯ KMON СТРОКА
       СОДЕРЖИТ ЕДИНСТВЕННУЮ СПЕЦИФИКАЦИЮ ФАЙЛА; ПОПЫТКА  ПЕРЕДАЧИ
       НЕСКОЛЬКИХ КОСВЕННЫХ ФАЙЛОВ ИЛИ КОМБИНАЦИЙ КОСВЕННЫХ ФАЙЛОВ
       С ДРУГИМИ КОМАНДАМИ KMON ПРИВОДИТ К НЕПРАВИЛЬНЫМ  РЕЗУЛЬТА-
       ТАМ;
            3) .EXIT В ПОДПРОГРАММЕ ЗАВЕРШЕНИЯ  НЕДОПУСТИМ.  ЗАМЕ-
       ТИМ, ЧТО ЗАПРОС .EXIT ИЗМЕНЯЕТ ТЕКУЩЕЕ ПОЛОЖЕНИЕ  УКАЗАТЕЛЯ
       СТЕКА.
            ФОРМАТ МАКРОКОМАНДЫ: .EXIT
      ПРИМЕР.
              .TITLE  EXIT.MAC
      ;В ЭТОМ ПРИМЕРЕ, ПОСЛЕ ЗАВЕРШЕНИЯ ПРОГРАММЫ,
      ;КЛАВИАТУРНОМУ МОНИТОРУ ПЕРЕДЕТСЯ КОМАНДНАЯ
      ;СТРОКА НА ПЕЧАТЬ СПРАВОЧНИКА УСТРОЙСТВА DK:
              .MCALL  .EXIT
      CHNIF$  = 4000
      JSW     = 44
     
      START:  MOV     #510,R0
              MOV     #CMDSTR,R1
              MOV     #START,SP
     
      1$:     MOVB    (R1)+,(R0)+
              CMP     R1,#CMDEND
              BLO     1$
              BIS     #CHNIF$,@#JSW ;УСТАНОВИТЬ 11-ЫЙ РАЗРЯД
                                    ;В JSW
              CLR     R0            ;В R0 ДОЛЖЕН БЫТЬ 0
              .EXIT
     
      CMDSTR: .WORD   CMDEND-CMDSTR ;ДЛИНА КОМАНДНОЙ СТРОКИ
              .ASCIZ  "DIRECT/FULL *.MAC" ;КОМАНДНАЯ СТРОКА
      CMDEND:
              .EVEN
              .END    START
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

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

  3. #2

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,719
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    Олег, да не программер я ! Я не знаю что такое "код возврата". )
    Та ладно, а я не знаю что такое KMON. Я думал, нужно в RT-11 выходить. Ну, командные файлы в RT-11 есть? По типу батников. В винде, например, можно делать вот так:
    Код:
    gcc program.c
    if errorlevel 1 echo есть ошибка!
    Здесь gcc возвращает системе какой-нить код возврата, свидетельствующий о том успешно ли отработала программа. Если да, то код обычно 0, а если нет, то другой. А ОС потом может проанализировать и, если нужно, отреагировать.

    Ладно, я смотрю, для меня это всё слишком сложно. KMON, USR, невыполненные запросы, фоновые программы, .MRKT и .CMKT

    Просто всю эту муть можно упрятать внутри реализации, а наружу выдвинуть что-то такое:

    Код:
    DEFINITION RT11;
    
    PROCEDURE Exit (code: INTEGER);
    
    END RT11.
    Но писать реализацию в контексте сказанного я бы уже поостерёгся. Мда, Спектрум сильно проще, оказывается.

    Цитата Сообщение от hobot Посмотреть сообщение
    Олег - не надо там ничего нет внутри кроме макро-команды "конец" )))
    А видишь ли, такая макро-команда превращается в реальные машинные команды, циферки, может даже не одну.

    Ладно, посмотрим что Vslav наваяет, а то руки совсем опускаются.

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

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

Эту тему просматривают: 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

Ваши права

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