User Tag List

Страница 153 из 174 ПерваяПервая ... 149150151152153154155156157 ... ПоследняяПоследняя
Показано с 1,521 по 1,530 из 1740

Тема: Реверс-инжиниринг УКНЦ (1515ХМ1&2, 1801ВП1, 1801ВМ2)

  1. #1521

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Так можно защитить и от эмуляторов)
    От EmuStudio и UKNCBTL?

  2. #1522

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    От EmuStudio и UKNCBTL?
    А других пока нет)
    А эти несовершенны)

  3. #1523

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

    По умолчанию

    Узнать бы ещё - есть этот глюк в 1806ВМ2 или нет.

  4. #1524

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

    По умолчанию

    Решил проверить глюк с командами EIS с использованием регистра R7, если команда располагается в последней ячейке памяти. В этой ситуации по предвыборке должна прочитаться ячейка с адресом 0160000, соответственно чтения не будет. А вот будет ли в этом случае TRAP4?
    Сама программа:
    Код:
    157770 005000 CLR R0
    157772 012703 MOV #-1,R3
    157774 177777
    157776 070703 MUL R3,R7
    В итоге TRAP4 не произошло, но останов был по адресу 020000, а не 020002. В ячейки 017776 и 020000 занёс команду INC R0. В итоге значение регистра R0 увеличилось на два. При умножении 0160000 на 0177777 получается 020000, это значение заносится в R7. Но из-за того, что по предвыборке не удалось прочесть ячейку 0160000, значение R7 уменьшается на два и происходит переход на адрес 017776, вместо 020000.
    Последний раз редактировалось Alex_K; 04.12.2020 в 22:50.

  5. #1525

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Но из-за того, что по предвыборке не удалось прочесть ячейку 0160000, значение R7 уменьшается на два и происходит переход на адрес 017776, вместо 020000.
    Это тоже обьяснимо. Значит неправильная предвыборка устанавливает IX1=1, и тогда уже:

    Код:
    	if ((RI=001) & IX1=1)						// Если нет запроса на прерывание, и BIR недействительный, то
    			PC1=PC2=PC1-2					
    			GOTO 0x21					// Перейти на команду выборки следующей некэшированной инструкции

  6. #1526

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Это тоже обьяснимо. Значит неправильная предвыборка устанавливает IX1=1, и тогда уже:

    Код:
        if ((RI=001) & IX1=1)                        // Если нет запроса на прерывание, и BIR недействительный, то
                PC1=PC2=PC1-2                    
                GOTO 0x21                    // Перейти на команду выборки следующей некэшированной инструкции
    Из этого следует, что если в ячейке 0157776 будет команда типа MOV R0,R1, то при её исполнении по предвыборке будет попытка чтения ячейки с адресом 0160000. Попытка будет неудачная, тогда получается, что следующая некэшированная инструкция также будет читаться с адреса 0160000. Таким образом получается, что ячейка с адресом 0160000 будет читаться дважды.

  7. #1527

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Из этого следует, что если в ячейке 0157776 будет команда типа MOV R0,R1, то при её исполнении по предвыборке будет попытка чтения ячейки с адресом 0160000. Попытка будет неудачная, тогда получается, что следующая некэшированная инструкция также будет читаться с адреса 0160000. Таким образом получается, что ячейка с адресом 0160000 будет читаться дважды.
    Вот этого не понял)

  8. #1528

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Вот этого не понял)
    А что конкретно не понятно?

  9. #1529

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    А что конкретно не понятно?
    Целиком фрагмент, который выполнялся.

  10. #1530

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

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Целиком фрагмент, который выполнялся.
    Какой фрагмент? Та, тестовая программа, что приведена выше, или предположения об исполнении команды MOV R0,R1 в ячейке с адресом 0157776?

Страница 153 из 174 ПерваяПервая ... 149150151152153154155156157 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 32
    Последнее: 18.12.2024, 18:19
  2. Реверс-инжиниринг игры Boovie
    от Oleg N. Cher в разделе Программирование
    Ответов: 41
    Последнее: 09.01.2022, 23:07
  3. Реверс инжиниринг печатной платы
    от Filin в разделе Несортированное железо
    Ответов: 36
    Последнее: 11.03.2018, 22:46
  4. Куплю 1515ХМ1-6006, 1515ХМ1−6008
    от moxjemi в разделе Барахолка (архив)
    Ответов: 3
    Последнее: 10.01.2012, 17:23
  5. 1801ВМ2 А и Б
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 2
    Последнее: 03.05.2010, 11:51

Ваши права

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