Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Другие архитектуры » Вопрос по машинным командам PDP-11 |
<<Назад Вперед>> | Страницы: 1 * 2 | Печать |
xoiss
Advanced Member
Всего сообщений: 711 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 окт. 2013 |
alecv написал: в результате выполнения команды CMP все четыре арифметических флага получают какое-либо конкретное значение — либо 0, либо 1 xoiss Сравнение - это вычитание (Compares values by subtracting the destination from the source) правильно ли я понимаю результаты выполненного Вами эксперимента, что флаг C во всех четырёх случаях был равен 0 ? (остался равен 0, либо стал равен 0) собственно, похоже, та функция, из которой я взял этот участок кода, было просто дезактивирована программистами изначально в ней было условие типа if (c > x) dosomething(), где c - была константа, x - типа unsigned long ... похоже, они заменили его заглушкой вроде if (UINT64_MAX > x) dosomething(), чтобы dosomething() никогда не вызывалось // исходник был на ассемблере, конечно же, — т.е. пример на Си - это лишь псевдокод ... и тем не менее очень странно, что это выключили речь идёт о функции в составе секьюрной процедуры RSX-11M — нормализация 64-битного числа по модулю (2^64)-59 Ок, спасибо! |
xoiss
Advanced Member
Всего сообщений: 711 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 окт. 2013 |
_Patron_ написал: Да, спасибо за ссылку. Описания у меня есть, причём с подробными примерами. xoiss написал:Если заглянуть в описание команд PDP-11 - результат можно попробовать предсказать. прошу подсказать результат выполнения примера на ассемблере (машинных кодах) PDP-11 Кроме того, машкоды PDP-11 я выучил ещё в 1991-1992 г.г. ... просто давно не практиковался именно с этим ассемблером, а тут вдруг возникла экстранеобходимость. Осваивать SimH, командную строку и тулчейны в RSX-11M уж очень не хочется, т.к. задача однократная. ... а какого-либо ДВК или УК-НЦ под рукой нет, чтоб проверить — вот и спросил, если у кого натуральная машинка есть, то из-под монитора это проверить 2-3 минуты. Собсна, по описаниям то я вопросов не имею — в них русско-английским по белому всё ясно написано ... мой вопрос был - так, на всякий случай, вдруг я что-то концептуально упустил. Впрочем, пока суть да дело, выяснилось, что 99.9% там код сознательно исказили, чтоб бага была... ... но зачем - пока не понятно. |
xoiss
Advanced Member
Всего сообщений: 711 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 окт. 2013 |
MM написал: спасибо! Мурмулятор ДВК господина Патрона и DESS.SAV V5.00 из собрания господина Хобота в помощь. |
alecv
Advanced Member
Откуда: Санкт-Петербург Всего сообщений: 5545 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 окт. 2004 |
xoiss написал: Да, правильно. Если флаг не упомянут - он устанавливается в ноль. Команда CMP устанавливает все флаги в соответствии с результатом операцией, т.е. все флаги "новые". в результате выполнения команды CMP все четыре арифметических флага получают какое-либо конкретное значение — либо 0, либо 1 Не факт что SIMH прямо так уж на 100% корректен, но считается эталонным эмулятором PDP-11 (и проходит все перфоленточные тесты). |
Mixa
Member
Откуда: Москва Всего сообщений: 170 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2009 |
BHIS после сравнения с 177777 смысла не имеет, нафига такой пример? |
xoiss
Advanced Member
Всего сообщений: 711 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 окт. 2013 |
Mixa написал: прочитайте чуть выше в моих комментах BHIS после сравнения с 177777 смысла не имеет, нафига такой пример? |
Mixa
Member
Откуда: Москва Всего сообщений: 170 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2009 |
А погрепайте исходники целиком, там должны быть еще места со странным условием перехода после CMP #177777, Rn или CMP Rn, #177777 |
xoiss
Advanced Member
Всего сообщений: 711 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 окт. 2013 |
Mixa написал: ... эххх, как я люблю эти выражения "грепать" и "гуглить" А погрепайте исходники целиком, там должны быть еще места со странным условием перехода после CMP #177777, Rn или CMP Rn, #177777 поверьте, "прогрепал", дезассемблировал и даже разобрался, что и как там работает, и в итоге переложил на современный Си короче, суть там была в следующем (ну, я так думаю) - речь идёт о секьюрной процедуре в составе одной таски в RSX-11M-PLUS - там используется арифметика по модулю 2^64-59 - вероятно (я так думаю) инженеры допускали возможность, что рано или поздно криптосистему могут ломануть с стороны "математики" — т.е. научатся по дайджесту (который хранится открыто) сравнительно быстро восстанавливать исходное число, которое есть свёртка кое-чего другого, что является вожделенным plain-текстом... в общем, они могли опасаться, что матмодель криптографической схемы не 100% надёжна, и лет через Х её сломают какие-нибудь Лобачевские с Келдышами - возможно поэтому они внесли в схему небольшое изменение, а именно слегонца поломали правила арифметики по модулю - такое "слегонца" приводит к тому, что дайджест получается равен другому значению - т.е. не тому, которое даёт классический вариант схемы от того же plain-текста... ... и, плюс к этому, в корне препятствует взлому системы со стороны "математики", оставляя лишь одну возможность - полный перебор вариантов я так думаю, что именно поэтому в одну из вычислительных функций была внесена вот такая небольшая коррекция (просто вместо одной константы вставили заглушку) могу поспорить, что она была внесена искусственно точечно, причём уже после того, как система была протестирована в "чистом" (не изменённом) варианте // я нашёл в исходниках адаптеры для юнит-тестов — значит систему тестировали на каких-то тестовых векторах стойкость системы от этого вряд ли ухудшилась, но зато стало невозможным ломать её высокой математикой ну, как-то так но, конечно, когда ревёрсишь код с машины, на которой 20 лет назад работал, то любое "не такое" место сразу, прежде всего, бросает тень подозрения на мою память и ясность сознания ... однако таки иногда это оказываются всё-таки разные баги, закладки, пасхалки и пр. |
MM
Advanced Member
Откуда: Павловский Посад Мск.обл. Всего сообщений: 3418 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 2 авг. 2013 |
xoiss написал: А никак нельзя исключить детектирвание типа процессора ? таки разные баги ( Это скорее общий вопрос... ) Например, 8086 проц и C2D имет некотрые специфические различия результатов математики под DOS 6.22 на популярном языке программирования высокого уровня. |
xoiss
Advanced Member
Всего сообщений: 711 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 окт. 2013 |
MM написал: Могу я Вас попросить открыть отдельную тему на Ваш вопрос? А никак нельзя исключить детектирвание типа процессора ? // ибо к машкодам PDP-11 он точно никакого отношения не имеет |
<<Назад Вперед>> | Страницы: 1 * 2 | Печать |
Полигон-2 » Другие архитектуры » Вопрос по машинным командам PDP-11 |
0 посетителей просмотрели эту тему за последние 15 минут |
В том числе: 0 гостей, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |