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

User Tag List

Страница 94 из 227 ПерваяПервая ... 909192939495969798 ... ПоследняяПоследняя
Показано с 931 по 940 из 2264

Тема: Особенности процессоров и устройств архитектуры PDP-11. Тесты. Диагностика.

  1. #931

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

    По умолчанию

    Цитата Сообщение от MiX Посмотреть сообщение
    form, Что может в эмуляторе ломаться. А насчет черезмерной загрузки процессора и не закрытия процесса после выхода я думаю стоит написать.
    Насчет загрузки-незакрытия написано, но проблема в том, что он пишет на ассемблере и под виндовс - вслепую

    Там и под линух хватает косяков - в частности бинарь получается не линуховый в полном смысле слова, а только принимаемый линухом как таковой... Написано, признано хорошей идеей сделать правильно, но.... ждем - уже версии 3-4... А пока ни одна система с эмуляцией линуха просто не признает бинарь линуховым
    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. #931
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #932

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

    По умолчанию RORB

    Написал простенький тест команды RORB:

    Скрытый текст

    Код:
            .TITLE  RORB -- RORB TEST
            .IDENT  /V01.00/
    
            .MCALL  DIR$,EXIT$S,QIOW$,SVTK$S
    
    QIOW:   QIOW$   IO.WVB,5,1,,,,<TEXT,TEXTL,40>
    SSTV:   .WORD   0,0,V.BPT 
    SSTL    =       <.-SSTV>/2
    
    START:: SVTK$S  #SSTV,#SSTL             ;SET SST VECTOR   
            CLR     R0                      ;SET INITIAL VALUE
            MOV     #18.,R3                 ;SET SHIFT COUNT
            SEC                             ;SET CARRY   
            BPT                             ;PRINT VALUES
    10$:    RORB    R0                      ;ROTATE RIGHT
            BPT                             ;PRINT VALUE
            SOB     R3,10$                  ;LOOP
            EXIT$S
    
    V.BPT:  MOV     R0,-(SP)                ;SAVE R0
            MOV     R0,R1                   ;SET R0 VALUE
            MOV     #VR0,R0                 ;SET BUFFER ADDRESS
            MOV     PC,R2                   ;SET LEADING ZEROS FLAG
            CALL    $CBOMG                  ;CONVERT TO ASCII
            MOV     #VPS,R0                 ;SET BUFFER ADDRESS
            MOV     4(SP),R1                ;SET PS VALUE
            MOV     PC,R2                   ;SET LEADING ZEROS FLAG
            CALL    $CBOMG                  ;CONVERT TO ASCII
            MOV     (SP)+,R0                ;RESTORE R0
            DIR$    #QIOW                   ;PRINT TO TERMINAL
            RTI
    
    TEXT:   .ASCII  /R0=/
    VR0:    .ASCII  /XXXXXX, PS=/
    VPS:    .ASCII  /XXXXXX/
    TEXTL   =       .-TEXT  
    
            .END    START
    [свернуть]

    Результат под E11:
    Код:
    >RUN RORB
    R0=000000, PS=170001
    R0=000200, PS=170010
    R0=000100, PS=170000
    R0=000040, PS=170000
    R0=000020, PS=170000
    R0=000010, PS=170000
    R0=000004, PS=170000
    R0=000002, PS=170000
    R0=000001, PS=170000
    R0=000000, PS=170007
    R0=000200, PS=170010
    R0=000100, PS=170000
    R0=000040, PS=170000
    R0=000020, PS=170000
    R0=000010, PS=170000
    R0=000004, PS=170000
    R0=000002, PS=170000
    R0=000001, PS=170000
    R0=000000, PS=170007
    >
    Результат под SimH:
    Код:
    >RUN RORB
    R0=000000, PS=170001
    R0=000200, PS=170012
    R0=000100, PS=170000
    R0=000040, PS=170000
    R0=000020, PS=170000
    R0=000010, PS=170000
    R0=000004, PS=170000
    R0=000002, PS=170000
    R0=000001, PS=170000
    R0=000000, PS=170007
    R0=000200, PS=170012
    R0=000100, PS=170000
    R0=000040, PS=170000
    R0=000020, PS=170000
    R0=000010, PS=170000
    R0=000004, PS=170000
    R0=000002, PS=170000
    R0=000001, PS=170000
    R0=000000, PS=170007
    >
    Из теста видно, что когда вдвигается старший бит в SimH устанавливается флаг переполнения, в E11 этого не выполняется. Для команды ROR флаг выставляется и там и там.

    ---------- Post added at 12:42 ---------- Previous post was at 12:09 ----------

    А на MIM все правильно выполняется:
    Код:
    >RUN RORB
    R0=000000, PS=170001
    R0=000200, PS=170012
    R0=000100, PS=170000
    R0=000040, PS=170000
    R0=000020, PS=170000
    R0=000010, PS=170000
    R0=000004, PS=170000
    R0=000002, PS=170000
    R0=000001, PS=170000
    R0=000000, PS=170007
    R0=000200, PS=170012
    R0=000100, PS=170000
    R0=000040, PS=170000
    R0=000020, PS=170000
    R0=000010, PS=170000
    R0=000004, PS=170000
    R0=000002, PS=170000
    R0=000001, PS=170000
    R0=000000, PS=170007
    >
    там коммерческий вариант старой версии какой-то вроде
    Последний раз редактировалось form; 27.10.2014 в 09:26.
    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. #933

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Написал простенький тест команды RORB
    Пока я собирался с духом, чтобы начать писать "универсальный тест RORB" - эта необходимость благополучно отпала.

    Следующий глюк E11 - в команде ASH :

    Код:
            Команды сдвига (частичный тест):
            ASH (test 1)            - OK
            ASH (test 2)            - ERROR: 0xB7C3 / 0xB7BB
            ASHC (even)             - OK
            ASHC (odd)              - OK

  5. #934

    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,072
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    81
    Поблагодарили
    65 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    ждем - уже версии 3-4...
    Это как понять?, на сайте последняя версия 7.1

  6. #935

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

    По умолчанию

    Цитата Сообщение от MiX Посмотреть сообщение
    Это как понять?, на сайте последняя версия 7.1
    Это понять так, что когда я про это писал была еще версия 5.0 максимум
    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

  7. #936

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

    По умолчанию TSTVM2 v0.2a

    Обновил версию теста до 0.2а

    1. Теперь тестирование несуществующих команд пишет информацию о том, какое исключение они вызвали (TRAP 4 или 10), и софтварное тестирование не производится.

    2. Отменил отключение клавиатуры. Теперь на ДВК работает без глюков, но мне это не нравится, т.к. если человек нажмет CTRL+C, то останутся неправильные вектора 4 и 10.

    TSTVM2 v0.2a

  8. #937

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    если человек нажмет CTRL+C, то останутся неправильные вектора 4 и 10.
    А кто мешает перехватывать CTRL/C, проверять статус нажатия его и отрабатывать в программе?
    Тем более что отключение клавиатуры вообще понятие растяжимое

    ---------- Post added at 18:08 ---------- Previous post was at 18:06 ----------

    ...или вообще не перехватывать вестора 4/10, а использовать вызов .TRPSET
    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. #938

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    А кто мешает перехватывать CTRL/C, проверять статус нажатия его и отрабатывать в программе?
    Тем более что отключение клавиатуры вообще понятие растяжимое
    Я не ПДП-шник, вашей системы не знаю) Только самые основы, чтобы программы писать)

  10. #939

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Я не ПДП-шник, вашей системы не знаю) Только самые основы, чтобы программы писать)
    Код:
    	.TRPSET	#AREA,#SSTISR
    	.SCCA	#AREA,#FLAG
    Первый вызов устанавливает обработчик прерываний 4/10 (одноразовый ! - для повтора надо снова вызвать .TRPSET). При входе в SSTISR если бит C установлен - это 10. Второй блокирует двойной CTRL/C, статус проверяется по адресу FLAG - если не 0 - было нажато. AREA и там и там двухсловный блок.
    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. #940

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Код:
    	.TRPSET	#AREA,#SST
    	.SCCA	#AREA,#FLAG
    Первый вызов устанавливает обработчик прерываний 4/10 (одноразовый ! - для повтора надо снова вызвать .TRPSET). При входе если бит C установлен - это 10. Второй блокирует двойной CTRL/C, статус проверяется по адресу FLAG - если не 0 - было нажато. AREA и там и там двухсловный блок.
    Отчасти это для меня филькина грамота)

    Почему нельзя самому менять вектора, а надо использовать TRPSET?
    Что такое двойной CTRL+C?
    Как отменить любое пользовательское прерывание программы, и как разрешить?
    Как сделать так, чтобы при прерывании пользователем, вызывалась какая-либо моя функция, которая восстановит вектора?

Страница 94 из 227 ПерваяПервая ... 909192939495969798 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Тесты ВМ1
    от nzeemin в разделе БК-0010/0011
    Ответов: 90
    Последнее: 05.10.2018, 12:24
  2. Диагностика
    от dk_spb в разделе Корвет
    Ответов: 31
    Последнее: 21.07.2017, 23:52
  3. Проблема двух процессоров.
    от Mikka_A в разделе Несортированное железо
    Ответов: 21
    Последнее: 28.11.2006, 17:04

Ваши права

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