"Echo" funktionen...

Kod: Markera allt
Testade:
Opcode Instruction Expl
2 ISZ Increment Y by 1, skip if zero
3 DCA Deposit and clear AC
5 JMP Jump to address Y
6031 KSF Skip if keyboard flag is 1
6032 KCC Clear AC and keyboard flag
6034 KRS Read keayboard
6036 KRB Clear AC, keyboard flag and keyboard buffer -> AC
6041 TSF Skip if teleprinter flag is 1
6042 TCF Clear printer flag
6044 TPC Load printer buffer from AC
6046 TLS Load printer buffer from AC and clear printer flag
7000 NOP No operation
7001 IAC Increment AC by 1
7004 RAL Rotate AC and L left
7006 RTL Rotate AC and L left twice
7010 RAR Rotate AC and L right
7012 RTR Rotate AC and L rigth twice
7020 CML Complement L
7040 CMA Complement AC
7100 CLL Clear L
7200 CLA Clear AC
7402 HLT Halt execution
7404 OSR OR with SR
7410 SKP Skip next instruction
7420 SNL Skip if L != 0
7430 SZL Skip if L = 0
7440 SZA Skip if AC = 0
7450 SNA Skip if AC != 0
7500 SMA Skip if AC is negative
7510 SPA Skip if AC is positive
7600 CLA Clear AC
7604 LAS SR -> AC
Untested
0 AND
1 TAD
6001 ION Interrupt enable
6002 IOF Interrupt disable
Untested combinations
7041 CIA Complement and increment AC
7104 CLL RAL
7106 CLL RTL
7110 CLL RAR
7112 CLL RTR
7120 STL Set L
7201 CLA IAC Set AC = 1
7204 GLK L -> AC11 (AC10-0 = 0)
7300 CLA CLL Clear AC and L
7240 STA Set AC = -1
7460 SZA SNL
7470 SNA SZL
7520 SMA SNL
7530 SPA SZL
7540 SPA SNA
7640 SZA CLA
7650 SNA CLA
7700 SMA CLA
7710 SPA CLA
uj, den var dyr. Likadan som min men i bättre skick (mindre repor). Den har också EAE samt minnesexpansion och fullmatad med minne 32kW.anders_bzn skrev:Om någon skulle vara sugen så finns denna till salu på ebay. Ganska mycket pengar för en dator i okänt skick. Denna är dessutom en generation nyare än min.
http://www.ebay.com/itm/DEC-PDP-8E-Programmable-Data-Proce...
Jag har testat instruktioner med indirekt adressering, de fungerar nu. Men jag förstår inte riktigt vad du menar även om jag sett pre-increment i flödesschemat (tror jag). Ett kodexempel skulle vara fint!bqt skrev:Apropå testning: glöm inte alla minnesaccesser indirekt via address 10-17, som ska göra en pre-increment på minnescellen innan den används...
Kod: Markera allt
.=10
PTR, MEM-1 // Pekare till minne som ska nollställas
.=20
CNT, -200 // Räknare för minne att nollställa
.=200
START, CLA
LOOP, DCA I PTR
ISZ CNT
JMP LOOP
HLT
MEM,
$