
Сообщение от
Hunta
Это уже значительно более современные процы, к тому же 32 битные
Попробуйте сделать такое на 8086, который, как и PDP-11 - 16-ти битный.
Не очень понял что именно требуется сделать, но если использовать команды jmp с кодом E9 и call с кодом E8, код в пределах сегмента будет перемещаемым. Ну и к данным можно обращаться так:
Код:
call get_data
data: db 1,2,3,4,5
get_data: pop bx
mov al,[bx+3]
Команды PDP11 конечно хороши, но под операнды места выделили многовато, а под коды команд маловато. Косвенность можно и выкинуть, а для модификации оставить только "без модификации", преддекремент, постинкеремент, и добавление соседнего регистра, до обращения к памяти если он отрицательный или после если положительный. Этих режимов нам вполне хватит для обработки элементов массива или организации стека и очереди. Хотя еще конечно напрашиваются команды загрузки и сохранения с небольшим константным смещением.
Правда всё это имеет смысл пока банк памяти у нас общий и такт шины на каждое слово нас не напрягает. А вот какой-то DSP может из 1 банка читать программу, из 2 и 3 операдны и записывать результат в 4й, и по производительности будет в 4 раза быстрее. И делать это можно с той же элементной базой, без всяких кешей и плис, проблема только в том, что в одну микросхему он не влезет - ног не хватит.