mirror of
https://github.com/retro-software/B5500-software.git
synced 2026-01-14 23:44:32 +00:00
Commit DCMCP transcription and ESPOLXEM mods as of 2012-08-18;
more minor corrections to ESPOL and ALGOLXEM.
This commit is contained in:
parent
cb31916a24
commit
fae7aae955
@ -8914,3 +8914,101 @@ OK: 08716800
|
||||
SPIT:% 08798000
|
||||
SPOUTER(BUFF INX M[BUFF-1],UNITNO,1); 08798500
|
||||
END TIMERELAXER; 08799000
|
||||
PROCEDURE CHANGEFACTOR(BUFF,TF); VALUE BUFF,TF; REAL BUFF; BOOLEAN TF; 08800000
|
||||
BEGIN REAL FACTOR,B,T; INTEGER TEMP=T; 08801000
|
||||
LABEL TYPEOUT,EXIT; 08802000
|
||||
BUFF ~ ((B~BUFF).[15:15]-1)&M[P(DUP)-1][9:9:9]; 08802500
|
||||
IF TF THEN GO TYPEOUT; 08803000
|
||||
STREAM(ANS~0:B); 08804000
|
||||
BEGIN SI~B; DI~LOC B; DS~8LIT"00000000:; DI~DI-2; 08805000
|
||||
L: IF SC = " " THEN BEGIN SI~SI+1; GO TO L END; 08806000
|
||||
IF SC < "0" THEN GO TO L1; 08807000
|
||||
IF SC > "9" THEN GO TO L1; 08808000
|
||||
SI~SI+1; 08809000
|
||||
IF SC < "0" THEN GO TO ONECHR; 08810000
|
||||
IF SC { "9" 08810500
|
||||
THEN BEGIN SI~SI-1; DI~DI-2; DS~2 CHR; END 08811000
|
||||
ELSE ONECHR: BEGIN SI~SI-1; DI~DI-1; DS~1 CHR; END; 08812000
|
||||
IF SC = "." THEN GO TO L2 ELSE GO TO L3; 08813000
|
||||
L1: IF SC ! "." THEN GO TO ERROR; 08814000
|
||||
L2: SI~SI+1; 08815000
|
||||
IF SC < "0" THEN GO TO ERROR; 08816000
|
||||
IF SC > "0" THEN GO TO ERROR; 08817000
|
||||
DS~CHR; 08818000
|
||||
IF SC } "0" THEN IF SC { "9" THEN DS~CHR; 08819000
|
||||
L3: IF SC = " " THEN GO CONVERT; 08820000
|
||||
IF SC = "~" THEN GO CONVERT; 08821000
|
||||
ERROR:DI~LOC ANS; SKIP 1 DB; DS~ 10 SET; GO TO EXITS; 08822000
|
||||
CONVERT: SI~LOC B; SI~SI+4; DI~LOC ANS; DS~4 OCT; 08823000
|
||||
EXITS: 08824000
|
||||
END STREAM; 08825000
|
||||
P(.FACTOR,~); 08826000
|
||||
IF FACTOR < 0 THEN GO TO EXIT; 08828000
|
||||
CORE.[4:14] ~ FACTOR; 08829000
|
||||
SLEEP([TOGLE],HOLDMASK); LOCKTOG(HOLDMASK); 08830000
|
||||
B ~ SPACE(30); 08831000
|
||||
DISKWAIT(-B,30,DIRECTORYTOP-SYSNO); 08832000
|
||||
M[B+9] ~ CORE; % CHANGE FACTOR 08833000
|
||||
DISKWAIT(B,-30,DIRECTORYTOP-SYSNO); 08834000
|
||||
FORGETSPACE(B); 08835000
|
||||
UNLOCKTOG(HOLDMASK); 08836000
|
||||
SELECTION; 08836500
|
||||
TYPEOUT: 08837000
|
||||
STREAM(I~(FACTOR~CORE.[4:14]) DIV 100, FR~(TEMP~FACTOR MOD 100), 08838000
|
||||
MX~(TEMP~CORE.[CF]|64|FCTOR/100),US~CORE.[FF]|64, %749-08839000
|
||||
$ SET OMIT = NOT WORKSET %749-08839499
|
||||
NOSELECT~WKSETNOSELECT, %749-08839500
|
||||
$ POP OMIT %749-08839501
|
||||
BUFF); %749-08839600
|
||||
BEGIN DS~9 LIT"FACTOR = "; 08840000
|
||||
SI~LOC I; DS~2 DEC; I~DI; DI~DI-2; DS~FILL; DI~I; 08841000
|
||||
DS~LIT"."; DS~2 DEC; 08842000
|
||||
DS~13 LIT", MAX CORE = "; DS~7 DEC; 08843000
|
||||
I~DI; DI~DI-7; DS~6 FILL; DI~I; 08844000
|
||||
DS~7LIT",USING "; DS~7 DEC; I~DI; DI~DI-7; DS~6 FILL;%749-08845000
|
||||
DI:=I; %749-08845500
|
||||
$ SET OMIT = NOT WORKSET %749-08845999
|
||||
NOSELECT(DS:=14 LIT ",WKSETNOSELECT"); %749-08846000
|
||||
$ POP OMIT %749-08846001
|
||||
DS:=LIT"~"; %749-08846010
|
||||
END STREAM; 08847000
|
||||
EXIT: SPOUT(BUFF); 08848000
|
||||
END CHANGEFACTOR; 08849000
|
||||
PROCEDURE SHEETDIDDLER(BUFF,TYPE,STD); VALUE BUFF,TYPE,SID; 08850000
|
||||
REAL BUFF,TYPE,SID; 08850100
|
||||
COMMENT TYPE = 6: PS -- CHANGE PRIORITY OF JOB IN SCHEDULE 08850200
|
||||
= 8: XS -- EXECUTE JOB IN SCHEDULE (FORCE SELECTION) 08850300
|
||||
= 7: ES -- ELIMINATE JOB FROM SCHEDULE (FORCE SELECTION, 08850400
|
||||
THEN "DS") 08850500
|
||||
= 5: TS -- TYPE OUT SCHEDULE; 08850600
|
||||
BEGIN REAL IOD,T,PRIORITY; 08851000
|
||||
INTEGER LEVEL,NEXTLINK,THISLINK,LASTLINK; 08852000
|
||||
INTEGER ES,EM,EH; DEFINE ET = EH#; 08852500
|
||||
$ SET OMIT = NOT(DATACOM ) 08852599
|
||||
BOOLEAN LASTPASED,ATLEASTONE; 08853000
|
||||
ARRAY S[*],DLNK[*]; 08854000
|
||||
$ SET OMIT = NOT(PACKETS) 08854499
|
||||
DEFINE UNITNO = S[23].[2:6]#; % ORIGINATING UNIT 08854500
|
||||
$ POP OMIT 08854501
|
||||
LABEL CONTINUE,C1,READIN,GNX,TS,TS1,TS2, 08855000
|
||||
XSES,ESLL,PS,PS1,PS2,SPIT,EXIT; 08856000
|
||||
SUBROUTINE GETNEXT; % READS IN NEXT JOB SHEET ENTRY 08858000
|
||||
BEGIN 08859000
|
||||
CONTINUE: LASTLINK ~ THISLINK; 08860000
|
||||
IF (THISLINK~NEXTLINK) ! 0 THEN GO TO READIN; 08860500
|
||||
C1: IF (LEVEL~LEVEL+1) > MIXMAX THEN 08861000
|
||||
BEGIN LASTPASSED ~ TRUE; GO TO GNX END; 08862000
|
||||
LASTLINK ~ NEXTLINK ~ 0; 08863000
|
||||
IF (THISLINK~SHEET[LEVEL].[CF]) = 0 THEN GO TO C1; 08864000
|
||||
READIN: DISKIO(IOD,-(S INX 0-1),30,THISLINK); 08865000
|
||||
SLEEP([IOD],IOMASK); 08866000
|
||||
NEXTLINK ~ S[29]; 08867000
|
||||
IF S[0].[36:6]=@14 THEN GO CONTINUE;%PASS LM ENTRY 08868000
|
||||
GNX: 08869000
|
||||
END GETNEXT; 08870000
|
||||
SLEEP([TOGLE],SHEETMASK); LOCKTOG(SHEETMASK); 08880000
|
||||
S := [M[TYPEDSPACE(31,SHEETAREAV)]] & 30[SIZE];% %167-08881000
|
||||
LEVEL ~ -1; LASTPASSED ~ FALSE; 08882000
|
||||
IF BUFF!0 THEN 08882050
|
||||
BUFF ~ ((T~BUFF).[15:15]-1)&M[P(DUP)-1][9:9:9]; 08882500
|
||||
$ SET OMIT = NOT(DATACOM ) 08882599
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user