Здравствуйте, LaptevVV, Вы писали:
LVV>РНе... LVV>Дело не в объеме памяти, а архитектуре системы команд. LVV>В pdp все было единообразно, аргументы могли располагаться где угодно. Методы адресации — единообразные.
Неправда. На единообразие им тупо не хватило места в 16 битах.
ADDB, SUBB байтные — не введены.
XOR, MUL, DIV, ASH, ASHC имеют одним аргументом только регистр.
Для обычной группы сдвигов (ASL, ASR, ROL, ROR) не хватило места на аргумент — величину сдвига.
Про плавучку вообще молчу — группа FIS брала аргументы со стека и возвращала результат на стек, потому что иначе не нашли места для аргументов.
LVV>Инкремент и декремент — единообразен. Это вообще ПЕСНЯ была.
Причём косвенные их варианты использовались чуть чаще, чем никогда (режим 3 по PC не в счёт).
LVV>Регистры внешних устройств адресовались адресами памяти — это блеск!
Да, это впервые появилось именно в PDP-11. Позднее из неё распространилось на всех. Так же как схема флагов NZVC.
LVV>Командой пересылки осуществляется ввод-вывод!
А вот то, что MOV ставила флаги, признано ошибкой и с 80-х никем не повторяется.
LVV>Система команд небольшая, но за счет развитости и единообразия видов адресации возможности очень большие. LVV>Одной командой можно было очистить ВСЮ память.
Если бы она после этого останавливалась, был бы смысл. А так — нелепое хакерство на померяться дурью удалецкой.
LVV>Я долго после pdp плевался на систему команд интела, где на каждый чих — отдельное специальное решение.
Зато идейный последователь подхода PDP-11 в лице M68k — умер в начале 90-х, потому что не смог перейти со своей универсальностью в мир, где out-of-order исполнение, переименование регистров и иерархия кэшей.