File EXP.22

Directory of image this file is from
This file as a plain text file


/ITT MIKROPROZESSOR-EXPERIMENT-KIT


ROMADR=0
RAMPAG=1		/SPATER 4

STAKAD=RAMPAG^400+400
CHKSKP=317
CHKJMP=327
CHKCHN=337
FLANKE=347
CHKEND=0



/HAUPTPROGRAMM


*ROMADR

START,	NOP		/TO BE REMOVED
	LXI SP STAKAD
	JMP HAUPT2


/SUBROUTINE SRCKSK




*ROMADR+10


SRCKSK,	XTHL
	PUSH PSW
	MOV A M
	INX H
	ANA B
	JMP CKSK2



/SUBROUTINE SRCKJP




*ROMADR+20


SRCKJP,	XTHL
	PUSH PSW
	MOV A M
	INX H
	ANA B
	JMP CKJP2




/SUBROUTINE SRCKCN




*ROMADR+30


SRCKCN,	XTHL
	PUSH PSW
CHCNLP,	MOV A M
	INX H
	JMP CKCN2



/SUBROUTINE FLANKE
/PRUEFUNG AUF FLANKE: MOMENTANER BEFEHL IN B
/                     LETZTER BEFEHL IN D


/ANRUF: FLANKE
/       MASKE
/       ADRESSE WENN KEINE POS. FLANKE IN B UND D
/       HIGH ADRESSE


*ROMADR+40

SFLANK, XTHL
        PUSH PSW
        MOV A D
        CMA
        ANA B
        ANA M
        INX H
        JZ CNFUND       /FLANKE NICHT GEFUNDEN
        JMP CKJPND      /FLANKE GEFUNDEN



			/*ROMADR+100

CKSK2,	CMP M
	INX H
	JZ CKSEND
	INX H
CKJPND,	INX H
	INX H
CKSEND,	POP PSW
	XTHL
	RET




CKJP2,	CMP M
	INX H
	JZ CNFUND
	JMP CKJPND
CKCN2,	CPI 0
	JZ CNEND
	ANA B
	CMP M
	INX H
	JZ CNFUND
	INX H
	INX H
	JMP CHCNLP





CNFUND,	MOV A M
	INX H
	MOV H M
	MOV L A
CNEND,	POP PSW
	XTHL
	RET





HAUPT2,	IN 0		/IN CSHALT, LESE BEFEHL
	MOV D B		/FUER SUB. FLANKE
	MOV B A
	CHKCHN

	340		/SCHALTERSTELLUNG 1,	BEFEHL IN B
	40
	DW CODALU

	340		/	"	  2
	100
	DW AKKUM

	340		/	"	  3
	140
	DW AKKSPI

	340		/	"	  4
	200
	DW BASIC

	340		/	"	  5
	240
	DW HYPOTH

	340		/	"	  6
	300
	DW SY8080

	340		/	"	  7
	340
	DW ERWEIT

	CHKEND

	/SYSTEM 0 MUSS UNMITTELBAR HIER NACHFOLGEN
	/SCHALTERSTELLUNG 0 NICHT EXPLIZIT GEPRUEFT



/SYSTEM 0****************************************

/ADDIEREN  -  SUBTRAHIEREN
/VERKNUEPFT ASHALT UND BSHALT NACH BEFEHL IN B BITS 4-0



ADDSUB,	MVI A 240		/IN ASHALT

	CHKSKP			/ASHALT OFF
	20
	0
	XRA A
	NOP
	NOP

	CHKSKP			/ASHALT KOMPLEMTIERT
	4
	4
	CMA
	NOP
	NOP

	MOV C A
	MVI A 123		/IN BSHALT

	CHKSKP			/BSHALT OFF
	10
	0
	XRA A
	NOP
	NOP

	CHKSKP			/BSHALT KOMPLEMTIERT
	2
	2
	CMA
	NOP
	NOP

	STC

	CHKSKP			/INCREMENT ERGEBNIS
	1
	0
	CMC			/CARRY 0 WENN KEIN INCREMENT
	NOP			/ERFORDERLICH
	NOP

	ADC C
DISPLY,	STA 377			/OUT RLAMPE
	RAL
	ANI 1
	STA 376			/OUT LLAMPE
	RAR
	RST 0


/SUBROUTINE OPCODE. VERKNUEPFT A UND C NACH BEFEHL IN B, BITS 3-0 OPCODE, CHKSKP /A=0 17 0 XRA A NOP NOP CHKSKP /A-1 17 1 XRA A INR A NOP CHKSKP /A=A NICHT 17 2 CMA NOP NOP CHKSKP /A=C 17 3 MOV A C NOP NOP CHKSKP /A=C NICHT 17 4 MOV A C CMA NOP CHKSKP /A=A+1 17 5 ADI 1 /NICHT INR A WEGEN CARRY NOP CHKSKP /A=A-1 17 6 SUI 1 /NICHT DCR A WEGEN CARRY NOP CHKSKP /A=A+C 17 7 ADD C NOP NOP CHKSKP /A=A-C 17 10 SUB C NOP /EVENTU. CMC NOP CHKSKP /A=A AND B 17 11 ANA C NOP NOP CHKSKP /A=A OR B 17 12 ORA C NOP NOP CHKSKP /A=A XOR B 17 13 XRA C NOP NOP CHKSKP /A= -1 17 14 XRA A CMA NOP CHKSKP /INPUT A=BSHALT 17 15 MVI A 253 /IN BSHALT NOP RET *420 /TEMPORARY /SYSTEM 1************************************************* /ALU MIT CODIERUNG CODALU, MVI A 123 /IN BSHALT MOV C A MVI A 240 /IN ASHALT STC CMC CALL OPCODE JMP DISPLY /SYSTEM 2*************************************** /AKKUMULATOR AKKUM, MOV A E /AKKU IN REG E,(ACC) WIRD ANGEZEIGT FLANKE 20 DW DISPLY /WARTE AUF TAKT MVI A 123 /IN BSHALT MOV C A MOV A E CALL OPCODE MOV E A JMP DISPLY /SYSTEM 3********************************************** /AKKUMULATOR MIT SPEICHER AKKSPI, MOV A E /ACC IN REG E PUSH PSW MVI A 123 /IN ASHALT, LADE OPCODE BITS 7-4 /UND ADRESSE BITS 3-0 PUSH PSW ANI 17 /SPALTE ADRESS AB MOV L A POP PSW /BEFEHL KOMMT ZURUECK RAR RAR RAR RAR ANI 17 /SPALTE OP-CODE AB MOV H A /ZWISCHENSPEICHER FUER OP-CODE POP PSW CHKJMP 4 4 DW DEPOST CHKJMP 2 2 DW EXAMIN FLANKE 20 DW DISPLY /WARTE AUF TAKT PUSH B MOV B H /OP-CODE INS B-REG MVI H RAMPAG /H,L ENTHAELT JETZT ADRESS MOV C M CALL OPCODE /HOLE OPERANDEN MOV E A /SYSTEM-AKKU ZURUECK CHKJMP /OP-CODE NOCH IN B, STORE? 17 16 DW STORE POP B JMP DISPLY DEPOST, MVI A 240 /IN BSHALT STORND, MVI H RAMPAG MOV M A JMP DISPLY EXAMIN, MVI H RAMPAG MOV A M JMP DISPLY STORE, POP B JMP STORND /SYSTEM 4****************************************** /BASIC COMPUTER /REGISTER ZUORDNUNG /****************** /FLAGS /DST/ARBEITSREGISTER A /BEFEHLSREGISTER B /SRC C /LETZTER BEFEHL D /AKKU E /PC-HIGH H /PC-LOW L BASIC, PUSH PSW /RETTE CARRY MOV A L ANI 17 MOV L A POP PSW PUSH H /SPEICHERE PC MOV A E MVI H RAMPAG PUSH PSW MVI A 3 /IN ASHALT ANI 17 CHKSKP /LOAD ADDRESS 1 1 MOV L A NOP NOP CHKJMP /EXAMINE 2 2 DW EXAM2 FLANKE /DEPOSIT 4 DW BASIC2 JMP DPOST2 BASIC2, MOV A E CHKJMP /00,10 10 0 DW DSPLY2 CHKJMP /01 30 10 DW NORMAL FLANKE /11 10 DW DSPLY2 NORMAL, MOV A M /FETCH ANI 360 CPI 360 /HALT BEFEHL MOV A E JZ DSPLY2 MOV A M /FETCH PUSH PSW ANI 17 MOV L A POP PSW RAR RAR RAR RAR ANI 17 MOV H A POP PSW PUSH B MOV B H MVI H RAMPAG MOV C M CALL OPCODE MOV E A CHKSKP 17 16 MVI H RAMPAG MOV M A POP B POP H /BRINGE PC ZURUECK PUSH PSW MOV A L INR A ANI 17 ORI 100 /SETZE RUN LAMPE MOV L A MOV A E JMP DSPLY2 EXAM2, DCR L MOV A M INR L DSPLY2, STA 377 /OUT RLAMPE MOV A L RAL RAL RAL MOV H A POP PSW MOV A H RAL STA 376 /OUT LLAMPE RAR FLANKE 6 DW START INR L /INC P.C RST 0 DPOST2, MVI A 345 /IN BSHALT MOV M A JMP DSPLY2



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search