Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Другие архитектуры »   Вопрос по машинным командам PDP-11
RSS

Вопрос по машинным командам PDP-11

need help

<<Назад  Вперед>> Страницы: 1 2
Печать
 
xoiss
Advanced Member


Всего сообщений: 711
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 окт. 2013
Привет!

Если кто разбирается, или, ещё лучше, обладает возможностью оперативно проверить, то прошу подсказать результат выполнения примера на ассемблере (машинных кодах) PDP-11.

Пример 1 (пока один, но, возможно, будут добавляться):

CMP #177777, R0
BHIS label


Вопрос 1: верно ли, что при любом значении R0 здесь всегда будет происходить ветвление?
// я думаю, что всегда, т.к. 0xFFFF выше-или-равно любого беззнакового 16-разрядного числа
// что меня смущает? ну, если это так, то я нашёл багу — что было бы, вообще, подозрительно странно
// да, мнемоника "BHIS" == "BCC", если что

Спасибо!
MM
Advanced Member


Откуда: Павловский Посад Мск.обл.
Всего сообщений: 3418
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
2 авг. 2013
Мурмулятор ДВК господина Патрона и DESS.SAV V5.00 из собрания господина Хобота в помощь.
Эксперементировать в адресе 000400 , переключаясь в пульт и обратно в DESS.

Почему именно Мурмулятор - а где Вы видели ДВК с QWERT клавой ?!
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
xoiss Сравнение - это вычитание (Compares values by subtracting the destination from the source)

в SIMH
При R0=1 получается -1-1=-2 устанавливается флаг N
При R0=0 получается -1-0=-1 устанавливается флаг N
При R0=-1 получается -1-(-1)=0 устанавливается флаг Z
При R0=-2 получается -1-(-2)=1 никакие флаги не устанвливаются
_Patron_
Member


Откуда: Москва
Всего сообщений: 146
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
19 дек. 2012
xoiss написал:
[q]
прошу подсказать результат выполнения примера на ассемблере (машинных кодах) PDP-11
[/q]
Если заглянуть в описание команд PDP-11 - результат можно попробовать предсказать.
xoiss
Advanced Member


Всего сообщений: 711
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 окт. 2013
alecv написал:
[q]
xoiss Сравнение - это вычитание (Compares values by subtracting the destination from the source)
в SIMH
При R0=1 получается -1-1=-2 устанавливается флаг N
При R0=0 получается -1-0=-1 устанавливается флаг N
При R0=-1 получается -1-(-1)=0 устанавливается флаг Z
При R0=-2 получается -1-(-2)=1 никакие флаги не устанвливаются
[/q]
в результате выполнения команды CMP все четыре арифметических флага получают какое-либо конкретное значение — либо 0, либо 1
правильно ли я понимаю результаты выполненного Вами эксперимента, что флаг 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_ написал:
[q]
xoiss написал:
[q]
прошу подсказать результат выполнения примера на ассемблере (машинных кодах) PDP-11
[/q]
Если заглянуть в описание команд PDP-11 - результат можно попробовать предсказать.
[/q]
Да, спасибо за ссылку. Описания у меня есть, причём с подробными примерами.
Кроме того, машкоды PDP-11 я выучил ещё в 1991-1992 г.г.
... просто давно не практиковался именно с этим ассемблером, а тут вдруг возникла экстранеобходимость.
Осваивать SimH, командную строку и тулчейны в RSX-11M уж очень не хочется, т.к. задача однократная.
... а какого-либо ДВК или УК-НЦ под рукой нет, чтоб проверить — вот и спросил, если у кого натуральная машинка есть, то из-под монитора это проверить 2-3 минуты.

Собсна, по описаниям то я вопросов не имею — в них русско-английским по белому всё ясно написано
... мой вопрос был - так, на всякий случай, вдруг я что-то концептуально упустил.

Впрочем, пока суть да дело, выяснилось, что 99.9% там код сознательно исказили, чтоб бага была...
... но зачем - пока не понятно.
xoiss
Advanced Member


Всего сообщений: 711
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 окт. 2013
MM написал:
[q]
Мурмулятор ДВК господина Патрона и DESS.SAV V5.00 из собрания господина Хобота в помощь.
Эксперементировать в адресе 000400 , переключаясь в пульт и обратно в DESS.
Почему именно Мурмулятор - а где Вы видели ДВК с QWERT клавой ?!
[/q]
спасибо! :)
alecv
Advanced Member


Откуда: Санкт-Петербург
Всего сообщений: 5545
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 окт. 2004
xoiss написал:
[q]
в результате выполнения команды CMP все четыре арифметических флага получают какое-либо конкретное значение — либо 0, либо 1
правильно ли я понимаю результаты выполненного Вами эксперимента, что флаг C во всех четырёх случаях был равен 0 ? (остался равен 0, либо стал равен 0)
[/q]
Да, правильно. Если флаг не упомянут - он устанавливается в ноль. Команда CMP устанавливает все флаги в соответствии с результатом операцией, т.е. все флаги "новые".

Не факт что SIMH прямо так уж на 100% корректен, но считается эталонным эмулятором PDP-11 (и проходит все перфоленточные тесты).
Mixa
Member


Откуда: Москва
Всего сообщений: 170
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 авг. 2009
BHIS после сравнения с 177777 смысла не имеет, нафига такой пример?
xoiss
Advanced Member


Всего сообщений: 711
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 окт. 2013
Mixa написал:
[q]
BHIS после сравнения с 177777 смысла не имеет, нафига такой пример?
[/q]
прочитайте чуть выше в моих комментах
<<Назад  Вперед>> Страницы: 1 2
Печать
Полигон-2 »   Другие архитектуры »   Вопрос по машинным командам PDP-11
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS