"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,
$