Trailing-Edge
-
PDP-10 Archives
-
de-10-omona-v-mc9
-
nopag0.mac
There are 7 other files named nopag0.mac in the archive. Click here to see a list.
TITLE NOPAG0 - REMOVE REFERENCES TO PAGE 0 FROM SAVE FILE
;***COPYRIGHT 1977, DIGITAL EQUIPMENT CORP., MAYNARD MASS.*****
VNOPG0==1
VWHO==0
VMINOR==0
VEDIT==1
.JBVER==137
LOC .JBVER
BYTE (3)VWHO(9)VNOPG0(6)VMINOR(18)VEDIT
RELOC
F=0
T1=1
T2=2
T3=3
T4=4
N=5
W=6
P1=10
P2=11
P3=12
P4=13
P=17
IN==0
OUT==1
;FLAGS IN F
F.DOT==1
F.LBK==2
F.CMA==4
DEFINE ERROR(TEXT)<
XLIST
JRST [OUTSTR [ASCIZ /
?/]
OUTSTR [ASCIZ /TEXT/]
OUTSTR [ASCIZ /
/]
JRST ST]
LIST
>
ST: RESET
MOVE P,PDL
OUTSTR [ASCIZ /
*/]
MOVEI P4,OUTBLK
SETZ F,
MOVE T1,[INIBLK,,OUTBLK]
BLT T1,INPPN
PARSE: PUSHJ P,REDSIX
CAIE T1,":"
JRST PARSE1
MOVEM W,DEVICE(P4)
JRST PARSE
PARSE1: SKIPN NAME(P4)
MOVEM W,NAME(P4)
TRZE F,F.DOT
HLLM W,EXT(P4)
TRZE F,F.LBK
HRLM N,PPN(P4)
TRZE F,F.CMA
HRRM N,PPN(P4)
CAIN T1,"."
TRO F,F.DOT
CAIN T1,"["
TRO F.LBK
CAIN T1,","
TRO F,F.CMA
CAIN T1,"="
MOVEI P4,INBLK
CAIE T1,15
JRST PARSE
DOIT: OPEN IN,INBLK
ERROR <INPUT OPEN ERROR>
OPEN OUT,OUTBLK
ERROR <OUTPUT OPEN ERROR>
LOOKUP IN,INNAM
ERROR <LOOKUP ERROR>
ENTER OUT,OUTNAM
ERROR <ENTER ERROR>
LOOP: PUSHJ P,GETWRD
JUMPGE T1,DONE
MOVE P1,T1 ;IOWD
LOOPS: HRRZ T1,P1
CAIL T1,777
JRST OK
PUSHJ P,GETWRD ;IOWD TOO LOW, THROW AWAY 1 WORD
AOBJN P1,LOOPS
JRST LOOP
OK: MOVE T1,P1
PUSHJ P,PUTWRD ;STUFF IOWD INTO OUTPUT FILE
PUSHJ P,GETWRD ;GET DATA WORD
PUSHJ P,PUTWRD
AOBJN P1,.-2
JRST LOOP
DONE: SKIPN OBUF
ERROR <PREMATURE EOF (EXE FILE?)>
PUSHJ P,PUTWRD ;STORE GOTO WORD
CLOSE OUT,
STATZ OUT,740000
ERROR <ERROR ON OUTPUT CLOSE>
JRST ST ;TRY ANOTHER FILE
GETWRD: SOSG IBUF+2
IN IN,
CAIA
JRST INERR
ILDB T1,IBUF+1
POPJ P,
INERR: STATZ IN,20000
ERROR <INPUT FILE PREMATURE EOF>
ERROR <INPUT ERROR>
PUTWRD: SOSG OBUF+2
OUT OUT,
CAIA
ERROR <OUTPUT ERROR>
IDPB T1,OBUF+1
POPJ P,
;RETURNS N=OCT NUMBER W=WORD T1=BREAK CHAR
REDSIX: MOVE P1,[POINT 6,W]
SETZB N,W
REDSX1: INCHWL T1
CAIN T1,32
EXIT ;^Z
CAILE T1,140
TRZ T1,40 ;LC TO UC
CAIG T1,"Z"
CAIGE T1,"A"
CAIA
JRST REDLTR
CAIG T1,"9"
CAIGE T1,"0"
POPJ P,
LSH N,3
ADDI N,-60(T1)
REDLTR: TRC T1,40
TLNE P1,770000
IDPB T1,P1
JRST REDSX1
DEVICE==1
NAME==3
EXT==4
PPN==6
OUTBLK: 14
SIXBIT /DSK/
OBUF,,
OUTNAM: 0
SIXBIT /SAV/
0
0
INBLK: 14
SIXBIT /DSK/
IBUF
INNAM: 0
SIXBIT /SAV/
0
INPPN: 0
INIBLK: 14
SIXBIT /DSK/
OBUF,,
0
SIXBIT /SAV/
0
0
14
SIXBIT /DSK/
IBUF
0
SIXBIT /SAV/
0
0
PDL: -10,,.
BLOCK 11
IBUF: BLOCK 3
OBUF: BLOCK 3
END ST