File CALC8.PA (PAL assembler source file)

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

/	ERLAEUTERUNG ZUM RECHENMODUL
/	MIT 4 GRUNDRECHENARTEN
/
/	ES WIRD EIN ZEICHEN EINGEGEBEN UND BEARBEITET.
/	FOLGENDE EINGABEN SIND MOEGLICH:
/
/	   1.   EIN OPERATIONSZEICHEN     (+,-,*,/,=)
/	   2.   EINE ZIFFER
/	   3.   EIN SONDERZEICHEN         (CR,LF,RUBOUT,CTRL/U,C,P)
/	   4.   EINE FALSCHE EINGABE
/
/	FOLGENDE TEILPROGRAMME SIND NOETIG:
/
/	   1.   ZEICHEN EINLESEN UND SEINE BEDEUTUNG PRUEFEN
/	   2.   GRUNDRECHENARTEN AUSFUEHREN
/	   3.   DEZIMAL-OCTAL UND OCTAL-DEZIMAL UMWANDLUNG
/	   4.   ECHO AUF SONDERZEICHEN
/	   5.   AUFTRETENDE FEHLER AUSZEIGEN

EJECT D E V I N I T I O N E N

/		PSEUDO-DEFINITIONEN

*20
NOECHO=6770	/ KEIN DIREKTES ECHO NACH DER EINGABE
TYPE=JMS PRINT	/ AUSDRUCK DES AKKUMULATORS
WRITE=JMS OUT	/ TEXTAUSDRUCK DER FEHLERMELDUNG
CRLF=JMS CRLFUP / RETURN + LINEFEED
BETRAG=JMS ABS	/ BETRAG EINER ZAHL UND SPEICHERN DES VORZEICHENS
INIT=JMS INITI	/ INITIALISIERUNG WICHTIGER VARIABLEN
ERROR=JMS ERR	/ STANDARTTEXT VOR DER FEHLERMELDUNG
GRENZE=-PEND-110/ MAXIMAL 70 ZEICHEN ALS EINGABE ZUGELASSEN
SIGNUM=JMP I .	/ VORZEICHEN DES ZWISCHENERGEBNISSES
	SIGN
DEZBIN=JMS I .	/ DEZIMAL-DUAL UMWANDLUNG
	DEZIMAL
BINDEZ=JMP I .	/ DUAL-DEZIMAL UMWANDLUNG
	BINAER
FAIL1=JMP I .	/ FALSCHE EINGABE
	F1
FAIL2=JMP I .	/ ZAHL ZU GROSS
	F2
FAIL3=JMP I .	/ ERGEBNIS ZU GROSS
	F3
FAIL4=JMP I .	/ DIVISION DURCH 0
	F4
FAIL5=JMP I .	/ AUFGABE ZU LANG
	F5
EJECT
/		VARIABLEN-DEFINITION

/	GLOBALE VARIABLEN

KSIGN,	"+	/ KONSTANTES VORZEICHEN
STWERT,	.+2	/ STARTADRESSE DER ZIFFERNLISTE
ASIGN,	"+	/ VORZEICHEN DER EINGEGEBENEN ZAHL
	0000	/ 25-27 LISTE DER MAXIMAL 4 ASCII-ZIFFERN
	0000
	0000
	0000
OZAHL,	0000	/ UMGEWANDELTE DUALZAHL AUS DEN ASCII-ZIFFERN
ZWE,	0000	/ ZWISCHENERGEBNIS NACH JEDER OPERATION
TEMP,	0000	/ TEMPURAERER SPEICHER
AUFGABE,PEND / STARTADRESSE DES AUFGABENTEXTES
ZIFLAG,	0000	/ ANZAHL DER EINGEGEBENEN ZIFFERN
OPFLAG, 0000	/ ANZAHL DER EINGEGEBENEN OPERANDEN

/	ZEICHENBEARBEITUNG (LOKALE VARIABLEN)

SYMBOL,	0000	/ ZWISCHENSPEICHER FUER OPERATIONEN
OPRD,	.+1	/ STARTADRESSE DER MOEGLICHEN OPERATIONSZEICHEN
ADOP,	-"+	/ LISTE DER NEGATIVEN OPERATIONSZEICHEN
SUOP,	-"-
MUOP,	-"*
DIOP,	-"/
GLOP,	-"=
	0	/ ENDE DER LISTE (ZUR SCHLEIFENSTEUERUNG)

/	RECHENROUTINE (GLOBALE VARIABLE)

BIT0,	0000	/ SPEICHER DES VORZEICHENS EINER ZAHL

/	DIVISION (LOKALE VARIABLE)

OUOTY,	0000	/ ERGEBNIS DER DIVISION

/	BASISUMWANDLUNG (GLOBALE VARIABLE)

STELLE,	.+1	/ STARTADRESSE DER DEZIMALSTELLEN
	DECIMAL
	1000	/ T.STELLE
	 100	/ H.STELLE
	  10	/ Z.STELLE
	OCTAL

/	KONSTANTEN

AC2,	CLA CLL IAC RAL		/ AC=2
ACM2,	CLA CLL CMA RAL		/ AC=-2
K210,	210	/ ASCII-CODE BACK SPACE
K212,	212	/ ASCII-CODE LINEFEED
K215,	215	/ ASCII-CODE RETURN
K240,	240	/ ASCII-CODE BLANK
K260,	260	/ ASCII-CODE 0
K336,	336	/ ASCII-CODE POWER
/	MIT 4 GRUNDRECHENARTEN
EJECT
/		STANDARD UNTERPROGRAMME

PRINT,	.-.		/ DER AKKUINHALT WIRD AUSGEDRUCKT
	TLS
	TSF
	JMP .-1
	CLA CLL
	JMP I PRINT

OUT,	.-.		/ AUSDRUCK EINER FEHLERMELDUNG
	CLA CLL
	TAD (OUT+1	/ STARTADRESSE DES ZU DRUCKENDEN TEXTES
	DCA TEMP
	TAD T TEMP
	SNA		/ DA JEDE MELDUNG MIT EINER "0" ENDET,
	JMP I OUT	/ DIENT DIESE ALS ABBRUCHBEDINGUNG
	TYPE
	ISZ TEMP
	JMP .-5

CRLFUP,	.-.		/ SPRUNG IN DIE NAECHSTE ZEILE
	TAD K215
	TYPE
	TAD K212
	TYPE
	JMP I CRLFUP

ERR,	.-.		/ STANDARDTEXT VOR EINER FEHLERMELDUNG
	CRLF
	WRITE
	JMP I ERR
	"E;"R;"R;"O;"R;" ;"!;" 

ABS,	.-.		/ UEBERPRUEFUNG DES VORZEICHENS
	TAD ZWE		/ BEI NEGATIVER ZAHL WIRD BIT0 UM 1 ERHOEHT
	SMA		/ UND DIE ZAHL WIRD KOMPLEMENTIERT
	JMP .+4		/ (WENN BIT0=1, DANN IST ZWE NEGATIV)
	CIA
	DCA ZWE
	ISZ BIT0
	CLA CLL
	TAD OZAHL
	SMA
	JMP .+4
	CIA
	DCA OZAHL
	ISZ BIT0
	CLA CLL
	JMP I ABS


/ ************************************************************ / ******************* ZEICHEN EINLESEN ******************* / ************************************************************ *200 CLA CLL TAD ("# TYPE CLA TAD (2 NOECHO READ, ISZ Z LTEMP CLA CLL TAD AUSFOP TAD GLEICH / BEIM "=" SOLL DAS ERGEBNIS GEDRUCKT WERDEN SNA CLA JMP OUTPUT KSF JMP .-1 KRB DCA Z TEMP TAD Z LTEMP / IST NOCH PLATZ DIESES ZEICHEN TAD (-200 / IN DIE AUFGABE AUFZUNEHMEN ? SZA CLA JMP .+3 TAD (5 JMP FEHLER
/ ************************************************************ / ************ OPERATIONS-CODE UEBERPRUEFUNG ************ / ************************************************************ TAD OPRD / INITIALISIERUNG DES STARTSPEICHERS DER DCA SYMBOL / MOEGLICHEN OPERATIONSZEICHEN TAD (-5 DCA LZEIG OPROBE, TAD Z TEMP / OPERATIONSUEBREPRUEFUNG TAD I SYMBOL SNA CLA JMP .+7 / ES LIEGT EIN OPERATIONSZEICHEN VOR ISZ SYMBOL ISZ LZEIG JMP OPROBE JMP ZPROBE / ES LIEGT KEIN OPERATIONSZEICHEN VOR AUSFOP, "+ / AUSZUFUEHRENDE OPERATION 0000 / FOLGENDE OPERATION TAD Z TEMP TYPE / ECHO NACH DER EINGABE DCA I Z LTEMP STA TAD Z LTEMP DCA Z TEMP TAD I Z TEMP TAD (-"0 / WURDE VORHER EIN OPERATIONSZEICHEN GETIPPT ? SMA CLA JMP .+10 / ES LAG KEIN OPERATIONSZEICHEN VOR TAD I Z LTEMP TAD SOPC / WURDE EIN "-" EINGEGEBEN ? SZA CLA JMP OS8RET-2 TAD I Z LTEMP / "-" WURDE ALS VORZEICHEN IDENTIFIZIERT DCA ASIGN JMP READ TAD AUSFOP / UMSPEICHERN DER AUSFUEHRUNGSOPERATION DCA AUSFOP+1 TAD I Z LTEMP DCA AUSFOP TAD AUSFOP+1 SNA CLA JMP READ JMS ZAHL / UMWANDLUNG DER ZIFFERN IN EINE BINAERZAHL TAD AUSFOP+1 / DIE VORHERIGE OPERATION WIRD AUSGEFUEHRT TAD AOPC SNA CLA JMP PLUS TAD AUSFOP+1 TAD SOPC SNA CLA JMP MINUS TAD AUSFOP+1 TAD MOPC SNA CLA JMP MAL TAD AUSFOP+1 TAD DOPC SNA CLA JMP DURCH JMP READ
/ ************************************************************ / ************** ZIFFERN-CODE UEBERPRUEFUNG ************** / ************************************************************ ZPROBE, TAD Z TEMP / ZIFFERNUEBERPRUEFUNG TAD (-"0 SPA JMP SPROBE TAD (-12 SMA CLA / ES LIEGT EINE ZIFFER VOR JMP SPROBE TAD Z ZIFFL TAD (-4 / IST DIE MAXIMALE ZIFFERNLAENGE ERREICHT ? SMA CLA JMP READ+1 TAD Z TEMP TYPE / ECHO AUF DIE EINGABE DCA I Z LTEMP TAD Z BASIS / UMSPEICHERN EINER ZIFFER IN DIE ZIFFERNLISTE TAD Z ZIFFL DCA SYMBOL TAD I Z LTEMP DCA I SYMBOL ISZ Z ZIFFL JMP READ SYMBOL, 0000 / ZWISCHENSPEICHER FUER OPERATIONEN OPRD, 0346 / STARTSPEICHER FUER OPERATIONSZEICHEN LZEIG, 0000 / ZEIGER FUER DIE ANZAHL DER OPERATIONEN AOPC, -"+ / COMPLEMENTIERTE LISTE DER OPERATIONSZEICHEN SOPC, -"- MOPC, -"* DOPC, -"/ GLEICH, -"= KSIGN, "+ / KONSTANTES VORZEICHEN PAGE
/ ************************************************************ / ****** SONDERZEICHEN-CODE UEBERPRUEFUNG MIT ECHO ****** / ************************************************************ SPROBE, CLA / SONDERZEICHENUEBERPRUEFUNG TAD Z TEMP TAD (-215 / RETURN SNA CLA JMP READ+1 TAD Z TEMP TAD (-203 / CTRL/C SNA CLA JMP OS8RET TAD Z TEMP TAD (-220 / CTRL/P SNA CLA JMP NEW+5 TAD Z TEMP TAD (-225 / CTRL/U SNA CLA JMP NEW TAD Z TEMP TAD (-212 / LINEFEED SNA CLA JMP LINEF TAD Z TEMP TYPE TAD (-377 / RUBOUT SNA CLA JMP RUBOUT CLA IAC / FALSCHE EINGABE JMP FEHLER OS8RET, TAD ("^ / ECHO AUF CTRL/C TYPE / (RUECKSPRUNG IN DEN MONITOR) CLA TAD ("C TYPE JMS MEMORY JMP I .+1 7600 NEW, TAD ("^ / ECHO AUF CTRL/U UND CTRL/P TYPE / (INITIALISIERUNG FUER EINE NEUE AUFGABE) CLA TAD ("U TYPE JMS MEMORY JMS Z SKIP JMP 200 LINEF, JMS Z SKIP / ECHO AUF LINEFEED TAD (240 / (DIE AUFGABE WIRD GEDRUCKT) TYPE CLA TAD Z LTEMP TAD (-37 CMA DCA Z TEMP TAD (36 DCA Z LTEMP LIST, TAD I Z LTEMP TYPE CLA ISZ Z LTEMP ISZ Z TEMP JMP LIST JMP READ+1 RUBOUT, TAD (210 / ECHO AUF RUBOUT TYPE / (LOESCHEN EINES ZEICHENS) TAD (30 TYPE CLA TAD (210 TYPE CLA TAD I Z LTEMP / WENN DAS ZU LOESCHENDE ZEICHEN EINE TAD (-"0 / ZIFFER IST, MUSS AUCH DIE ZIFFERN- SPA / LAENGE VERRINGERT WERDEN JMP .+10 TAD (-12 SMA CLA JMP .+6 STA TAD Z ZIFFL DCA Z ZIFFL JMP .+3 CLA DCA AUSFOP / LOESCHEN DER LETZTEN OPERATION STA TAD Z LTEMP DCA Z LTEMP JMP READ+1 MEMORY, .-. / INITIALISIERUNG FUER EINE NEUE AUFGABE CLA TAD (35 / STARTSPEICHER FUER DIE AUFGABE DCA Z LTEMP TAD KSIGN / INITIALISIERUNG DES AKTUELLEN VORZEICHENS DCA Z ASIGN TAD KSIGN / INITIALISIERUNG DER 1. OPERATION DCA AUSFOP DCA Z ZIFFL / INITIALISIERUNG DER ZIFFERNLAENGE DCA Z OZAHL / INITIALISIERUNG DES ZWISCHENSPEICHERS DCA Z ZWE / INITIALISIERUNG DES ZWISCHENERGEBNISSES JMP I MEMORY PAGE
/ ************************************************************ / ********************* RECHENROUTINE ******************** / ************************************************************ PLUS, TAD Z OZAHL / DAS VORZEICHEN BEIDER SUMMANDEN WIRD GESPEICHERT SMA CLA / BEI NEGATIVER ZAHL WIRD BIT0 UM 1 ERHOET JMP .+3 / BEI POSITIVER ZAHL WIRD BIT0 UM 1 VERRINGERT ISZ BIT0 JMP .+3 STA DCA BIT0 TAD Z ZWE SMA CLA JMP .+3 ISZ BIT0 JMP .+4 STA TAD BIT0 DCA BIT0 TAD Z OZAHL / ADDITION TAD Z ZWE DCA Z ZWE TAD BIT0 SNA JMP READ / BIT0 = 0 => ZWE IST IMMER < 2047 SPA CLA / BIT0 > 0 => ZWE MUSS < 2047 SEIN JMP .+6 / BIT0 < 0 => ZWE MUSS < 0 SEIN DCA BIT0 TAD Z ZWE SMA CLA JMP READ JMP FALSCH / ZWE IST NEGATIV GEWORDEN (ZWE > 2047) DCA BIT0 TAD Z ZWE SPA CLA JMP READ JMP FALSCH / ZWE IST POSITIV GEWORDEN (ZWE > 0 ) MINUS, TAD Z ZWE / SUBTRAKTION CIA / DER KOMPLEMENTIERTE SUMMAND WIRD ZU ZWE ADDIERT JMP PLUS / (BEIDE DEFINITIONSMENGEN SIND GLEICH) MAL, TAD Z ZWE / MULTIPLIKATION JMS BETRAG / UEBERPRUEFUNG DES VORZEICHENS DCA FAC1 TAD OZAHL JMS BETRAG / UEBERPRUEFUNG DES VORZEICHENS DCA FAC2 TAD FAC2 / DER KLEINSTE FAKTOR WIRD GESUCHT CIA TAD FAC1 SMA CLA JMP .+7 / FAC2 < FAC1 (ES WIRD NICHT VERTAUSCHT) TAD FAC1 / FAC1 > FAC2 (FAC1 WIRD MIT FAC2 VERTAUSCHT) DCA Z TEMP TAD FAC2 DCA FAC1 TAD Z TEMP DCA FAC2 / DER KLEINSTE FAKTOR STEHT IN FAC2 TAD FAC2 CMA DCA FAC2 MULTI, ISZ FAC2 / MULTIPLIKATIONSSCHLEIFE JMP .+2 JMP ENDM / ENDE DER MULTIPLIKATION CLA TAD SUM TAD FAC1 DCA SUM TAD SUM RAL SNL JMP MULTI CLA JMP FALSCH / ERGEBNIS ZU GROSS ENDM, CLL CLA / UNTER BERUECKSICHTIGUNG DES VORZEICHENS TAD BIT0 / WIRD DAS ERGEBNIS DER MULTIPLIKATION ZU ZWE ADDIERT RAR CLA TAD SUM SZL CIA DCA Z ZWE DCA SUM / INITIALISIERUNG ZUR NAECHSTEN MULTIPLIKATION DCA BIT0 DCA FAC1 DCA FAC2 JMP READ BETRAG, .-. / DER BETRAG EINER ZAHL WIRD GEBILDET SMA / UND DAS VORZEICHEN WIRD GESPEICHERT JMP I BETRAG / DIE ZAHL IST POSIV CIA / DIE NEGATIVE ZAHL WIRT COMPLEMENTIERT ISZ BIT0 / DAS VORZEICHEN WIRD GESPEICHERT JMP I BETRAG SUM, 0000 / HILFSSPEICHER FUER ZWISCHENRECHNUNGEN FAC1, 0000 / SPEICHER DES GROESSTEN FAKTORS FAC2, 0000 / SPEICHER FUER DEN KLEINSTEN FAKTOR BIT0, 0000 / SPEICHER DES VORZEICHENS PAGE DURCH, TAD Z OZAHL / DIVISION SZA CLA JMP .+3 TAD (3 / DIVISION DURCH 0 JMP FEHLER JMS SIGN CLA CLL TAD Z OZAHL / OZAHL WIRD SOLANGE ROTIERT RAL / BIS DIE GROESSTE POSITIVE ZAHL ENTSTEHT SPA / (NACH DEM 0.TEN BIT FOLGT EINE 1) JMP SUB DCA Z OZAHL CMA TAD ZAEHL DCA ZAEHL JMP .-11 SUB, CLA CLL / DA ZAEHLER VERAENDERT WIRD, TAD ZAEHL / IST 2.TE VARIABLE NOETIG DCA COUNT TAD Z OZAHL / ROTIERTE ZAHL WIRD VON ZWE ABGEZUGEN CIA TAD Z ZWE SPA / WELCHES VORZEICHEN HAT DIE DIFFERENZ JMP ROTIER DCA Z ZWE ISZ ROTATE TAD COUNT SNA JMP .+7 CLA CLL TAD ROTATE / ES WIRD SOLANGE ROTIERT RAL / BIS DIE 1 AN DER RICHTIGEN STELLE STEHT DCA ROTATE ISZ COUNT JMP .-5 TAD QUO TAD ROTATE / DIE 1 STEHT AN DER RICHTIGEN STELLE DCA QUO / UND WIRD ZUM BISHERIGEN QUOTIENT ADDIERT DCA ROTATE TAD Z ZWE SNA JMP ENDD / SUBTRAKTION GING AUF ROTIER, CLA TAD ZAEHL SMA JMP ENDD CLA IAC / HOECHST MOEGLICHE ANZAHL VON TAD ZAEHL / AUSGEFUEHRT DCA ZAEHL CLL / VORAUSSETZUNG FUER NAECHSTE TAD Z OZAHL / SUBTRAKTION SCHAFFEN RAR DCA Z OZAHL JMP SUB ENDD, CLA CLL TAD QUO DCA Z ZWE DCA ZAEHL / INITIALISIERUNG DCA COUNT / DER DCA QUO / VARIABLEN JMS PRUEF CLA CLL DCA BIT0 / INITIALISIERUNG JMP READ ZAEHL, 0000 / NEGATIVE ANZAHL DER ROTATIONEN VON OZAHL COUNT, 0000 / GIBT AN WIE OFT 1 ROTIERT WERDEN MUSS QUO, 0000 / BISHERIGER QUOTIENT ROTATE, 0000 / SCHIEBT DIE 1-SEN AN DIE RICHTIGE STELLE SIGN, .-. / UEBERPRUEFUNG DER VORZEICHEN TAD Z ZWE / WENN EIN OPERAND NEGATIVES VORZEICHEN SPA / BESITZT WIRD BIT0 UM 1 ERHOET JMP .+11 / (DAS ENDERGEBNIS IST ALSO NEGATIV, WENN BIT0=1 CLA CLL TAD Z OZAHL SMA JMP I SIGN CIA DCA Z ZWE ISZ BIT0 JMP I SIGN CIA DCA Z ZWE ISZ BIT0 JMP .-13 PRUEF, .-. / VORZEICHEN DES QUOTIENTEN TAD BIT0 CIA DCA BIT0 ISZ BIT0 JMP I PRUEF TAD Z ZWE / DER QUOTIENT MUSS NEGIERT WERDEN CIA DCA Z ZWE JMP I PRUEF FALSCH, TAD (4 JMP FEHLER PAGE
/ ************************************************************ / ******************** BASISUMRECHNUNG ******************* / ************************************************************ / / DAS UNTERPROGRAMM WANDELT EINE 4-STELLIGE DEZIMALE / ZAHL IN EINE 12-BIT BINAERZAHL UNTER BERUCKSICH- / TIGUNG DES DEFINITIONSBEREICHS UM . ZAHL, .-. / DEZIMAL-OKTAL UMWANDLUNG TAD Z ZIFFL TAD (-4 CLL SZA CLA / HAT DIE DEZIMAL-ZAHL MEHR ALS 3 ZIFFERN JMP CHANGE / ERFOLGT EINE UBERPRUEFUNG DES BETRAGES , TAD I Z BASIS / SONST WIRD DIREKT UMGEWANDELT . TAD (-262 CLL SPA / ZAHL WIRD UMGEWANDELT WENN SIE < 2000 JMP CHANGE TAD (-1 CLL SPA CLA / FALLS DIE ZAHL >= 3000 IST ERFOLGT FEHLER- JMP ZERO2 / MELDUNG , SONST WIRD WEITER UEBERPRUEFT JMP FAIL ZERO2, ISZ Z BASIS TAD I Z BASIS TAD (-"1 SNA CLA / IST DIE ZAHL >= 2100 ERFOLGT JMP FAIL / FEHLERMELDUNG . ISZ Z BASIS TAD Z I BASIS TAD (-265 CLL SPA / IST DIE ZAHL >= 2050 ERFOLGT JMP ZERO4 / FEHLERMELDUNG . JMP FAIL ZERO4, IAC CLL SPA CLA / IST SIE < 2040 WIRD UMGEWANDELT JMP CHANGE / SONST WIRD WEITER UEBERPRUEFT . ISZ Z BASIS TAD Z I BASIS TAD (-271 CLL SPA / JMP ZERO5 JMP FAIL ZERO5, IAC CLL SPA CLA JMP CHANGE TAD (20 DCA Z BASIS TAD I Z BASIS TAD (-"- SNA CLA JMP CHANGE JMP FAIL CHANGE, CLA CLL DCA Z OZAHL DCA Z TEMP TAD (21 DCA Z BASIS TAD Z ZIFFL CIA DCA Z ZIFFL NEWZHL, TAD I Z BASIS TAD (-"0 CLL TAD Z OZAHL ISZ Z ZIFFL JMP .+2 JMP SIGNUM DCA Z OZAHL TAD Z OZAHL RTL RAL DCA Z TEMP TAD Z OZAHL RAL TAD Z TEMP DCA Z OZAHL ISZ Z BASIS JMP NEWZHL SIGNUM, DCA Z OZAHL TAD (20 DCA Z BASIS TAD Z I BASIS TAD (-"- CLL SZA JMP AKKU TAD Z OZAHL CIA DCA Z OZAHL AKKU, CLA TAD ("+ DCA Z ASIGN TAD (21 DCA Z BASIS JMP I ZAHL FAIL, CLA TAD (2 JMP FEHLER PAGE OUTPUT, JMS Z SKIP / OCTAL-DEZIMAL UMRECHNUNG TAD ("^ TYPE CLA TAD Z K215 TYPE DCA AUSFOP JMP READ PAGE
/ ************************************************************ / ********************* FEHLERMELDUNG ******************** / ************************************************************ FEHLER, TAD START / BASISADRESSE WIRD ZUM AKKU ADDIERT DCA SPRUNG JMS SKIP JMS ERROR JMP I SPRUNG START, 1606 / BASISADRESSE DER FEHLER SPRUNG, 0000 / AKTUELLE SPRUNGADRESSE DER FEHLER JMS FAIL1 JMS FAIL2 JMS FAIL3 JMS FAIL4 JMS FAIL5 PAGE ERROR, .-. / DER TEXT "ERROR" WIRD GEDRUCKT CLA CLL TAD (-7 DCA LZEIG TAD (2015 DCA Z TEMP TAD I Z TEMP TYPE CLA ISZ Z TEMP ISZ LZEIG JMP .-5 JMP I ERROR "E;"R;"R;"O;"R;" ;" FAIL1, .-. / DER TEXT "FALSCHE EINGABE" WIRD GEDRUCKT CLA CLL TAD (-17 DCA LZEIG TAD (2041 DCA Z TEMP TAD I Z TEMP TYPE CLA ISZ Z TEMP ISZ LZEIG JMP .-5 JMP LINEF "F;"A;"L;"S;"C;"H;"E;" ;"E;"I;"N;"G;"A;"B;"E FAIL2, .-. / DER TEXT "ZAHL ZU GROSS" WIRD GEDRUCKT CLA CLL TAD (-15 DCA LZEIG TAD (2102 DCA Z TEMP TAD I Z TEMP TYPE CLA ISZ Z TEMP ISZ LZEIG JMP .-5 TAD Z ZIFFL CIA TAD Z LTEMP DCA Z LTEMP DCA Z ZIFFL JMP LINEF "Z;"A;"H;"L;" ;"Z;"U;" ;"G;"R;"O;"S;"S PAGE FAIL3, .-. / DER TEXT "DIVISION DURCH 0" WIRD GEDRUCKT CLA CLL TAD (-20 DCA LZEIG TAD (2215 DCA Z TEMP TAD I Z TEMP TYPE CLA ISZ Z TEMP ISZ LZEIG JMP .-5 JMP LINEF "D;"I;"V;"I;"S;"I;"O;"N;" ;"D;"U;"R;"C;"H;" ;"0 FAIL4, .-. / DER TEXT "ERGEBNIS ZU GROSS" WIRD GEDRUCKT CLA CLL TAD (-21 DCA LZEIG TAD (2252 DCA Z TEMP TAD I Z TEMP TYPE CLA ISZ Z TEMP ISZ LZEIG JMP .-5 JMP NEW+5 "E;"R;"G;"E;"B;"N;"I;"S;" ;"Z;"U;" ;"G;"R;"O;"S;"S FAIL5, .-. / DER TEXT "AUFGABE ZU LANG" WIRD GEDRUCKT CLA CLL TAD (-17 DCA LZEIG TAD (2310 DCA Z TEMP TAD I Z TEMP TYPE CLA ISZ Z TEMP ISZ LZEIG JMP .-5 JMP NEW+5 "A;"U;"F;"G;"A;"B;"E;" ;"Z;"U;" ;"L;"A;"N;"G $



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