User Tag List

Страница 21 из 37 ПерваяПервая ... 171819202122232425 ... ПоследняяПоследняя
Показано с 201 по 210 из 361

Тема: DEC и я

  1. #201

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Первый проход по ПЗУ от KDJ11-B - приведение дизассемблированного текста к виду, позволяющему его оттранслировать и собрать. Более менее разделены код и данные, данные, по возможности, приведены к правильному виду, метки практически все локальные, отслеживание логики и причёска кода - минимальные.

    Обработал на текущий момент 6 страниц из 64. Вроде как набил руку на быстром переводе, думаю, дней за пять (в основном вечерами) первый проход завершу.

  2. #202

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    32 из 64
    Последний раз редактировалось Hunta; 10.10.2020 в 00:49.

  3. #203

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сегодня не сильно много удалось причесать - работа... Думал, сегодня уже половина будет..

  4. #204

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Захотелось мне странного... Хочется - сделаем

    Код:
    KDF11B-BH ROM V1.0
    
     4088KB MEMORY
    9 STEP MEMORY TEST
      STEP 1 2 3 4 5 6 7 8 9
    TOTAL MEMORY ERRORS =     0
    CLOCK ENABLED
    
    Boot Switch (S1) Invalid
    Type ? for HELP
    Enter one of [Boot, Diagnose, Help, List, Map]:BOO DU0
    TRYING UNIT DU0
    
    BOOTING FROM DU0
    RT-11SB  V05.07
    
    .R MSCPCK
    
    .SHO CONF
    
    RT-11SB  V05.07
    Booted from DU0:RT11SB
    
    USR     is set SWAP
    EXIT    is set SWAP
    KMON    is set NOIND
    MODE    is set NOSJ
    TT      is set NOQUIET
    ERROR   is set ERROR
    SL      is set OFF
    EDIT    is set KED
    FORTRAN is set FORTRA
    KMON nesting depth is 3
    
    CLI is set DCL, CCL, UCL, NO UCF
    
    PDP 11/23 PLUS Processor
    4088KB of memory
    FP11 Hardware Floating Point Unit
    Extended Instruction Set (EIS)
    Commercial Instruction Set (CIS)
    Memory Management Unit
    Parity Memory
    60 Hertz System Clock
    
    FPU support
    
    
    .RUN HX7:SPEED3
    
    Тест быстродействия
    
    R1+R0 classic                     560 984 оп./сек
    R1(23456.)+R0(12345.) empty       169 084 оп./сек
    R1(23456.)+R0(12345.)             130 152 оп./сек ->     565 257 оп./сек
    R1+@R0 classic                    312 183 оп./сек
    R1(23456.)+@R0(M-12345.) empty    169 084 оп./сек
    R1(23456.)+@R0(M-12345.)          109 879 оп./сек ->     313 804 оп./сек
    R0*R0 classic                      40 812 оп./сек
    empty 11.*12.                     169 084 оп./сек
    11.*12.                            32 853 оп./сек ->      40 775 оп./сек
    R2/R0 classic                     141 948 оп./сек
    R2-R3(34567.)/R1(321.) empty      130 152 оп./сек
    R2-R3(34567.)/R1(321.)             20 218 оп./сек ->      23 936 оп./сек
    34567.89022+32109.754321 empty     26 485 оп./сек
    34567.89022+32109.754321            9 763 оп./сек ->      15 463 оп./сек
    34567.89022*32109.754321 empty     26 486 оп./сек
    34567.89022*32109.754321            3 595 оп./сек ->       4 159 оп./сек
    34567.89022/32109.754321 empty     26 489 оп./сек
    34567.89022/32109.754321            3 495 оп./сек ->       4 026 оп./сек
    CIS MULPI 1                           422 оп./сек
    CIS MULP  1 empty                  56 582 оп./сек
    CIS MULP  1                           425 оп./сек ->         428 оп./сек
    CIS MULPI 2                         1 982 оп./сек
    CIS MULP  2 empty                  56 072 оп./сек
    CIS MULP  2                         2 025 оп./сек ->       2 100 оп./сек
    CIS ADDNI 1                         3 116 оп./сек
    CIS ADDN  1 empty                  55 520 оп./сек
    CIS ADDN  1                         3 202 оп./сек ->       3 397 оп./сек
    CIS ADDNI 2                         6 451 оп./сек
    CIS ADDN  2 empty                   56 064 оп./сек
    CIS ADDN  2                         6 829 оп./сек ->       7 776 оп./сек
    MOV 8 word 1 empty                112 824 оп./сек
    MOV 8 word 1                       14 287 оп./сек ->      16 358 оп./сек
    MOV 8 word 2 empty                112 824 оп./сек
    MOV 8 word 2                       16 806 оп./сек ->      19 747 оп./сек
    CIS MOVCI 8 word 1                 13 978 оп./сек
    CIS MOVC  8 word 2 empty           59 427 оп./сек
    CIS MOVC  8 word 2                 16 479 оп./сек ->      22 801 оп./сек
    .
    А в чём цимес - смотрим на фото

    Встреча на Эльбе

  5. #205

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    32 из 64

    Уф... Половина

  6. #206

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Попробовал поставить нашу МК1 вместо двух микрух от DEC. Есть тройка проблем

    – во-первых – крайние ряды для контактов на плате DEC чуть шире, чем расстояние межу линейками контактов на МК1 – приходится выгибать,
    – во-вторых – крайние три контакта с обеих сторон МК1 начинаются упираться в детали и дорожки на плате – их приходится выгибать сильнее,
    – в-третьих - за счёт большей длины МК1 она (со стороны тех контактов, которые остаются свободными) начинает упираться в кондёр – его приходится отгибать.

    В целом – видимо из-за во-первых и где-то не контакта – МК1 не завелась… Может ещё завтра попробую...

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

    Попался занимательный кусок кода:

    Код:
    660$:
    	CLR	R5
    	CMP	R0,R1
    	BEQ	726$
    	CLR	-(SP)
    	CLR	-(SP)
    672$:
    	MOVB	(R0)+,R5
    	BIC	#177770,R5
    	TST	@SP
    	BEQ	706$
    	ASH	@SP,R5
    706$:
    	ADD	#3,(SP)+
    	BIS	R5,@SP
    	TST	-(SP)
    	CMP	R0,R1
    	BNE	672$
    	TST	(SP)+
    	MOV	(SP)+,R5
    726$:
    	RETURN
    или в более коротком виде:

    Код:
    660$:
      LET R5 := #0
    
      IF R0 NE R1 THEN
        PUSH <#0, #0>
        REPEAT
          LET R5 :B= (R0)+
          LET R5 := R5 OFF.BY #^C<7>
          IF @SP NE #0 THEN
            LET R5 := R5 SHIFT @SP
          END
          LET (SP)+ := (SP)+ + #3
          LET @SP := @SP SET.BY R5
          TST -(SP)
        UNTIL R0 EQ R1
        POP
        LET R5 := (SP)+
      END
    726$:
      RETURN
    На беглый взгляд - в R0 - указатель на строку (восьмеричного числа), R1 - адрес её последнего байта + 1, в R5 возвращается результат.
    Действия вроде бы понятны и логичны, но зачем такие извращения со стеком... Правда, стек у этого кода скорее всего на регистрах ДП, так то возможно как то с этим связано, но пока - не совсем понятно..

  7. #207

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    На беглый взгляд - в R0 - указатель на строку (восьмеричного числа), R1 - адрес её последнего байта + 1, в R5 возвращается результат.
    Действия вроде бы понятны и логичны, но зачем такие извращения со стеком...
    Только строка получается в перевёрнутом виде, потому всё время три и прибавляют, сдвигают следующую цифру всё дальше, а уже BIS-ом накладывают. Если бы строка была в прямом виде, то сдвинул результат на три разряда и наложил бы следующую цифру.

  8. #208

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Только строка получается в перевёрнутом виде
    Это понятно, просто не понятно, зачем такие извращения со стеком.

    А насчёт перевёрнутых строк - у ПЗУ KDJ11-B к ним прям любофф.. Может, когда буду логику разбирать - пойму, почему так, пока просто принял как данность - ишо надо 26 страниц причесать.

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

    Вот это
    Код:
    	ADD	#3,(SP)+
    	BIS	R5,@SP
    	TST	-(SP)
    вполне можно было бы написать как
    Код:
    	ADD	#3,(SP)
    	BIS	R5,2(SP)

  9. #209

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Это понятно, просто не понятно, зачем такие извращения со стеком.
    Надеюсь этот код исполняется при запрещённых прерываниях.
    Цитата Сообщение от Hunta Посмотреть сообщение
    ишо надо 26 страниц причесать.
    А в мегабайтах сколько? Имеется ввиду код.

  10. #210

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,505
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    712
    Поблагодарили
    594 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Надеюсь этот код исполняется при запрещённых прерываниях.
    Пока не могу сказать, но это код из ПЗУ и там много мест, где выставляется приоритет 7 плюс вполне возможно, что стек, используемый этим кодом, сделан на регистрах ДП...

    Цитата Сообщение от Alex_K Посмотреть сообщение
    А в мегабайтах сколько? Имеется ввиду код.
    Там весь код - 32 кб страница - 512 байт Но первоначальная причёска достаточно муторное и однообразное дело, так что - не быстро. Цель - получить что то более менее читабельно и разобранное на код-данные, собираемое обратно в образ и дающее на выходе идентичное исходному

    Основная цель - запихать загрузчик с CF-ок и (по просьбе) - загрузчики с DW и MY. Правда, плата MY пока не будет работать, но поместить загрузчик это не помешает

Страница 21 из 37 ПерваяПервая ... 171819202122232425 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. DEC DCJ11
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 10
    Последнее: 13.09.2023, 20:16
  2. DEC Falcon Plus
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 7
    Последнее: 24.03.2019, 11:30
  3. УК-НЦ и стандартные DEC дистрибутивы
    от bigral в разделе ДВК, УКНЦ
    Ответов: 5
    Последнее: 01.03.2013, 07:57
  4. DEC Digital VT510
    от CodeMaster в разделе Зарубежные компьютеры
    Ответов: 2
    Последнее: 08.01.2011, 08:49

Ваши права

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