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
*ROMADR+10
/SUBROUTINE SRCKSK
/ANRUF: CALL SRCKSK
/ MASKE
/ VERGLEICHSZAHL
/ XXX
/ XXX BEFEHL(C)
/ XXX
SRCKSK, XTHL
PUSH PSW
MOV A M
INX H
ANA B
JMP CKSK2
*ROMADR+20
/SUBROUTINE SRCKJP
/ANRUF: CALL SRCKJP
/ MASKE
/ VERGLEICHSZAHL
/ SPRUNGADR L
/ SPRUNGADR H
SRCKJP, XTHL
PUSH PSW
MOV A M
INX H
ANA B
JMP CKJP2
*ROMADR+30
/SUBROUTINE SRCKCN
/ANRUF: CALL SRCKCN
/ MASKE
/ VERGLEICHSZAHL/
/ SPRUNGADR L/ 1. ELEMENT DER KETTE
/ SPRUNGADR H/
/ XXX/
/ XXX/ NAECHSTES ELEMENT DER KETTE
/ XXX/
/ XXX
/ XXX
/ XXX
/ 0 /MASKE 0= ENDBEDINGUNG
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