Сообщение от
Lethargeek
пора тему переименовывать в "эмуляцию pdp-11 на каком-нибудь 32-битном процессоре"
Вот фрагмент исходного кода реализации команд RTI / RTT в микропрограммном эмуляторе, известном как "процессор J11":
Код:
.BIN
RTI-RTT: ; Break out RTI and RTT.
=10********0
PLA0 [^0 111 111, ^0 000 000 000 000 X10]
ARI.W [SP], ; Relocate SP in current mode and increment by two.
ODD TRAP, ; Must be a word address.
LD MMR1 ; Record change in MMR1.
RD.W [PC] ; Load PC. MMR2 still has PC if abort.
JKM [RTx_KERNEL] ; Jump around special processing
=0*1***** ; Force abort to ROM[040].
ARI.W [SP], ; Relocate SP again and pop.
LD MMR1 ; Again record the change for MMU.
RD.W [RF] ; Read new PS data
LBIC.B [340,RF] ; Priority is cleared out
=0*1***** ; Force abort to ROM[040].
LLSW.B [370,RE] ; Setup mask to save old modes <15:11>
LLD.B [340,RE] ; Also save old priority information
AND.W [RE,PS] ; Clear out all but <15:11> and <7:5>
BIS.W [RF,PS], ; Build new PS information
NAF/RTx_CONVERGE ; Go and update control chip PS
RTx_KERNEL:
RD.W [PS] ; Kernel mode directly copys input
RTx_CONVERGE:
OUTS [PSW, PS], ; Update Control chip PS<7:4>, interrupt
; priority and T-bit.
Если J11, написанный на уродском ассемблере J11 - это процессор с архитектурой PDP-11, то эмулятор ДВК, написанный на C++ - ничем не хуже.
Настоящие процессоры, не являющиеся внутри себя программными эмуляторами - встречались только в ранние годы PDP-11. Даже один из старых и известных процессоров PDP-11 -- LSI-11 - это программный эмулятор, в который можно (методом перетыкания ПЗУ) загрузить программу, реализующую любую систему команд.
Если переписать исходный код J11 с ассемблера J11 на ассемблер Intel, но сохранить все сигналы и тайминги внешней шины Q-Bus неизменными - такой вариант процессора J11 останется "процессором с архитектурой PDP-11" или нет?
Если ДА, то учитывая, что подключение Q-Bus к 32-разрядному процессору возможно только через адаптер - какая разница, что находится с другой стороны адаптера, если со стороны Q-Bus оно является "процессором с архитектурой PDP-11".