Directory of image this file is from
This file as a plain text file
x
; MICROPROCESSOR-KIT TESTER PROGRAMM
; **********************************
;
;
;DEFINITIONEN
;
START EQU 0H
;
ASHLT EQU 2H
BSHLT EQU 1H
CSHLT EQU 4H
LLAMP EQU 2H
RLAMP EQU 1H
;
;
SHLTA EQU 2H
SHLTB EQU 1H
SHLTC EQU 4H
LAMPL EQU 2H
LAMPR EQU 1H
NEWIO EQU 8H
;
;
RSBIT EQUH ;FUER NEWIO
RUNLM EQU 2H ;" "
GO EQU 4H ;" "
NOGO EQU 8H ;" "
;
;
LOADR EQU 1H ;FUER C-SCHALTER
EXAM EQU 2H ;" "
DEPOS EQU 4
RUN EQU 8H ;" "
BREAK EQU 10H ;" "
SSTEP EQU 10H ;" "
TAKT EQU 10H ;" "
;
;
EXPT0 EQU 0E0H
EXPT1 EQU 0C0H
EXPT2 EQU 0A0H
EXPT3 EQU 80H
EXPT4 EQU 60H
EXPT5 EQU 40H
EXPT6 EQU 20H
;
;
RAMBT EQU 400H
TERMT EQU 13FFH
RAMTP EQU 4FFH
;
TRMBT EQU 400H+START
TRMTP EQU 4FFH+START
CBILD EQU TRMTP
;
FRED EQU 93H
;
;
ORG START
;
LXI SP,TRMTP-1
CALL LOADC
DB0
;
;RAMTE
;
;RAM-PRUEFPROGRAMM. DIESER TEIL LAEUFT IM
;TESTER. ERLAEDT RAMPR IN DEN PRUEFLING,
;LAESST ES LAUFEN UND WARTET. DIE ANTWORT GLEICH
;FRED +3MAL (0100H-RAMND) KOMMT IN DEN LLAMPE
;ZURUECK. FREDIST BELIEBIG Z.B 93H
;
;
;
RAMTE: CALL BOOTS ;LADE RAMPR
DW RAMPR
DW RAMND
DW RAMBT
CALL SETC
DB RUN
;
CALL WARTE
DB 40H ;EINSTELLEN!
;
IN LAMPL
CPI FRED+3*(RAMPR+100-RAMND)
JNZ ERROR
;
;ROMTE
;
;ROM-PRUEFPROGRAMM. DIESER TEIL LAUFT IM
;TESTER. ER GIBT DEM PRUEFLING EINE
;ADRESSE UND ERWARTET DEN ROM-INHALT.
;KEIN HANDSHAKE: DER PRUEFLING MUSS
;INNERHALB EINER GEWISSEN ZEIT ANTWOREN
;PRUEFUNG VON OBEN NACH UNTEN
;
;
;
ROMTE: CALL BOOTS ;LE PROGR. ROMPR
DW ROMPR
DW ROMND
DW RAMBT
CALL SETC
DB RUN
CALL WARTE
DB 5H ;EINSTELLEN
LXI D,3FFH ;HOCHSTE ROM-ADR
LXIH,TERMT ;LETZTE ROM-ADR. IN MASTER-ROM
ROMLP: MOV A,D
OUT SHLTA ;HIGH ADR
MOV A,E
OUT SHLTB ;LOW ADR
MVI B,0BH ;KLEINE WARTESCHLEIFE
RMDEL: DCR B
JNZ RMDEL
IN LAMPR
CMP M
JNZ ERROR
DCX H
DCX D
;
MOV A,D
ANA E ;ENDE WENN BEIDE GLEICH FF
JP ROMLP
;
;
;
;IOTE
;
;I/O PRUEFOGRAMM. DIESER TEIL LAUFT IM TESTER
;VERSCHIEDENE BITMUSTER WERDEN BENUTZT DAFUER
;WERDEN C,D,UND E ALS ZAEHLER BETRIEBEN. C NACH
;UNTEN,EACH OBEN UND D NACH OBEN IN SCHRITTEN
;VON 3. IM PRUEFLING LAEFT DAS PROGRAMM IOPR
;
;
;
IOTE: CALL BOOTS ;LADE PROG. IOPR
W IOPR
DW IOEND
DW RAMBT
;
CALL SETC
DB RUN
CALL WARTE
DB 5H
;
XRA A ;LOESCHE C,D,E
MOV C,A
MOV D,A
MOV E,A
IOLOP: CALL IOSUB
DCR C
CALL IOSUB
INR D
INR D
INR D
CALL IOSUB
INR E
JNZ IOLOP
;
;
;
;
;SYST 0
;
;EXPERIMENT 0 PRUEFT ADD UND SUB
;
;
SYST0: CALL LOADC
DB EXPT0
CALL RESET
MVI A,0C3H
OUT SHLTA
MVI A,017H
OUT SHLTB
CALL SETC
DB 18H ;A+B=C3+17=0DA
CALL CHKRL
DB 0DAH
;
CALL SETC
DB 7H ;A-B-1=-DB=25
CALL CHKRL
DB 25H
;
CALLCHKLL
DB 1H ;CARRY=1
;
;
;
;SYST1
;
;EXPERIMENT 1 PRUEFT A,A+1,A XOR B
;
;
SYST1: CALL LOADC
DB EXPT1
CALL RESET
MVI A,0FH
OUT SHLTA
MVI A,0AAH
OUT SHLTB
CALL CHKRL
DB 0FH ;FUNKTION A
;
CALL SETC
DB 5H
CALL CHKRL
DB 10H ;FUNKTIONA+1
;
CALL SETC
DB 0BH
CALL CHKRL
DB 5AH ;FUNKTIONA X0R B
;
;
;
;SYST2
;
;EXPERIMENT 2 PRUEFT SP1 UND ADD
;
;
;
SYST2: CALL LOADC
DB EXPT2
CALL RESET
MVI A,2FH
OUT SHLTB
CALL SETC
DB 1H
CALL TAKTC
DB TAKT
CALL CHKRL
DB 1H ;SP1
;
CALL SETC
DB 7H
CALL TAKTC
DB TAKT
CALL CHKRL
DB 30H ;ADD:2F+1=30
;
;
;
;SYST3
;
;EXPERIMENT 3 LAEDT 47 IN ADR 4 INPUT 32
;IN ACC ADDIERT BEIDE ZUSAMMEN
;
;
;
SYST3: CALL LOADC
DB EXPT3
CALL RESET
MVI A,H
OUT SHLTA
MVI A,47H
OUT SHLTB
CALL TAKTC
DB DEPOS ;LADE 47 IN ADR 4
;
MVI A,32
OUT SHLTB
MVI A,0D0H
CALL TAKTC
DB TAKT ;INPUT 32 IN ACC
;
MVI A,74H ;OP-CODE 7,ADR4
OUT SHLTA
CALL TAKTC
DB TAKT ;ADD <4>=47
;
CALL CHKRL
DB 79H
;
;
;
;SYST4
;
;EXPERIMENT 4 LAEDT LDA 5, CMA,HLT IN ADR
;5,6,7.LDA 5 LAEDT SICH SELBST =35IN DEN
;ACC. ERGEBNIS = 0CA ALLES IN SINGLE STEP
;
;
;
SYST4: CALL LOADC
DB EXPT4
CALL RESET
MVI A,5H ;ANFANGSADRESSE 5
OUT SHLTA
CALL TAKTC
DB LOADR ;LOAD ADR 5
;
MVI A,35H
OUT SHLTB
CALL TAKTC
DB DEPOS ;LADE 35 IN ADR 5
;
MVI A,20H
OUT SHLTB
CALL TAKTC
DB DEPOS ;LADE 20 IN ADR 6
;
MVI A,0F0H
OUT SHLTB
CALL TAKTC
DB DEPOS ;LADE F0 IN ADR 7
;
CALL SETC
DB SSTEP ;SINGLE STEP
CALL TAKTC
DB LOADR ;ADR 5 ZIRUECK
CALL TAKTC
DB RUN
CALL CHKRL
DB 35H ;LDA 5
CALL CHKLL
DB 62H ;PC = 6,RUN = 1, CARRY=0
;
CALL TAKTC
DB RUN
CALL CHKRL
DB 0CAH ;CMA
CALL CHKLL
DB 72H ;PC =7,RUN=1,CARRY=0
;
CALL TAKTC
DB RUN
CALL CHKRL
DB 0CAH ;HLT
CALL CHKLL
DB 70H ;PC=7(NOCH),RUN=0,CARRY=0
;
;
;
;SYST5
;
;EXPERIMENT 5 LIEST ETWAS VOM A-SCHALTER
;UND SPRINGT ZURUECK. TESTER BIETET PRUEFLING 52H AN
;UND ERWARTET 52H IN R-LAMPEN IN <52H> =E0H IN
;L-LAMPEN;
;
;
SYST5: CALL LOADC
DB EXPT5
CALL RESET
MVI A,50H ;ANFANGS.ADR. DES PROGS.
OUT SHLTA
CALL TAKTC
DB LOADR ;LOAD ADR 50H
;
MVI A,87H
OUT SHLTA
CALL TAKTC
DB DEPOS ;LADE 87=LOAD A3
MVI A,0FFH ;MEMORY MAPPED IO ADDR.
OUT SHLTA ;FUER A-SCHALTER
CALL TAKTC
DB DEPOS ;LADE FF = INPUT
;
MVI A,0E0H
OUT SHLTA
CALL TAKTC
DB DEPOS ;LADE E0=JUMP
;
MVI A,50H
OUT SHLTA
CALL TAKTC
DB DEPOS ;LADE 50=SCHLEIFEN ADR.
;
CALL SETC
DB RUN
MVI A,3BH ;DISPLAY <<SR>> UND <A3>
OUT SHLTB
;
MVI A,52H ;INPUT DATEN
OUT SHLTA
;
CALL WARTE
DB 4H ;ZUSAETZLICHE VERZOEG.
;
CALL CHKRL
DB 52H ;INPUT-DATEN ZURUECK
CALL CHKLL
DB 0E0H ;<<SR>> - INPUT ADR 52
;
;
;
;
;ALLOK UND ERROR
;
;ENDE DES HAUPTPROGRAMMES. ENTWEDER LEUCHTET
;DIE GO ODER DIE NOGO-LAMPE. DER TESTER HAELT UND W
;WARTET AUF RESET. RUN LAMPE GELOESCHT
;
;
;
ALLOK: CALL LOADC
DB GO
HLT
;
ERROR: CALL LOADC
DB NOGO
HLT
;
;
;
;