File GOTIM.

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












;ITT MIKROPROZESSOR-EXPERIMENT-KIT RAMPAG = #12 STAKAD = #1300 CHKEND = #0 RLAMPE = #0C LLAMPE = #0D ASHALT = #14 BSHALT = #15 CSHALT = #16 ;HAUPTPROGRAMM . = #1000 START: MVI #9B ;TO BE REMOVED OUT #13 MVI #80 OUT #0B LXI SP,STAKAD JMP HAUPT2 ;SUBROUTINE SRCKSK ;***************** ;ANRUF: CALL SRCKSK ; MASKE ; VERGLEICHSZAHL ; XXX ;BEFEHLE:WERDEN AUSGEFUEHRT FALLS ; XXX ;(B) AND MASKE = VERGLEICHSZAHL ; XXX ; SRCKSK: XTHL PUSH PSW MOV A,M INX H ANA B JMP CKSK2 ;SUBROUTINE SRCKJP ;***************** ;ANRUF: CALL SRCKJP ; MASKE ; VERGLEICHSZAHL ; SPRUNGADR L ;SPRUNG ZU DIESER ADRESSE FALLS ; SPRUNGADR H ;(B) AND MASKE = VERGLEICHSZAHL SRCKJP: XTHL PUSH PSW MOV A,M INX H ANA B JMP CKJP2 ;SUBROUTINE SRCKCN ;***************** ;ANRUF: CALL SRCKCN ; MASKE ; VERGLEICHSZAHL1 ;1.ELEMENT DER KETTE ; SPRUNGADR L ;SPRUNGADRESS: SPRUNG BEI UEBEREINSTIMMUNG ; SPRUNGADR H ;2. ELEMENT DER KETTE ; VERGLEICHSZAHL2 ; XXX ; XXX ; XXX ; XXX ; XXX ; .......... ; 0 ;MASKE 0= ENDBEDINGUNG SRCKCN: XTHL PUSH PSW CHCNLP: MOV A,M INX H JMP CKCN2 ;SUBROUTINE CALL SFLANK ;***************** ;PRUEFUNG AUF FLANKE: MOMENTANER BEFEHL IN B ; LETZTER BEFEHL IN D ;ANRUF: CALL SFLANK ; MASKE ; ADRESSE WENN KEINE POS. CALL SFLANK IN B UND D ; HIGH ADRESSE SFLANK: XTHL PUSH PSW MOV A,D CMA ANA B ANA M INX H JZ CNFUND ;CALL SFLANK NICHT GEFUNDEN JMP CKJPND ;CALL SFLANK GEFUNDEN 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 CSHALT ;LESE BEFEHL:VERZW. ENTSP. BITS 7-5 MOV D,B ;FUER SUB. CALL SFLANK MOV B,A ;BEFEHL IN B CALL SRCKCN DB #E0 ;SCHALTERSTELLUNG 1 DB #C0 DW CODALU DB #E0 ; " 2 DB #A0 DW AKKUM DB #E0 ; " 3 DB #80 DW AKKSPI DB #E0 ; " 4 DB #60 DW BASIC DB #E0 ; " 5 DB #40 DW HYPOTH DB #E0 ; " 6 DB #20 DW SY8080 DB #E0 ; " 7 DB #0 DW ERWEIT DB CHKEND ;SYSTEM 0 MUSS UNMITTELBAR HIER NACHFOLGEN ;SCHALTERSTELLUNG 0 NICHT EXPLIZIT GEPRUEFT ;SYSTEM 0**************************************** ;ADDIERER - SUBTRAHIERER ;VERKNUEPFT ASHALT UND BSHALT NACH BEFEHL IN B BITS 4-0 ADDSUB: IN ASHALT CHKSKP ;ASHALT OFF DB #10 DB #0 XRA A NOP NOP CHKSKP ;ASHALT KOMPLEMTIERT DB #4 DB #4 CMA NOP NOP MOV C,A IN BSHALT CHKSKP ;BSHALT OFF DB #8 DB #0 XRA A NOP NOP CHKSKP ;BSHALT KOMPLEMTIERT DB #2 DB #2 CMA NOP NOP STC CHKSKP ;INCREMENT ERGEBNIS DB #1 DB #0 CMC ;CAT 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 CALL SFLANK RST 0"2 JMP START 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 CALL SRCKJP 4 4 DW DEPOST CALL SRCKJP 2 2 DW EXAMIN CALL SFLANK RST 0"2 JMP START 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 CALL SRCKJP ;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 ;MASK UEBERFLUESSIGE BITS IM PC WEG. RUN-LAMPE ANI 17 MOV L,A POP PSW PUSH H ;SPEICHERE PC MOV A,E MVI H RAMPAG PUSH PSW ;CARRY WIRD GESPEICHERT MVI A,3 ;IN ASHALT: HOLE MEMORY ADDRESS ANI 17 CHKSKP ;LOAD ADDRESS? 1 1 MOV L,A ;JA NOP NOP CALL SRCKJP ;EXAMINE? 2 2 DW EXAM2 ;JA CALL SFLANK RST 0"2 JMP START ;DEPOSIT 4 DW BASIC2 JMP DPOST2 ;DEPOSIT NUR WENN CALL SFLANK RST 0"2 JMP START IN BIT 2 GEFUNDEN BASIC2: MOV A,E CALL SRCKJP ;00:10 10 0 DW DSPLY2 ;WARTE AUF START CALL SRCKJP ;01 30 10 DW NORMAL ;RECHNER LAUEFT NORMAL CALL SFLANK RST 0"2 JMP START ;RECHNER LAUEFT IN SINGLE STEP MODE 10 DW DSPLY2 ;WARTE AUF TAKT BIT 3 NORMAL: MOV A,M ;FETCH ANI 360 CPI 360 ;HALT BEFEHL MOV A,E JZ DSPLY2 MOV A,M ;FETCH PUSH PSW ANI 17 ;ISOLIERE ADRESSTEIL DER INSTRUKTION MOV L,A POP PSW ;GANZE INSTRUKTION ZURUECK RAR ;ISOLIERE OPCODE RAR RAR RAR ANI 17 MOV H,A ;ZWISCHENSPEICHER FUER OP-CODE POP PSW ;CARRY KOMMT ZURUECK PUSH B ;WEGEN OP-CODE MOV B,H ;OP-CODE INS BEFEHLSREGISTER MVI H RAMPAG MOV C,M ;OPERANDEN WERDEN GEHOLT CALL OPCODE MOV E,A ;NEUER WERT DES AKKU CHKSKP ;STORE 17 16 MVI H RAMPAG ;JA MOV M,A ;ADRESSTEIL DER INSTRUKTION NOCH IN L POP B POP H ;BRINGE PC ZURUECK PUSH PSW MOV A,L ;INCREMENT PC 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 CALL SFLANK RST 0"2 JMP START 6 DW START INR L ;INC P.C RST 0 DPOST2: MVI A 345 ;IN BSHALT MOV M,A JMP DSPLY2 /MACRO CHSKSP 1 CALL SRCKSK MACEND /MACRO CHKJMP 1 CALL SRCKJP MACEND /MACRO CHKCHN 1 CALL SRCKCN MACEND /MACRO FLANKE 1 CALL SFLANK /MACRO"RST 0"2 JMP START MACEND /MACRO"??? ? ?"3 #1 #2,#3 MACEND /MACRO"??? ?? ??"3 #1 #2,#3 MACEND /MACRO"??? ?? ?"3 #1 #2,#3 MACEND /MACRO"??? ? ??"3 #1 #2,#3 MACEND
/ ;ITT MIKROPROZESSOR-EXPERIMENT-KIT /;ITT MIKROPROZESSOR-EXPERIMENT-KIT / / ROMADR=0 /ROMADR=0 RAMPAG=1 ;SPATER 4 /RAMPAG=1 ;SPATER 4 / STAKAD=RAMPAG^400+400 /STAKAD=RAMPAG^400+400 CHKSKP=317 /CHKSKP=317 CHKJMP=327 /CHKJMP=327 CHKCHN=337 /CHKCHN=337 FLANKE=347 /FLANKE=347 CHKEND=0 /CHKEND=0 / / / ;HAUPTPROGRAMM /;HAUPTPROGRAMM / / *ROMADR /*ROMADR / START: NOP ;TO BE REMOVED /START: NOP ;TO BE REMOVED LXI SP STAKAD / LXI SP STAKAD JMP HAUPT2 / JMP HAUPT2 / / / *ROMADR+10 /*ROMADR+10 / / ;SUBROUTINE SRCKSK /;SUBROUTINE SRCKSK ;***************** /;***************** / ;ANRUF: CALL SRCKSK /;ANRUF: CALL SRCKSK ; MASKE /; MASKE ; VERGLEICHSZAHL /; VERGLEICHSZAHL ; XXX ;BEFEHLE:WERDEN AUSGEFUEHRT FALLS /; XXX ;BEFEHLE:WERDEN AUSGEFUEHRT FALLS ; XXX ;(B) AND MASKE = VERGLEICHSZAHL /; XXX ;(B) AND MASKE = VERGLEICHSZAHL ; XXX ; /; XXX ; / / / SRCKSK: XTHL /SRCKSK: XTHL PUSH PSW / PUSH PSW MOV A,M / MOV A M INX H / INX H ANA B / ANA B JMP CKSK2 / JMP CKSK2 / / *ROMADR+20 /*ROMADR+20 / / / ;SUBROUTINE SRCKJP /;SUBROUTINE SRCKJP ;***************** /;***************** / ;ANRUF: CALL SRCKJP /;ANRUF: CALL SRCKJP ; MASKE /; MASKE ; VERGLEICHSZAHL /; VERGLEICHSZAHL ; SPRUNGADR L ;SPRUNG ZU DIESER ADRESSE FALLS /; SPRUNGADR L ;SPRUNG ZU DIESER ADRESSE FALLS ; SPRUNGADR H ;(B) AND MASKE = VERGLEICHSZAHL /; SPRUNGADR H ;(B) AND MASKE = VERGLEICHSZAHL / / / SRCKJP: XTHL /SRCKJP: XTHL PUSH PSW / PUSH PSW MOV A,M / MOV A M INX H / INX H ANA B / ANA B JMP CKJP2 / JMP CKJP2 / / *ROMADR+30 /*ROMADR+30 / / / ;SUBROUTINE SRCKCN /;SUBROUTINE SRCKCN ;***************** /;***************** / ;ANRUF: CALL SRCKCN /;ANRUF: CALL SRCKCN ; MASKE /; MASKE ; VERGLEICHSZAHL1 ;1.ELEMENT DER KETTE /; VERGLEICHSZAHL1 ;1.ELEMENT DER KETTE ; SPRUNGADR L ;SPRUNGADRESS: SPRUNG BEI UEBEREINSTIMMUNG /; SPRUNGADR L ;SPRUNGADRESS: SPRUNG BEI UEBEREINSTIMMUNG ; SPRUNGADR H ;2. ELEMENT DER KETTE /; SPRUNGADR H ;2. ELEMENT DER KETTE ; VERGLEICHSZAHL2 /; VERGLEICHSZAHL2 ; XXX /; XXX ; XXX /; XXX ; XXX /; XXX ; XXX /; XXX ; XXX /; XXX ; .......... /; .......... ; 0 ;MASKE 0= ENDBEDINGUNG /; 0 ;MASKE 0= ENDBEDINGUNG / / / / SRCKCN: XTHL /SRCKCN: XTHL PUSH PSW / PUSH PSW CHCNLP: MOV A,M /CHCNLP: MOV A M INX H / INX H JMP CKCN2 / JMP CKCN2 / / / ;SUBROUTINE CALL SFLANK RST 0"2 JMP START /;SUBROUTINE FLANKE ;***************** /;***************** / ;PRUEFUNG AUF FLANKE: MOMENTANER BEFEHL IN B /;PRUEFUNG AUF FLANKE: MOMENTANER BEFEHL IN B ; LETZTER BEFEHL IN D /; LETZTER BEFEHL IN D / / ;ANRUF: CALL SFLANK RST 0"2 JMP START /;ANRUF: FLANKE ; MASKE /; MASKE ; ADRESSE WENN KEINE POS. CALL SFLANK RST 0"2 JMP START IN B UND D /; ADRESSE WENN KEINE POS. FLANKE IN B UND D ; HIGH ADRESSE /; HIGH ADRESSE / / *ROMADR+40 /*ROMADR+40 / SFLANK: XTHL /SFLANK: XTHL PUSH PSW / PUSH PSW MOV A,D / MOV A D CMA / CMA ANA B / ANA B ANA M / ANA M INX H / INX H JZ CNFUND ;CALL SFLANK RST 0"2 JMP START NICHT GEFUNDEN / JZ CNFUND ;FLANKE NICHT GEFUNDEN JMP CKJPND ;CALL SFLANK RST 0"2 JMP START GEFUNDEN / JMP CKJPND ;FLANKE GEFUNDEN / / / ;*ROMADR+100 / ;*ROMADR+100 / CKSK2: CMP M /CKSK2: CMP M INX H / INX H JZ CKSEND / JZ CKSEND INX H / INX H CKJPND: INX H /CKJPND: INX H INX H / INX H CKSEND: POP PSW /CKSEND: POP PSW XTHL / XTHL RET / RET / / / / CKJP2: CMP M /CKJP2: CMP M INX H / INX H JZ CNFUND / JZ CNFUND JMP CKJPND / JMP CKJPND CKCN2: CPI 0 /CKCN2: CPI 0 JZ CNEND / JZ CNEND ANA B / ANA B CMP M / CMP M INX H / INX H JZ CNFUND / JZ CNFUND INX H / INX H INX H / INX H JMP CHCNLP / JMP CHCNLP / / / / / CNFUND: MOV A,M /CNFUND: MOV A M INX H / INX H MOV H,M / MOV H M MOV L,A / MOV L A CNEND: POP PSW /CNEND: POP PSW XTHL / XTHL RET / RET / / / / / HAUPT2: IN 0 ;IN CSHALT:LESE BEFEHL:VERZW. ENTSP. BITS 7-5 /HAUPT2: IN 0 ;IN CSHALT:LESE BEFEHL:VERZW. ENTSP. BITS 7-5 MOV D,B ;FUER SUB. CALL SFLANK RST 0"2 JMP START / MOV D B ;FUER SUB. FLANKE MOV B,A ;BEFEHL IN B / MOV B A ;BEFEHL IN B CALL SRCKCN / CHKCHN / 340 ;SCHALTERSTELLUNG 1 / 340 ;SCHALTERSTELLUNG 1 40 / 40 DW CODALU / DW CODALU / 340 ; " 2 / 340 ; " 2 100 / 100 DW AKKUM / DW AKKUM / 340 ; " 3 / 340 ; " 3 140 / 140 DW AKKSPI / DW AKKSPI / 340 ; " 4 / 340 ; " 4 200 / 200 DW BASIC / DW BASIC / 340 ; " 5 / 340 ; " 5 240 / 240 DW HYPOTH / DW HYPOTH / 340 ; " 6 / 340 ; " 6 300 / 300 DW SY8080 / DW SY8080 / 340 ; " 7 / 340 ; " 7 340 / 340 DW ERWEIT / DW ERWEIT / CHKEND / CHKEND / ;SYSTEM 0 MUSS UNMITTELBAR HIER NACHFOLGEN / ;SYSTEM 0 MUSS UNMITTELBAR HIER NACHFOLGEN ;SCHALTERSTELLUNG 0 NICHT EXPLIZIT GEPRUEFT / ;SCHALTERSTELLUNG 0 NICHT EXPLIZIT GEPRUEFT / / / ;SYSTEM 0**************************************** /;SYSTEM 0**************************************** / ;ADDIERER - SUBTRAHIERER /;ADDIERER - SUBTRAHIERER ;VERKNUEPFT ASHALT UND BSHALT NACH BEFEHL IN B BITS 4-0 /;VERKNUEPFT ASHALT UND BSHALT NACH BEFEHL IN B BITS 4-0 / / / ADDSUB: MVI A 240 ;IN ASHALT /ADDSUB: MVI A 240 ;IN ASHALT / CHKSKP ;ASHALT OFF / CHKSKP ;ASHALT OFF 20 / 20 0 / 0 XRA A / XRA A NOP / NOP NOP / NOP / CHKSKP ;ASHALT KOMPLEMTIERT / CHKSKP ;ASHALT KOMPLEMTIERT 4 / 4 4 / 4 CMA / CMA NOP / NOP NOP / NOP / MOV C,A / MOV C A MVI A 123 ;IN BSHALT / MVI A 123 ;IN BSHALT / CHKSKP ;BSHALT OFF / CHKSKP ;BSHALT OFF 10 / 10 0 / 0 XRA A / XRA A NOP / NOP NOP / NOP / CHKSKP ;BSHALT KOMPLEMTIERT / CHKSKP ;BSHALT KOMPLEMTIERT 2 / 2 2 / 2 CMA / CMA NOP / NOP NOP / NOP / STC / STC / CHKSKP ;INCREMENT ERGEBNIS / CHKSKP ;INCREMENT ERGEBNIS 1 / 1 0 / 0 CMC ;CARRY 0 WENN KEIN INCREMENT / CMC ;CARRY 0 WENN KEIN INCREMENT NOP ;ERFORDERLICH / NOP ;ERFORDERLICH NOP / NOP / ADC C / ADC C DISPLY: STA 377 ;OUT RLAMPE /DISPLY: STA 377 ;OUT RLAMPE RAL / RAL ANI 1 / ANI 1 STA 376 ;OUT LLAMPE / STA 376 ;OUT LLAMPE RAR / RAR RST 0 / RST 0 /
/ / / ;SUBROUTINE OPCODE. VERKNUEPFT A UND C NACH BEFEHL IN B: BITS 3-0 /;SUBROUTINE OPCODE. VERKNUEPFT A UND C NACH BEFEHL IN B: BITS 3-0 / / / OPCODE: CHKSKP ;A=0 /OPCODE: CHKSKP ;A=0 17 / 17 0 / 0 XRA A / XRA A NOP / NOP NOP / NOP / CHKSKP ;A=1 / CHKSKP ;A=1 17 / 17 1 / 1 XRA A / XRA A INR A / INR A NOP / NOP / CHKSKP ;A=A NICHT / CHKSKP ;A=A NICHT 17 / 17 2 / 2 CMA / CMA NOP / NOP NOP / NOP / CHKSKP ;A=C / CHKSKP ;A=C 17 / 17 3 / 3 MOV A,C / MOV A C NOP / NOP NOP / NOP / CHKSKP ;A=C NICHT / CHKSKP ;A=C NICHT 17 / 17 4 / 4 MOV A,C / MOV A C CMA / CMA NOP / NOP / CHKSKP ;A=A+1 / CHKSKP ;A=A+1 17 / 17 5 / 5 ADI 1 ;NICHT INR A WEGEN CARRY / ADI 1 ;NICHT INR A WEGEN CARRY NOP / NOP / CHKSKP ;A=A-1 / CHKSKP ;A=A-1 17 / 17 6 / 6 SUI 1 ;NICHT DCR A WEGEN CARRY / SUI 1 ;NICHT DCR A WEGEN CARRY NOP / NOP / CHKSKP ;A=A+C / CHKSKP ;A=A+C 17 / 17 7 / 7 ADD C / ADD C NOP / NOP NOP / NOP / CHKSKP ;A=A-C / CHKSKP ;A=A-C 17 / 17 10 / 10 SUB C / SUB C NOP ;EVENTU. CMC / NOP ;EVENTU. CMC NOP / NOP / CHKSKP ;A=A AND B / CHKSKP ;A=A AND B 17 / 17 11 / 11 ANA C / ANA C NOP / NOP NOP / NOP / CHKSKP ;A=A OR,B / CHKSKP ;A=A OR B 17 / 17 12 / 12 ORA C / ORA C NOP / NOP NOP / NOP / CHKSKP ;A=A XOR B / CHKSKP ;A=A XOR B 17 / 17 13 / 13 XRA C / XRA C NOP / NOP NOP / NOP / CHKSKP ;A= -1 / CHKSKP ;A= -1 17 / 17 14 / 14 XRA A / XRA A CMA / CMA NOP / NOP / CHKSKP ;INPUT A=BSHALT / CHKSKP ;INPUT A=BSHALT 17 / 17 15 / 15 MVI A 253 ;IN BSHALT / MVI A 253 ;IN BSHALT NOP / NOP / RET / RET / / / /
/ *420 ;TEMPORARY /*420 ;TEMPORARY ;SYSTEM 1************************************************* /;SYSTEM 1************************************************* / ;ALU MIT CODIERUNG /;ALU MIT CODIERUNG / / / CODALU: MVI A 123 ;IN BSHALT /CODALU: MVI A 123 ;IN BSHALT MOV C,A / MOV C A MVI A 240 ;IN ASHALT / MVI A 240 ;IN ASHALT STC / STC CMC / CMC CALL OPCODE / CALL OPCODE JMP DISPLY / JMP DISPLY / / / / ;SYSTEM 2*************************************** /;SYSTEM 2*************************************** / ;AKKUMULATOR /;AKKUMULATOR / / AKKUM: MOV A,E ;AKKU IN REG E:(ACC) WIRD ANGEZEIGT /AKKUM: MOV A E ;AKKU IN REG E:(ACC) WIRD ANGEZEIGT CALL SFLANK RST 0"2 JMP START / FLANKE 20 / 20 DW DISPLY ;WARTE AUF TAKT / DW DISPLY ;WARTE AUF TAKT MVI A 123 ;IN BSHALT / MVI A 123 ;IN BSHALT MOV C,A / MOV C A MOV A,E / MOV A E CALL OPCODE / CALL OPCODE MOV E,A / MOV E A JMP DISPLY / JMP DISPLY / / / ;SYSTEM 3********************************************** /;SYSTEM 3********************************************** / ;AKKUMULATOR MIT SPEICHER /;AKKUMULATOR MIT SPEICHER / / / / AKKSPI: MOV A,E ;ACC IN REG E /AKKSPI: MOV A E ;ACC IN REG E PUSH PSW / PUSH PSW MVI A 123 ;IN ASHALT: LADE OPCODE BITS 7-4 / MVI A 123 ;IN ASHALT: LADE OPCODE BITS 7-4 ;UND ADRESSE BITS 3-0 / ;UND ADRESSE BITS 3-0 PUSH PSW / PUSH PSW ANI 17 ;SPALTE ADRESS AB / ANI 17 ;SPALTE ADRESS AB MOV L,A / MOV L A POP PSW ;BEFEHL KOMMT ZURUECK / POP PSW ;BEFEHL KOMMT ZURUECK RAR / RAR RAR / RAR RAR / RAR RAR / RAR ANI 17 ;SPALTE OP-CODE AB / ANI 17 ;SPALTE OP-CODE AB MOV H,A ;ZWISCHENSPEICHER FUER OP-CODE / MOV H A ;ZWISCHENSPEICHER FUER OP-CODE POP PSW / POP PSW CALL SRCKJP / CHKJMP 4 / 4 4 / 4 DW DEPOST / DW DEPOST / CALL SRCKJP / CHKJMP 2 / 2 2 / 2 DW EXAMIN / DW EXAMIN / CALL SFLANK RST 0"2 JMP START / FLANKE 20 / 20 DW DISPLY ;WARTE AUF TAKT / DW DISPLY ;WARTE AUF TAKT PUSH B / PUSH B MOV B,H ;OP-CODE INS B-REG / MOV B H ;OP-CODE INS B-REG MVI H RAMPAG ;H:L ENTHAELT JETZT ADRESS / MVI H RAMPAG ;H:L ENTHAELT JETZT ADRESS MOV C,M / MOV C M CALL OPCODE ;HOLE OPERANDEN / CALL OPCODE ;HOLE OPERANDEN MOV E,A ;SYSTEM-AKKU ZURUECK / MOV E A ;SYSTEM-AKKU ZURUECK CALL SRCKJP ;OP-CODE NOCH IN B: STORE? / CHKJMP ;OP-CODE NOCH IN B: STORE? 17 / 17 16 / 16 DW STORE / DW STORE POP B / POP B JMP DISPLY / JMP DISPLY / / DEPOST: MVI A 240 ;IN BSHALT /DEPOST: MVI A 240 ;IN BSHALT STORND: MVI H RAMPAG /STORND: MVI H RAMPAG MOV M,A / MOV M A JMP DISPLY / JMP DISPLY / EXAMIN: MVI H RAMPAG /EXAMIN: MVI H RAMPAG MOV A,M / MOV A M JMP DISPLY / JMP DISPLY / / STORE: POP B /STORE: POP B JMP STORND / JMP STORND / / / / ;SYSTEM 4****************************************** /;SYSTEM 4****************************************** / ;BASIC COMPUTER /;BASIC COMPUTER / / ;REGISTER ZUORDNUNG /;REGISTER ZUORDNUNG / ;FLAGS /;FLAGS ;DST;ARBEITSREGISTER A /;DST;ARBEITSREGISTER A ;BEFEHLSREGISTER B /;BEFEHLSREGISTER B ;SRC C /;SRC C ;LETZTER BEFEHL D /;LETZTER BEFEHL D ;AKKU E /;AKKU E ;PC-HIGH H /;PC-HIGH H ;PC-LOW L /;PC-LOW L / BASIC: PUSH PSW ;RETTE CARRY /BASIC: PUSH PSW ;RETTE CARRY MOV A,L ;MASK UEBERFLUESSIGE BITS IM PC WEG. RUN-LAMPE / MOV A L ;MASK UEBERFLUESSIGE BITS IM PC WEG. RUN-LAMPE ANI 17 / ANI 17 MOV L,A / MOV L A POP PSW / POP PSW PUSH H ;SPEICHERE PC / PUSH H ;SPEICHERE PC MOV A,E / MOV A E MVI H RAMPAG / MVI H RAMPAG PUSH PSW ;CARRY WIRD GESPEICHERT / PUSH PSW ;CARRY WIRD GESPEICHERT MVI A,3 ;IN ASHALT: HOLE MEMORY ADDRESS / MVI A 3 ;IN ASHALT: HOLE MEMORY ADDRESS ANI 17 / ANI 17 / CHKSKP ;LOAD ADDRESS? / CHKSKP ;LOAD ADDRESS? 1 / 1 1 / 1 MOV L,A ;JA / MOV L A ;JA NOP / NOP NOP / NOP / CALL SRCKJP ;EXAMINE? / CHKJMP ;EXAMINE? 2 / 2 2 / 2 DW EXAM2 ;JA / DW EXAM2 ;JA / CALL SFLANK RST 0"2 JMP START ;DEPOSIT / FLANKE ;DEPOSIT 4 / 4 DW BASIC2 / DW BASIC2 JMP DPOST2 ;DEPOSIT NUR WENN CALL SFLANK RST 0"2 JMP START IN BIT 2 GEFUNDEN / JMP DPOST2 ;DEPOSIT NUR WENN FLANKE IN BIT 2 GEFUNDEN / BASIC2: MOV A,E /BASIC2: MOV A E CALL SRCKJP ;00:10 / CHKJMP ;00:10 10 / 10 0 / 0 DW DSPLY2 ;WARTE AUF START / DW DSPLY2 ;WARTE AUF START / CALL SRCKJP ;01 / CHKJMP ;01 30 / 30 10 / 10 DW NORMAL ;RECHNER LAUEFT NORMAL / DW NORMAL ;RECHNER LAUEFT NORMAL CALL SFLANK RST 0"2 JMP START ;RECHNER LAUEFT IN SINGLE STEP MODE / FLANKE ;RECHNER LAUEFT IN SINGLE STEP MODE 10 / 10 DW DSPLY2 ;WARTE AUF TAKT BIT 3 / DW DSPLY2 ;WARTE AUF TAKT BIT 3 / NORMAL: MOV A,M ;FETCH /NORMAL: MOV A M ;FETCH ANI 360 / ANI 360 CPI 360 ;HALT BEFEHL / CPI 360 ;HALT BEFEHL MOV A,E / MOV A E JZ DSPLY2 / JZ DSPLY2 / MOV A,M ;FETCH / MOV A M ;FETCH PUSH PSW / PUSH PSW ANI 17 ;ISOLIERE ADRESSTEIL DER INSTRUKTION / ANI 17 ;ISOLIERE ADRESSTEIL DER INSTRUKTION MOV L,A / MOV L A POP PSW ;GANZE INSTRUKTION ZURUECK / POP PSW ;GANZE INSTRUKTION ZURUECK RAR ;ISOLIERE OPCODE / RAR ;ISOLIERE OPCODE RAR / RAR RAR / RAR RAR / RAR ANI 17 / ANI 17 MOV H,A ;ZWISCHENSPEICHER FUER OP-CODE / MOV H A ;ZWISCHENSPEICHER FUER OP-CODE POP PSW ;CARRY KOMMT ZURUECK / POP PSW ;CARRY KOMMT ZURUECK PUSH B ;WEGEN OP-CODE / PUSH B ;WEGEN OP-CODE MOV B,H ;OP-CODE INS BEFEHLSREGISTER / MOV B H ;OP-CODE INS BEFEHLSREGISTER MVI H RAMPAG / MVI H RAMPAG MOV C,M ;OPERANDEN WERDEN GEHOLT / MOV C M ;OPERANDEN WERDEN GEHOLT CALL OPCODE / CALL OPCODE MOV E,A ;NEUER WERT DES AKKU / MOV E A ;NEUER WERT DES AKKU CHKSKP ;STORE / CHKSKP ;STORE 17 / 17 16 / 16 MVI H RAMPAG ;JA / MVI H RAMPAG ;JA MOV M,A ;ADRESSTEIL DER INSTRUKTION NOCH IN L / MOV M A ;ADRESSTEIL DER INSTRUKTION NOCH IN L POP B / POP B POP H ;BRINGE PC ZURUECK / POP H ;BRINGE PC ZURUECK PUSH PSW / PUSH PSW MOV A,L ;INCREMENT PC / MOV A L ;INCREMENT PC INR A / INR A ANI 17 / ANI 17 ORI 100 ;SETZE RUN LAMPE / ORI 100 ;SETZE RUN LAMPE MOV L,A / MOV L A MOV A,E / MOV A E JMP DSPLY2 / JMP DSPLY2 / / / EXAM2: DCR L /EXAM2: DCR L MOV A,M / MOV A M INR L / INR L DSPLY2: STA 377 ;OUT RLAMPE /DSPLY2: STA 377 ;OUT RLAMPE MOV A,L / MOV A L RAL / RAL RAL / RAL RAL / RAL MOV H,A / MOV H A POP PSW / POP PSW MOV A,H / MOV A H RAL / RAL STA 376 ;OUT LLAMPE / STA 376 ;OUT LLAMPE RAR / RAR CALL SFLANK RST 0"2 JMP START / FLANKE 6 / 6 DW START / DW START INR L ;INC P.C / INR L ;INC P.C RST 0 / RST 0 / / DPOST2: MVI A 345 ;IN BSHALT /DPOST2: MVI A 345 ;IN BSHALT MOV M,A / MOV M A JMP DSPLY2 / JMP DSPLY2 / / MACRO CHSKSP 1 CALL SRCKSK MACEND MACRO CHKJMP 1 CALL SRCKJP MACEND MACRO CHKCHN 1 CALL SRCKCN MACEND MACRO FLANKE 1 CALL SFLANK MACEND MACRO"RST 0"2 JMP START MACEND MACRO"??? ? ?"3 #1 #2,#3 MACEND MACRO"??? ?? ??"3 #1 #2,#3 MACEND MACRO"??? ?? ?"3 #1 #2,#3 MACEND MACRO"??? ? ??"3 #1 #2,#3 MACEND



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