\r
THE SOURCE OF DDT,13 WILL ASSEMBLE INTO SEVERAL DIFFERENT\r
VERSIONS; THE ASSEMBY IS CONTROLED BY THE VALUE ASSIGNED\r
-TO THE SYMBOL "EDDT". THE SYMBOL "EDDT" IS DECODED AS FOLLOWSR:\r
+TO THE SYMBOL "EDDT". THE SYMBOL "EDDT" IS DECODED AS FOLLOWS:\r
\r
BIT 35 =0: ASSEMBLE USER MODE DDT\r
=1: ASSEMBLE AN EXECUTIVE MODE DDT\r
BIT 34 =0: DO NOT ASSEMBLE THE PAPER TAPE FEATURE INTO DDT\r
=1: ASSEMBLE THE PAPER TAPE FEATURES BUT ONLY IF\r
ASSEMBLING AN EXECUTIVE MODE DDT\r
+\r
BIT 33 =0; FOR USER MODE DDT ONLY- ASSEMBLE USING THE\r
"TTCALL" UUO FOR TELETYPE IO\r
=1; FOR USER MODE DDT ONLY- ASSEMBLE USING THE\r
WITH PAPER TAPE FEATURES, AND WHOSE STARTING\r
ADDRESS IS LOCATION 4000.\r
\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
EXAMPLE OF A MACRO ASSEMBLY COMMAND:\r
\r
.^C\r
^Z\r
\r
END OF PASS 1 ;THIS LINE TYPED BY MACRO\r
-\r
^Z\r
\r
NO ERRORS DETECTED ;TYPED BY MACRO\r
DEFINED "EDDT=0".\r
\r
> ;END OF REPEAT 0\r
-\r
\f\r
IFNDEF EDDT,<EDDT=0>\r
\r
RELOC 0\r
>\r
\r
-\r
IFN EDDT&<XWD -1,0>,<LOC <EDDT>B53>\r
\r
HEADER \DDTVER^\r
;THE HEADER MACRO CONSTRUCTS THE TITLE AND VERSION #\r
-\r
-IFN EDDT&10,< CM=2 ;DEFINE SOFTWARE CHANS.\r
+\fIFN EDDT&10,< CM=2 ;DEFINE SOFTWARE CHANS.\r
DP=3\r
>\r
-\f;DEFINE ACCUMULATORS\r
+;DEFINE ACCUMULATORS\r
\r
F=0 ;FLAGS\r
P=1 ;PUSH DOWN\r
FPF=20000 ; . TYPED IN\r
FEF=400000 ; E FLAG\r
\r
-MLF=200 ;*FLAG\r
+MLF=200 ;*FLAG\r
DVF=40000 ;DIVIDE FLAG\r
\r
;PID IS 20 IF SYM TAB POINTER IS INDIRECT JOBSYM\r
\r
ITF=2 ;INSTRUCTION TYPED IF ITF=1\r
OUTF=4 ;OUTPUT IF OUTF=1\r
-CF1=400 ;OUTPUT 1 REGISTER AS CONSTANT\r
+CF1=400 ;OUTPUT 1 REGISTER AS CONSTANT\r
LF1=2000 ;OUTPUT 1 REGISTER AS FORCED SYMBOLIC OR CONSTANT\r
Q2F=1 ;NUMBER TYPED AFTER ALT MODE \r
-R20F=10 ;TEMP FLAG USED IN SETUP\r
+R20F=10 ;TEMP FLAG USED IN SETUP\r
SBF=20\r
-NAF=200 ;NEGATIVE ADDRESSES PERMISSABLE\r
+NAF=200 ;NEGATIVE ADDRESSES PERMISSABLE\r
POWF=4000 ;ARGUMENT FOR EXPONENT COMING\r
\r
;DEFINE SYMBOL TABLE SYMBOL TYPES\r
DDTX=DDT\r
ENTRY DDTX ;NEEDED BY MONITOR>\r
\r
+\r
;DEFINE $ SYMBOLS INTERNAL TO DDT\r
OPDEF DDTINT [Z 0,] ;ADDRESS FLAG FOR INTERNAL REGISTERS\r
\r
RADIX 10\r
NBP=8 ;NUMBER OF BREAKPOINTS\r
-DEFINE DBPNT (Z.)<XP $'Z.'B,B1ADR+3*Z.-3>\r
+DEFINE DBPNT (Z.)<XP $'Z.'B,<DDTINT B1ADR+3*Z.-3>>\r
ZZ=0\r
REPEAT NBP,<DBPNT \<ZZ=ZZ+1>>\r
RADIX 8\r
XP $I,SAVPI\r
\r
SETUWP=36\r
-\r
\f;DEFINE I/O DEVICE MNEMONICS\r
\r
IFN EDDT&1,<\r
XP UTS,214B11\r
XP DCSA,300B11\r
XP DCSB,304B11\r
-\r
XP DF,270B11\r
XP MTC,220B11\r
XP MTS,224B11\r
XP JEN,2545B11\r
XP HALT,2542B11\r
\r
+\r
\fIFE EDDT&10,<\r
DDT: JSR SAVE\r
PUSHJ P,REMOVB\r
MOVE W1,PRGM ; SAME PLACE. OR THEY DO NOT BOTH START ON\r
XOR W1,W ; AN EVEN (OR BOTH ON ODD) LOCATION. OR\r
TRNE W1,1 ; PRGM .GE.0, THEN RE-INIT PRGM.\r
- JRST DDT2 ;EVEN-ODD PROBLEM\r
+ JRST DDT0 ;EVEN-ODD PROBLEM\r
SKIPN T ;POINTERS DON'T END TOGETHER\r
SKIPL PRGM ;IF PRGM .GE. 0, THEN RE-INIT\r
DDT0: MOVEM W,PRGM ;PRGM=C(JOBSYM)\r
>\r
+\r
\fIFN EDDT&10,<\r
DDT: CALLI\r
MOVEI T,SYMSET\r
SETOM CRASHS ;FLAG CRASH.SAV EXISTS ON DSK\r
USETI 1,1\r
INPUT 1,RSILST\r
-\r
STATZ 1,740000\r
HALT .-3\r
SETOM RSAVE ;FORCE READING OF "CURRENT" BLOCK\r
6) AFTER CARRIAGE RETURN IS TYPED FILDDT IS DONE.\r
7) SAVE FILDDT WITH A NEW NAME SO AS NOT TO CONFUSE IT WITH THE\r
ORIGINAL FILDDT.SAV\r
-\f\r
+\r
THE MONITOR CAN BE LOADED IN ANY OF THREE WAYS(IN ORDER OF PREFERENCE):\r
1. UNDER TIME SHARING WITH REGULAR LOADER AND COMMON\r
2. UNDER REGULAR 10/30 MONITOR WITH REGULAR 10/30 LOADER & COMMON\r
JRST NOLPT ;GO TRY IT\r
DDTSTP: Z ;SAVE POSSIBLE SYMBOL POINTER\r
>\r
-\f\r
-\r
-DD1: PUSHJ P,CRF\r
+\fDD1: PUSHJ P,CRF\r
DD1.5: TLZ F,ROF ;CLOSE ANY OPEN REGISTER\r
MOVE T,[XWD SCHM,SCH]\r
BLT T,ODF ;LOAD ACS\r
JRST .+2\r
JRST LET\r
L21: MOVE R,T\r
- CAILF T,137 ;DISPATCH TABLE HAS ENTRIES ONLY .LE. 137\r
+ CAILE T,137 ;DISPATCH TABLE HAS ENTRIES ONLY .LE. 137\r
JRST ERR\r
IDIVI R,3 ;REMAINDER GIVES COLUMN, QUOTIENT GIVES ROW\r
LDB W,BDISP(R+1) ;GET 12 BIT ADDRESS FROM DISPATCH TABLE\r
CAIGE W,MULT-DDT ;FIRST EVAL ROUTINE\r
JRST DDT(W)\r
+\r
\f MOVE T,SYL\r
TLZN F,LTF\r
JRST POWER\r
MOVE T,SYM\r
TLO T,GLOBAL\r
MOVEM T,(R)\r
-\r
HRRZ T,LLOCO\r
TLNE F,MF\r
TLO T,400000\r
SOJG W1,NM1A1\r
NM1B: MOVSI W1,211000(T)\r
FMPR R,W1 ;COMPUTE VALUE OF NEW DIGIT\r
-\r
FADRB R,FH ;ADD VALUE INTO FLOATING NO.\r
MOVEM R,SYL\r
AOJA T,LE1A\r
MOVEI T,45 ;RADIX 50 PERIOD\r
JRST LE2\r
\r
-QUAN: SKIPA T,LWT ;LAST QUANTITY TYPED\r
-PILOC: MOVEI T, SAVPI\r
+PILOC: MOVEI T,SAVPI ;ADR SETUP FOR $I\r
+QUANIN: TLOA T,(DDTINT) ;MARK FOR ADR INTERNAL TO DDT\r
+QUAN: MOVE T, LWT ;PICK UP LAST QUANTITY TYPED\r
QUAN1: MOVEM T,SYL\r
QUAN2: TLO F,SF+QF ;WRD,SYL STARTED\r
TLZ F,CF+CCF\r
TLNN T,340000\r
JRST EVAL1\r
MOVE T,1(R)\r
-\r
CPOPJ1: AOS (P) ;FOUND SYMBOL, SKIP\r
CPOPJ: POPJ P,\r
\r
\fSIXBI1: PUSHJ P,TEXIN ; INPUT TEXT (SIXBIT)\r
SIXBIN: CAMN T,SYL\r
JRST SIXBI2\r
- ANDI T,77\r
- TRC T,40\r
+ CAIL T,"A"+40 ;IS CHAR BETWEEN LOWER CASE "A" AND\r
+ CAILE T,"Z"+40 ; LOWER CASE "Z"?\r
+ SKIPA ;NO\r
+ TRC T,40 ;YES, CONVERT TO UPPER CASE\r
+ CAIL T," " ;IS CHAR IN SIXBIT SET?\r
+ CAILE T,"_"\r
+ JRST ERR ;NO\r
+ ANDI T,77 ;YES, MASK TO 6 BITS\r
+ TRC T,40 ;CONVERT TO SIXBIT FORM\r
ROT T,-6\r
LSHC T-1,6\r
SOJA W1,SIXBI1\r
HRL T,ESTU\r
HRRM T,ESTU\r
SKIPGE ESTU\r
-\r
BLT T,-1(R)\r
DEF2: MOVE T,DEFV\r
MOVEM T,1(R) ;PUT IN NEW VALUE\r
ADD S,T\r
HRRM S,T\r
PUSHJ P,DEP\r
+ JFCL\r
POP P,R\r
PUSHJ P,REMUN\r
DEF4: ADD R,[XWD 2,2] ;REMOVE THE NOW DEFINED SYMBOL\r
ADD T,R\r
ADDB T,WRD\r
JRST SPACE+1\r
-\r
\fACCF1: MOVEM T,WRD ;SET LEFT HALF OF A,,B\r
JRST SPACE+1\r
\r
POP P,F\r
TLNE F,PTF\r
TLNE F,SF\r
-\r
JRST RPRN1\r
MOVEM T,SYL\r
TLO F,QF+SF\r
CAIN T,15\r
JRST .-2\r
JRST DD1.5>\r
-\fOCON: TROA F,LF1+CF1 ;OPEN AS CONSTANT\r
+\r
+\f\r
+OCON: TROA F,LF1+CF1 ;OPEN AS CONSTANT\r
OSYM: TRZ F,CF1 ;OPEN SYMBOLICALLY\r
TROA F,LF1\r
SUPTYO: TLOA F,STF ;SUPPRESS TYPEOUT\r
HRRZ T,@BCOM3\r
HRRM T,PROC0 ;SETUP ADDRESS OF BREAK\r
HLRZ T,@BCOM3\r
-\r
JUMPE T,BREAK1 ;TEST FOR REGISTER TO EXAMINE\r
PUSHJ P,LCT ;PRINT TAB\r
HLRZ T,@BCOM3\r
JRST REMOV1\r
IFN EDDT&1,<JRST TTYRET>\r
IFE EDDT&1,<POPJ P,>\r
-\r
;IN EXEC MODE, SAVE UP TTY STATUS ;IN USER MODE, DONE BY SAVE\r
\f;ALL $B COMMANDS GET HERE IN FORM: <A>$<N>B\r
\r
IFE EDDT&10,<\r
DEP: IFE EDDT&1,<\r
JSP TT1,CHKADR ;LEGAL ADDRESS?\r
-\r
JRST DEP4 ;YES BUT IN HI SEGMENT>\r
TRNN R,777760\r
JRST DEPAC ;DEPOSIT IN AC\r
CALLI T,33 ;DO PEEK UUO\r
JRST CPOPJ1 ;RETURN VALUE IN AC T\r
>\r
+\r
IFE EDDT&1,< ;DO ADDRESS CHECKS ONLY IN USER MODE\r
CHKADR: HRRZ TT,JOBREL ;GET HIGHEST ADDRESS IN LOW SEGMENT\r
CAIL TT,(R) ;CHECK FOR WITHIN LOW SEGMENT\r
CAIGE TT,(R) ;IS THE ADR TO BIG FOR HIGH SEGMENT?\r
POPJ P, ;NO, YES- ILL. ADR.\r
JRST 0(TT1)\r
+\r
> ;END OF IFE EDDT&1\r
\r
IFN EDDT&1,<CHKADR==CPOPJ> ;NO ADDRESS CHECKS IN EXEC MODE\r
MOVEM T,TEM\r
\r
LOOK1: TDNE W2,(R)\r
-\r
JRST LOOK3\r
MOVE T,(R)\r
TLNN T,PNAME ;NAME\r
JRST @AR ;PADSO OR PAD1\r
PADSO: JUMPE T,FP7B ;PRINT A ZERO\r
PUSHJ P,LOOK\r
-\r
PADS1: POPJ P,0\r
MOVE W2,1(W1)\r
CAIGE T,100\r
PADS3B: MOVNM T,TEM\r
MOVEI T,"-"\r
JRST PADS1A\r
-\r
-INOUT: TDC T,[XWD -1,400000] ;IO INSTRUCTION OR NEG NUM\r
+\fINOUT: TDC T,[XWD -1,400000] ;IO INSTRUCTION OR NEG NUM\r
TDCN T,[XWD -1,400000]\r
JRST PADS3B ;TYPE AS NEG NUM\r
LDB R,[POINT 7,T,9] ;PICK OUT IO DEVICE BITS\r
SEAR1: PUSHJ P,FETCH\r
JRST SEAR2A\r
TLNE F,LTF ;CHECK FOR EFFECTIVE ADDRESS SEARCH\r
-\r
JRST EFFEC0\r
EQV T,WRD\r
AND T,MSK\r
ZERO: TLNN F,CCF\r
JRST ERR\r
PUSHJ P,SETUP\r
-\r
HRRZ S,@SYMP ;GET 1ST ADR OF SYMBOL TABLE\r
HLRE W1,@SYMP ;GET LENGTH OF SYM TABLE\r
SUB W1,S ;GET NEG OF LAST ADR\r
JRST TOCA ;YES, DO NOTHING SPECIAL\r
HRRM T,TOCS ;NO, TYPE AS HALF WORD CONSTANT\r
HLRZS T ;GET LEFT HALF\r
- PUSHJ P,TOCA ;TYPE LEFT HALF\r
+ PUSHJ P,TOC0 ;type left half\r
MOVSI W1,(ASCII /,,/)\r
PUSHJ P,TEXT2 ;TYPE ,,\r
TOCS: MOVEI T,.-. ;GET RIGHT HALF BACK\r
-TOCA: LSHC T,-43\r
+TOCA: HRRZ W1,ODF ;IS OUTPUT RADIX DECIMAL?\r
+ CAIN W1,12\r
+ JRST TOC4 ;YES,TYPE SIGNED WITH PERIOD\r
+TOC0: LSHC T,-43\r
LSH W1,-1 ;W1=T+1\r
-TOC1: DIVI T,@ODF\r
+ DIVI T,@ODF\r
HRLM W1,0(P)\r
- JUMPE T,TOC2\r
- PUSHJ P,TOCA\r
-TOC2: HLRZ T,0(P)\r
+ SKIPE T\r
+ PUSHJ P,TOC0\r
+ HLRZ T,0(P)\r
ADDI T,"0"\r
JRST TOUT\r
\r
\r
FP3: MULI A,400\r
ASHC B,-243(A)\r
- MOVE A,B\r
SETZM TEM1 ;INIT 8 DIGIT COUNTER\r
SKIPE A,B ;DON'T TYPE A LEADING 0\r
PUSHJ P,FP7 ;PRINT INTEGER PART OF 8 DIGITS\r
PUSHJ P,TOUT\r
JUMPN W1,TEXT2\r
POPJ P,\r
-\fKILC: XWD -NSYMS,LOW\r
-\r
-WRD: 0\r
+\fWRD: 0\r
WRD2: 0\r
PRNC: 0\r
\r
> ;END OF IFN EDDT$1&<EDDT>B36\r
;FOR PAPER TAPE IO\r
\r
+\r
+\r
+\r
\fSAVE: 0 ;SAVE THE ACS AND PI SYSTEM\r
SKIPN SARS\r
JRST SAV1\r
; CALLIU T,SETUWP ;REQUEST TO CLEAR UWP\r
; HRROS SAVUWP ;FAILED, UWP (BIT 0) STILL 1\r
; SKIPN SARS ;USER'S SATE SAVED ALREADY?\r
-\r
; HRRM T,SAVUWP> ;NO, SAVE STATE OF UWP\r
\r
SETOM,SARS ;FLAG PROTECTING SAVED REGISTERS\r
\fIFE EDDT&1,< ;USER MODE TELETYPE I/O\r
IFN EDDT&4,< ;ASSEMBLE WITH OLD DDT MODE IO\r
\r
-\r
TIN: MOVE T,POUTBF ;GET NEXT CHARACTER ROUTINE\r
CAME T,[POINT 7,INBFF]\r
PUSHJ P,FINOUT\r
\r
TEXIN=TIN ;USE NORMAL INPUT FOR TEXT WHEN IN USER MODE\r
>\r
-\f IFE EDDT&4,< ;ASSEMBLE WITH TTCALL TELETYPE IO\r
+\f\r
+\r
+ IFE EDDT&4,< ;ASSEMBLE WITH TTCALL TELETYPE IO\r
\r
OPDEF TTCALL [51B8]\r
\r
JRST WRONG ;TYPE XXX FOR A RUBOUT \r
POPJ P,\r
\r
-\r
TOUT:\r
\r
IFN EDDT&10,< SKIPE COMAND ;IS THERE A COMMAND FILE?\r
\r
> ;END OF IFN EDDT&10\r
> ;END OF IFE EDDT&1\r
+\r
\fBDISP: POINT 12,DISP(R),11\r
POINT 12,DISP(R),23\r
POINT 12,DISP(R),35\r
D ERR,ERR,ERR\r
D PUNCH,ERR,ERR\r
D ERR,ERR,ERR\r
-\r
D ERR,ERR,ERR\r
D CONTROL,ERR,ERR\r
D ERR,ERR,SPACE\r
\r
;THIS TABLE DOES NOT HAVE ENTRIES FOR CHARS .GE. 140; THESE\r
; ARE DETECTED AS ERRORS NEAR L21:\r
-\fBITO: MOVEI R,BITT ;BYTE OUTPUT SUBROUTINE\r
+\f\r
+BITO: MOVEI R,BITT ;BYTE OUTPUT SUBROUTINE\r
HRRZI AR,TOC\r
TRZN F,Q2F\r
JRST ERR\r
;\r
; THE TABLE IS ALSO USED GOING FROM SYMBOLIC TO BINARY BUT A\r
; TREE SEARCH METHOD IS USED.\r
-\f\f\f\f\fREPEAT 0,<\r
+\fREPEAT 0,<\r
\r
DEFINE REDEF (XX)<\r
DEFINE INFO (AA,BB)<\r
IFE Z-"/",<IF1 <OUTP 1>\r
IF2,<INFO OUTP,+73-FIR.>\r
Z==0>\r
- IFE Z-"^",<OUTP <ZZ&70/2+ZZ&7-1>\r
+ IFE Z-"^",<OUTP <ZZ&74/2+ZZ&7-1>\r
Z==0>\r
IFE <Z-",">*<Z-".">*<Z-40>,<IFN ZZZ,<\r
REPEAT 5,<ZZ==ZZZ&77\r
REPEAT BINC,<BINRY=BINRY*400+BINRY*400>\r
IFN BINRY,<EXP BINRY>\r
> ;END OF REPEAT 0\r
-\r
-\r
\fIFN EDDT&10,< ;FILDDT STUFF\r
CRASH: SIXBIT .CRASH. ;CANONICAL NAME FOR CRASH\r
SIXBIT .SAV.\r
CURLST: IOWD 4000,CURENT\r
Z\r
>\r
-\r
\fSUBTTL OP DECODER\r
\r
DEFINE BYT9 (A) <IRP A,<\r
DEFINE .ADR (A) <\r
%'A== CLOC\r
FIR.== CLOC\r
-DEFINE .ADR (A) <\r
-%'A== CLOC\r
+DEFINE .ADR (B) <\r
+%'B== CLOC\r
IFGE <LASTB==CLOC+73-FIR.>-1000, <PRINTX OPTABLE TO LONG>>>\r
\r
DEFINE .TRA <\r
IFNB <A>, <IRPC A,<OUTP "A"-40>>>\r
\r
DEFINE .END (A) <\r
-IFNB <A>. <IRPC A,<OUTP "A"-40>>\r
+IFNB <A>, <IRPC A,<OUTP "A"-40>>\r
OUTP 40>\r
\r
DEFINE OUTP (A)<\r
>\r
\fTBL: ;OPDECODER BYTE TABLE\r
\r
-BINRY= 0\r
-CLOC= 0 ;SET BYTE LOCATION COUNTER TO 0\r
-BINC= ^D36 ;INIT BYTES/WORD COUNTER\r
+BINRY== 0\r
+CLOC== 0 ;SET BYTE LOCATION COUNTER TO 0\r
+BINC== ^D36 ;INIT BYTES/WORD COUNTER\r
\r
BYT9 <\r
\r
-.DIS 63,.TRA UUO,.TRA FLO,.TRA HAK,.TRA ACCP,.TRA BOOLF\r
+.DIS 63,.TRA UUO,.TRA FLO,.TRA HAK,.TRA ACCP,.TRA BOOLE\r
.TXT H,.TRA HWT,.TXT T,.TRA ACBM\r
\r
;IO INSTRUCTIONS\r
\r
-.DIS 21,.TRA BD,.TXT CON,.DIS 11,.TRA IO,.TXT S,.DIS 01,.TRA Z,. TRA O\r
+.DIS 21,.TRA BD,.TXT CON,.DIS 11,.TRA OI,.TXT S,.DIS 01,.TRA Z,.TRA O\r
.ADR BD,.DIS 01,.TXT BLK,.TRA IO,.TXT DATA,.ADR IO,.DIS 11,.TRA I,.TRA O\r
.ADR OI,.DIS 01,.TRA O,.TRA I\r
;UUOS\r
\r
-.ADR UUOI,.DIS 51,.END,.TXT,.DIS 32,.TRA U40,.TRA U50,.TRA U60\r
- .DIS 21,.TRA U703,.DIS 11.,TRA USET,.DIS 01\r
+.ADR UUO,.DIS 51,.END,.TXT,.DIS 32,.TRA U40,.TRA U50,.TRA U60\r
+ .DIS 21,.TRA U703,.DIS 11.,.TRA USET,.DIS 01\r
.TXT LOOKU,.TRA P,.TXT ENTE,.TRA R,.ADR USET,.TXT USET,.DIS 01,.TRA I,.TRA O\r
.ADR U40,.DIS 03,.TRA CAL,.TXT INI,.TRA T,.END,.END,.END,.END,.END,.TXT CALL,.TRA I\r
.ADR U60,.DIS 21,.TRA U603,.DIS 01,.TXT IN,.TRA BPUT,.TXT OUT\r
- .ADR BPUT,M.,DIS 11,.TXT BU,.ADR F,.END F,.TXT,.TXT U,.TRA T\r
+ .ADR BPUT,.DIS 11,.TXT BU,.ADR F,.END F,.TXT,.TXT PU,.TRA T\r
.ADR U603,.DIS 01,.TRA U6062,.TXT STAT,.DIS 11,.ADR O,.END O,.TXT,.ADR Z,.END Z,.TXT\r
.ADR U6062,.DIS 11,.TXT S,.TRA U62,.TXT G,.ADR U62,.TXT ETST,.TRA S\r
\r
.TRA A,.TXT MP,.TRA A,.TXT DV,.ADR A\r
.DIS 21,.TRA LMB,.TXT R,.TRA IMB,.ADR LMB,.DIS 02,.END,.TXT\r
.ADR L,.END L,.TXT,.ADR M,.END M,.TXT\r
-.ADR B,.FND B,.TXT,.ADR BYTE,.DIS 32,.END,.END,.END,.TXT\r
+.ADR B,.END B,.TXT,.ADR BYTE,.DIS 32,.END,.END,.END,.TXT\r
.DIS 03,.TXT UF,.TRA PA,.TXT DF,.TRA N\r
.TXT FS,.TRA C,.TXT IB,.ADR P,.END P,.TXT,.TXT I,.TRA LD\r
.ADR LD,.TXT LD,.TRA B,.TXT I,.TRA DP,.ADR DP,.TXT DP,.TRA B\r
.TRA SH,.TRA H1,.TRA JP\r
.DIS 21,.TXT ADD,.TRA IMB,.TXT SU,.ADR BIMB,.TXT B,.ADR IMB,.DIS 02,.END,.TXT\r
.ADR I,.END I,.TXT,.TRA M,.TRA B,.ADR MO,.DIS 22\r
-,ADR E1MS,.TXT E,.TRA IMS,.TXT S,.TRA IMS,.TXT N,.TRA IMS,.TXT M\r
+.ADR EIMS,.TXT E,.TRA IMS,.TXT S,.TRA IMS,.TXT N,.TRA IMS,.TXT M\r
.ADR IMS,.DIS 02,.END,.TXT,.TRA I,.TRA M,.ADR S,.END S,.TXT\r
.ADR ML,.DIS 21,.TXT I,.TRA ML1,.ADR ML1,.TXT MUL,.TRA IMB\r
.ADR DV,.DIS 21,.TXT I,.TRA DV1\r
.ADR DV1,.TXT DI,.ADR DV2,.TXT V,.TRA IMB,.ADR H1,.DIS 03,.TXT EXC,.TRA S3,.TXT BL\r
- .ADR T,.END T,.TXT,.TRA AO,.ADR AO,.TT AOBJ\r
+ .ADR T,.END T,.TXT,.TRA AO,.ADR AO,.TXT AOBJ\r
.TRA AOB,.TXT JRS,.TRA T,.TXT JFC,.TRA L,.TXT XC,.TRA T,.END\r
.ADR AOB,.DIS 01,.TRA P,.TRA N\r
.ADR JP,.DIS 03,.TRA PU,.ADR PU,.TXT PUSH,.TRA PUS,.TRA PO\r
.ADR PO,.TXT POP,.TRA POP,.TXT JS,.ADR R,.END R,.TXT\r
-.TXT JS,.TRA P,.TXT JS,.ADR PA,.END, A,.TXT,.TXT JR,.TRA PA\r
+.TXT JS,.TRA P,.TXT JS,.ADR PA,.END A,.TXT,.TXT JR,.TRA PA\r
.ADR PUS,.DIS 01,.ADR J,.END J,.END,.TXT,.ADR POP\r
.DIS 01,.END,.TXT,.TRA J,.ADR SH,.DIS 02,.TXT A,.TRA S2,.TXT ROT,.TRA S1,.TXT L\r
.ADR S2,.TXT S,.ADR S3,.TXT H,.TRA S1,.TXT JFF,.TRA O\r
\r
;HALF WORDS\r
\r
-.ADR HWT,.DIS 51,.TRA HW1,.DIS 21,.TXT 3,.TRA HW2,.TXT L,.ADR HW2,.TXT R,.TRA HW3\r
+.ADR HWT,.DIS 51,.TRA HW1,.DIS 21,.TXT R,.TRA HW2,.TXT L,.ADR HW2,.TXT R,.TRA HW3\r
.ADR HW1,.DIS 21,.TXT L,.TRA HW4,.TXT R,.ADR HW4,.TXT L\r
- .ADR HW3,.DIS 32,.TRA IMS,.TXT Z,.TRA IMS,.TXT D,.TRA IMS,.TRA EIMS\r
+ .ADR HW3,.DIS 32,.TRA IMS,.TXT Z,.TRA IMS,.TXT O,.TRA IMS,.TRA EIMS\r
\r
;TEST INSTRUCTIONS\r
\r
.ADR ACBM,.DIS 31,.TRA AC1,.DIS 01,.TXT D,.TRA AC2,.TXT S,.TRA AC2\r
.ADR AC1,.DIS 01,.TXT R,.TRA AC2,.TXT L\r
-.ADR AC2,.DIS 42,.TXT N,.TRA EAN,.TXT Z,.TRA EAN,TXT C,.TRA EAN,.TXT O\r
+.ADR AC2,.DIS 42,.TXT N,.TRA EAN,.TXT Z,.TRA EAN,.TXT C,.TRA EAN,.TXT O\r
.ADR EAN,.DIS 12,.END,.TXT,.TRA E,.TRA PA,.TRA N\r
\r
;BOOLEAN\r
\r
-.ADR BOOLE,.DIS 24,.TRA ST,.ADR AN,.TXT ANBD,.TRA B2,.TRA AN,.TRA ST,.TRA AN,.TRA ST\r
+.ADR BOOLE,.DIS 24,.TRA ST,.ADR AN,.TXT AND,.TRA B2,.TRA AN,.TRA ST,.TRA AN,.TRA ST\r
.TXT X,.ADR OR,.TXT OR,.TRA B2,.TXT I,.TRA OR,.TRA AN,.TXT EQ\r
.TRA DV2,.TRA ST,.TRA OR,.TRA ST,.TRA OR,.TRA OR\r
.ADR ST,.TXT SET,.ADR B2,.DIS 24,.TXT Z,.TRA IMB,.TRA IMB\r
.ADR CA,.TXT C,.TRA TA,.ADR TM,.TXT M,.TRA IMB\r
-.ADR DM,.TXT C,.TRA TM,.ADR TA,.TXT A,.TRA IMB,.TRA IMBA,.TRA IMB\r
- .ADR CP,.TXT C,.TRA BIMB,.TRA IMB,.TRA CA\r
-.TRA CA,.TRA CM,.TRA CM,.TRA CB,.TXT 0,.TRA IMB\r
+.ADR CM,.TXT C,.TRA TM,.ADR TA,.TXT A,.TRA IMB,.TRA IMB,.TRA IMB\r
+ .ADR CB,.TXT C,.TRA BIMB,.TRA IMB,.TRA CA\r
+.TRA CA,.TRA CM,.TRA CM,.TRA CB,.TXT O,.TRA IMB\r
\r
;MORE UUO'S\r
\r
\r
IF1,< BLOCK <CLOC+3>/4>\r
\r
-IF2,< IFN BINC-^D36,< +BINARY>>\r
+IF2,< IFN BINC-^D36,< +BINRY>>\r
\r
IFNDEF CLOC.,<CLOC.==CLOC>\r
IFN CLOC.-CLOC,<PRINTX PHASE ERROR IN OPTABLE>\r
OPTYPE: TRO F,OUTF ;TYPE AN OPCODE SYMBOLICALLY\r
LSH T,-33\r
MOVEM T,INST ;GET OPCODE INTO RIGHT 9 BITS\r
-\r
MOVE T,[XWD 440700,TXT]\r
MOVEM T,CHP ;FOR OPEVAL,SETUP POINTER TO INPUT TEXT\r
TRZ F,ITF ;CLEAR INSTRUCTION TYPED FLAG\r
;BUT STILL WANTS TO BE STARTED AT ITS OWN STARTING ADDRESS\r
;USER DDT IS LOADED LAST. - T.H.\r
IFN EDDT&10,<END DDT>\r
- END \r
+ END\r