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

User Tag List

Страница 15 из 35 ПерваяПервая ... 111213141516171819 ... ПоследняяПоследняя
Показано с 141 по 150 из 342

Тема: PASCAL + MACRO11 (УКНЦ-ДВК).

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

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    Код:
    . 2$:    MOVB    R0, 2(SP)
    Ну так и есть собственно
    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. #142
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Поставю @ впереди
    Так и есть, сработало. То есть - я нигде и не утверждал что всю это регистровую
    математику понимаю, если речь идёт об адресе нужно ставить "косвенно".
    Вот я читал мат. часть честно, но на слове вектор всегда засыпаю )))
    Косвенно-непосредственно наше всё !!! )))

    Код:
      16                            .TTYIN
      17                      2$:   MOVB    R0, @KEYCODE(SP)
      18                      */
      19     1     2     1    END;
      20
      21                       BEGIN
      22     1     1     1         WRITELN(CHR(14),'navmite l`bu` klawi{u',CHR(15));
      23     2     1     1         KEYPRESS(RP);
      24     3     1     1         WRITELN('uh ty!!!');
      25     4     1     1         KEYPRESS(RP);
      26     5     1     1         WRITELN('BYE',RP);
      27     6     1     1     END.
    
    ERRORS DETECTED:  0
    FREE MEMORY:  9615  WORDS
    
    ERRORS DETECTED:  0
    FREE MEMORY:  9615  WORDS
    
    НАЖМИТЕ ЛЮБУЮ КЛАВИШУ
    uh ty!!!
    BYE           32
    
    .
    Ну да я пробел нажал? Он самый удобный )
    Архив программ для УК-НЦ, ДВК и БК.

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

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

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    Ну да я пробел нажал? Он самый удобный )
    Еще предположение: если сделать FUNCTION :INTEGER, то никаких MOV не нужно будет - код будет возвращаться как значение функции
    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. #144
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Еще предположение: если сделать FUNCTION :INTEGER
    Получается как-то вот так:
    Код:
    .@MTFQ
    
    
    TFQQQ1               OMSI PASCAL-1  RT11 V1.1G 19-   -82        Page 1
    Univ. Tasmania, Info. Sciences, Physics Bldg, Hobart 7001, site #72-12
    
    LINE  STMT LEVEL  NEST   SOURCE STATEMENT
    
       1                     PROGRAM TFQQQ1;
       2                     /*$C   .MCALL  .TTYIN
       3                     */
       4                     VAR
       5                            RP: INTEGER;
       6
       7                       FUNCTION KEYPRESS: INTEGER;
       8                       VAR  KEYCODE: INTEGER;
       9                         BEGIN
      10                      /*$C  BIS     #^O10000,@#^O44
      11                            .TTYIN
      12                            CMPB    R0,#27.
      13                            BNE     1$
      14                            .TTYIN
      15                      1$:   CMPB    R0,#13.
      16                            BNE     2$
      17                            .TTYIN
      18                      2$:   MOVB    R0, KEYCODE(SP)
      19                      */
      20     1     2     1          KEYPRESS:=KEYCODE;
      21     2     2     1    END;
      22
      23                       BEGIN
      24     1     1     1         WRITELN(CHR(14),'navmite l`bu` klawi{u',CHR(15));
      25     2     1     1         RP:=KEYPRESS;
      26     3     1     1         WRITELN('uh ty!!!');
      27     4     1     1         RP:=KEYPRESS;
      28     5     1     1         WRITELN('BYE',RP);
      29     6     1     1     END.
    
    ERRORS DETECTED:  0
    FREE MEMORY:  9625  WORDS
    
    ERRORS DETECTED:  0
    FREE MEMORY:  9625  WORDS
    
    НАЖМИТЕ ЛЮБУЮ КЛАВИШУ
    uh ty!!!
    BYE           32
    
    .
    @ - не понадобился, но в ассемблерном листинге
    "проблемная" команда выглядит так

    Код:
    .PASDWK TFQQQ1=TFQQQ1
    
    ERRORS DETECTED:  0
    FREE MEMORY: 10111  WORDS
    
    
    .TY TFQQQ1.MAC
            .MCALL  .TTYIN
    
            .GLOBL  $RESR6,$RESR5,$KORE,$SAV10,$VER
            .GLOBL  $BEGIN,FILE,$TTY,$END
            .RADIX  10
    L0:
            CLR     -(6)
            JSR     %0,$B74
            .GLOBL  $B74
            BIS     #^O10000,@#^O44
            .TTYIN
            CMPB    R0,#27.
            BNE     1$
            .TTYIN
     1$:    CMPB    R0,#13.
            BNE     2$
            .TTYIN
     2$:    MOVB    R0, 10(SP)
    
            MOV     10(6),14(6)
            JSR     %0,$B76
            .GLOBL  $B76
            ADD     #2,%6
            RTS     %7
            $VER=59.
    $BEGIN:
            ADD     #2,$KORE
            JSR     %7,$B127
            .GLOBL  $B127
            MOV     #14,-(6)
            CLR     -(6)
            JSR     %7,$B20
            .GLOBL  $B20
            MOV             #L1,-(6)
            MOV     #21,-(6)
            CLR     -(6)
            JSR     %7,$B32
            .GLOBL  $B32
            MOV     #15,-(6)
            CLR     -(6)
            JSR     %7,$B20
            JSR     %7,$B36
            .GLOBL  $B36
            CLR     -(6)
            JSR     %7,L0
    
            MOV     (6)+,%0
            MOV     %0,@%5
            MOV             #L2,-(6)
            MOV     #8,-(6)
            CLR     -(6)
            JSR     %7,$B32
            JSR     %7,$B36
            CLR     -(6)
            JSR     %7,L0
    
            MOV     (6)+,%0
            MOV     %0,@%5
            MOV             #L3,-(6)
            MOV     #3,-(6)
            CLR     -(6)
            JSR     %7,$B32
            MOV     @%5,-(6)
            CLR     -(6)
            JSR     %7,$B24
            .GLOBL  $B24
            JSR     %7,$B36
            JMP     $END
    L1:     .WORD   24942
            .WORD   28022
            .WORD   29801
            .WORD   8293
            .WORD   24684
            .WORD   30050
            .WORD   8288
            .WORD   27755
            .WORD   30561
            .WORD   31593
            .WORD   117
    L2:     .WORD   26741
            .WORD   29728
            .WORD   8569
            .WORD   8481
            .WORD   0
    L3:     .WORD   22850
            .WORD   69
            .END
    
    .
    ??? - вопрос не программиста (озвучивать не надо я думаю)
    Архив программ для УК-НЦ, ДВК и БК.

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

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

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    Получается как-то вот так:
    Код:
      18                      2$:   MOVB    R0, KEYCODE(SP)
      19                      */
      20     1     2     1          KEYPRESS:=KEYCODE;
    Не, по идее R0 это и есть то что возвращается и специально с ним ничего не надо делать. Только предположение - как тут не знаю, в BP знаю через AX возврат был
    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. #146
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А как же без MOV - откуда функция вдруг сама себе содержимое регистра присвоит?

    ---------- Post added at 17:17 ---------- Previous post was at 17:13 ----------

    Нет содержимое R0 надо присваивать ручками )))
    http://zx-pk.ru/showpost.php?p=763195&postcount=144
    Иначе опять нули нули нули )))

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

    Вот почему там без @ сработало??? (в случае функции)
    Ведь это математика - тут четкий закон работать должен, разве нет?
    Архив программ для УК-НЦ, ДВК и БК.

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

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

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    Нет содержимое R0 надо присваивать ручками
    Не увидел этого.
    Нужен результат ассемблерный. Наиболее вероятно все-таки передача осуществляется через R0.
    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. #148
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Не увидел этого.
    http://zx-pk.ru/showpost.php?p=763195&postcount=144
    тут присваиваем ручками там есть и ассемблерный листинг


    Цитата Сообщение от form Посмотреть сообщение
    Нужен результат ассемблерный.
    без MOV? тупо без MOV? я попробую конечно ))) Как то так?

    Код:
    PROGRAM TFQQQ1;
    /*$C    .MCALL  .TTYIN
    */
    VAR
            RP: INTEGER;
    
      FUNCTION KEYPRESS: INTEGER;
      BEGIN
     /*$C   BIS     #^O10000,@#^O44
            .TTYIN
            CMPB    R0,#27.
            BNE     1$
            .TTYIN
     1$:    CMPB    R0,#13.
            BNE     2$
            .TTYIN
     2$:
     */
     END;
    
      BEGIN
          WRITELN(CHR(14),'navmite l`bu` klawi{u',CHR(15));
          RP:=KEYPRESS;
     Exit? Y
    
    .PASDWK TFQQQ1=TFQQQ1
    
    ERRORS DETECTED:  0
    FREE MEMORY: 10111  WORDS
    
    
    .MAC TFQQQ1
    
    .LIN TFQQQ1,PASDWK
    
    .TFQQQ1
    НАЖМИТЕ ЛЮБУЮ КЛАВИШУ
    uh ty!!!
    BYE            0
    
    .TY TFQQQ1.MAC
            .MCALL  .TTYIN
    
            .GLOBL  $RESR6,$RESR5,$KORE,$SAV10,$VER
            .GLOBL  $BEGIN,FILE,$TTY,$END
            .RADIX  10
    L0:
            JSR     %0,$B74
            .GLOBL  $B74
            BIS     #^O10000,@#^O44
            .TTYIN
            CMPB    R0,#27.
            BNE     1$
            .TTYIN
     1$:    CMPB    R0,#13.
            BNE     2$
            .TTYIN
     2$:
    
            JSR     %0,$B76
            .GLOBL  $B76
            RTS     %7
            $VER=59.
    $BEGIN:
            ADD     #2,$KORE
            JSR     %7,$B127
            .GLOBL  $B127
            MOV     #14,-(6)
            CLR     -(6)
            JSR     %7,$B20
            .GLOBL  $B20
            MOV             #L1,-(6)
            MOV     #21,-(6)
            CLR     -(6)
            JSR     %7,$B32
            .GLOBL  $B32
            MOV     #15,-(6)
            CLR     -(6)
            JSR     %7,$B20
            JSR     %7,$B36
            .GLOBL  $B36
            CLR     -(6)
            JSR     %7,L0
    
            MOV     (6)+,%0
            MOV     %0,@%5
            MOV             #L2,-(6)
            MOV     #8,-(6)
            CLR     -(6)
            JSR     %7,$B32
            JSR     %7,$B36
            CLR     -(6)
            JSR     %7,L0
    
            MOV     (6)+,%0
            MOV     %0,@%5
            MOV             #L3,-(6)
            MOV     #3,-(6)
            CLR     -(6)
            JSR     %7,$B32
            MOV     @%5,-(6)
            CLR     -(6)
            JSR     %7,$B24
            .GLOBL  $B24
            JSR     %7,$B36
            JMP     $END
    L1:     .WORD   24942
            .WORD   28022
            .WORD   29801
            .WORD   8293
            .WORD   24684
            .WORD   30050
            .WORD   8288
            .WORD   27755
            .WORD   30561
            .WORD   31593
            .WORD   117
    L2:     .WORD   26741
            .WORD   29728
            .WORD   8569
            .WORD   8481
            .WORD   0
    L3:     .WORD   22850
            .WORD   69
            .END
    
    .


    ---------- Post added at 18:01 ---------- Previous post was at 17:38 ----------

    В любом случае имеем практически идеальную процедуру=функцию для опроса клавиатуры на паскале с ожиданием нажатия клавиши!!! Ура! (оба листинга смотрите выше!). И это только один из вариантов, который в теории должен работать под RT-11 везде(!), ещё вариант Patrona с третьей переменной и использование библиотеки фортрана никто не отменял )))
    Архив программ для УК-НЦ, ДВК и БК.

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

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

    Talking

    На глазок подогнал секунду = 30000 прогонам цикла i:=i-1;
    Значение подобрано из исходников игры SUPRIS, под скорость эмуляции
    ВМ2 в UKNCBTL. В новом эмуляторе ДВК задержку надо незначительно увеличивать.

    Код:
    PROGRAM HWCODE;
    VAR 	IT: INTEGER;
    
    PROCEDURE AT(CURX,CURY:INTEGER);
    BEGIN
    	WRITE(CHR(27),'Y',CHR(32+CURY),CHR(32+CURX));
    END;
    
    PROCEDURE SECUNDER(IT:INTEGER);
    VAR	KW:INTEGER;
    BEGIN
    IF IT>0 THEN BEGIN
    	FOR KW:=0 TO 30000 DO;
    	IT:=IT-1;
    	END;
    END;
    
    PROCEDURE CLS;
    BEGIN
    WRITE(CHR(27),'H',CHR(27),'J');
    END;
    
    BEGIN
    IT:=10;
    CLS;
    REPEAT
    AT(15,10);WRITE('Время до выхода в ОС: ',IT:2,' SEC.');
    SECUNDER(1);
    IT:=IT-1;
    UNTIL IT=0;
    END.

    UKNCBTL



    [свернуть]


    Эмулятор ДВК.



    [свернуть]


    Архив программ для УК-НЦ, ДВК и БК.

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

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

    По умолчанию

    Система GRAY с графическими процедурами для линий\окруж. и шрифтов
    (строго для УК-НЦ), которую я тут вкратце описывал http://zx-pk.ru/showpost.php?p=721122&postcount=135 доступна на дискетах Сергея Фоменко и является его авторской разработкой (там и описание авторское есть к ней)
    http://archive.pdp-11.org.ru/ukdwk_a...Pcorp_Fomenko/
    Архив программ для УК-НЦ, ДВК и БК.

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

Страница 15 из 35 ПерваяПервая ... 111213141516171819 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. "Исходники" Turbo Pascal нужны кому ?
    от esl в разделе Программирование
    Ответов: 2
    Последнее: 19.10.2018, 11:33
  2. Продам МС5310 блок дисководов к УКНЦ+КМД УКНЦ
    от Mad Killer/PG в разделе Барахолка (архив)
    Ответов: 7
    Последнее: 19.03.2012, 11:27
  3. в розыске дисковая версия Pascal.
    от goblinish в разделе Программирование
    Ответов: 18
    Последнее: 16.08.2011, 16:30
  4. Pascal
    от Andrew771 в разделе Программирование
    Ответов: 22
    Последнее: 24.05.2011, 21:20
  5. Скопировать/вставить из/в HiSoft Pascal в эмуляторе
    от kit в разделе Программирование
    Ответов: 1
    Последнее: 05.02.2010, 15:35

Метки этой темы

Ваши права

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