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

User Tag List

Страница 84 из 156 ПерваяПервая ... 808182838485868788 ... ПоследняяПоследняя
Показано с 831 по 840 из 1552

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

  1. #831
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gfd71 Посмотреть сообщение
    шаблончик
    Код:
            .TITLE  TEST
            .MCALL  .EXIT,.PRINT
    
    START:: MOV     #DATA,R5
            CALL    PRDAT
            .EXIT
    
    PRDAT:: CALL    @PC                     ;PROPAGATE CODE TWO TIMES
            MOV     #BUFF,R0                ;BUFFER ADDRESS
            MOV     @R5,R1                  ;VALUE
            MOV     #16.,R2                 ;BIT COUNT
    10$:    CLR     -(SP)                   ;INIT CHAR
            ROL     R1                      ;SHIFT OUT
            ROL     @SP                     ;SHIFT IN
            BIS     #'0,@SP                 ;CONVERT TO ASCII
            MOVB    (SP)+,(R0)+             ;PUT INTO BUFFER
            SOB     R2,10$                  ;TO NEXT BIT
            MOVB    #<' >,(R0)+             ;SPACE
            MOV     (R5)+,R1                ;VALUE
            CLR     R2                      ;SUPPRESS LEADING ZEROS
            CALL    $CBOMG                  ;CONVERT TO ASCII
            CLRB    @R0                     ;MAKE ASCIZ
            .PRINT  #BUFF                   ;PRINT
            RETURN                          ;RETURN
    
    DATA:   .WORD   64152,164377
    BUFF:   .BLKB   80.
    
            .END    START
    Код:
    .EX TEST
    0110100001101010 64152
    1110100011111111 164377
    
    .
    Подпрограмма $CBOMG есть в родном SYSLIB от RT-11. Если вместо CLR R2 сделать перед вызовом MOV PC,R2, то ведущие нули подавляться не будут.
    Последний раз редактировалось form; 25.09.2017 в 21:28.
    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

  2. #832
    Member
    Регистрация
    14.06.2017
    Адрес
    г. Воронеж
    Сообщений
    187
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    есть в родном SYSLIB от RT-11
    в какой книге они описаны?

  3. #833
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gfd71 Посмотреть сообщение
    в какой книге они описаны?
    В RTшном руководстве по системной библиотеке $CBOMG не описан. Он просто есть как минимум начиная с RT-11 V5.0. Описание есть в RSXовском руководстве по SYSLIB. Для простоты вот хелп по нему - больше по сути и не нужно ничего:
    Код:
    >HELP SYSL CBOMG
     
     Convert binary to octal magnitude
     
     Input:                                 Output:
     
     R0 = Address of output buffer          R0 = Points to next byte in output
                                                 buffer after converted string
     R1 = Binary value to be converted
     R2 = Zero suppression flag:
            R2 = 0 => Suppress leading zeros
            R2 = 1 => Do not suppress leading zeros
     
     Call:
            CALL    $CBOMG
    >
    Здесь написано про R2=0 или 1, но на самом деле 0 и не 0

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

    Если что, я портировал в свое время самые интересные подпрограммы из RSX, в теме софта можно поискать RSXLIB. Там много полезного уже готового

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

    Небольшое упрощение:
    Код:
    PRDAT:: CALL    @PC                     ;PROPAGATE CODE TWO TIMES
            MOV     #BUFF,R0                ;BUFFER ADDRESS
            MOV     @R5,R1                  ;VALUE
            MOV     #16.,R2                 ;BIT COUNT
    10$:    MOVB    #'0,@R0                 ;INIT CHAR
            ROL     R1                      ;GET BIT
            ADCB    (R0)+                   ;CONVERT TO ASCII
            SOB     R2,10$                  ;TO NEXT BIT
            MOVB    #<' >,(R0)+             ;SPACE
            MOV     (R5)+,R1                ;VALUE
            CLR     R2                      ;SUPPRESS LEADING ZEROS
            CALL    $CBOMG                  ;CONVERT TO ASCII
            CLRB    @R0                     ;MAKE ASCIZ
            .PRINT  #BUFF                   ;PRINT
            RETURN                          ;RETURN
    Последний раз редактировалось form; 25.09.2017 в 21:39.
    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. #834
    Member
    Регистрация
    14.06.2017
    Адрес
    г. Воронеж
    Сообщений
    187
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Если что, я портировал в свое время самые интересные подпрограммы из RSX, в теме софта можно поискать RSXLIB. Там много полезного уже готового
    спасибо

  5. #835
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Если что, я портировал в свое время самые интересные подпрограммы из RSX, в теме софта можно поискать RSXLIB. Там много полезного уже готового
    http://archive.pdp-11.org.ru/ukdwk_a.../form_rsxlib2/
    Архив программ для УК-НЦ, ДВК и БК.

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

  6. #836
    Member
    Регистрация
    14.06.2017
    Адрес
    г. Воронеж
    Сообщений
    187
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    осталось найти
    Описание работы с лексическим разбором
    можно найти в
    RSX-11M/M+/MicroRSX/IAS I/O
    Operations Reference Manual.
    и по идее счастье должно наступить

  7. #837
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gfd71 Посмотреть сообщение
    осталось найти
    RSX-11M-PLUS and Micro/RSX I/O Operations Reference Manual
    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

  8. #838
    Member
    Регистрация
    14.06.2017
    Адрес
    г. Воронеж
    Сообщений
    187
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    добрый вечер.
    сегодня разбирался с программой
    Цитата Сообщение от form Посмотреть сообщение
    .TITLE TEST
    вроде всё понятно, но.....
    Цитата Сообщение от form Посмотреть сообщение
    CALL @PC ;PROPAGATE CODE TWO TIMES
    если убрать то выведет одну строку
    а вот добавить третью четвёртую у меня не получилось
    сильно чайника не пинайте ну не понял

  9. #839
    Guru
    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    6,996
    Спасибо Благодарностей отдано 
    285
    Спасибо Благодарностей получено 
    631
    Поблагодарили
    531 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    После строчки CALL @PC ещё строчка CALL @PC

    Только срабатывать будет степень двойки количество раз - 1, 2, 4, 8 и т.д.

    Вроде не ошибся

  10. #840
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gfd71 Посмотреть сообщение
    если убрать то выведет одну строку
    а вот добавить третью четвёртую у меня не получилось
    Если 4 строки, то просто два раза CALL @PC. В любом случае всегда можно убрать его в принципе и в цикле вызывать столько раз сколько адресов нужно
    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

Страница 84 из 156 ПерваяПервая ... 808182838485868788 ... ПоследняяПоследняя

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

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

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

Ваши права

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