{{htmlmetatags>metatag-description:(ICL George 3 and George 4 GIN macro: FREEPROG)}} ====== FREEPROG ====== (GIN Macro) **Defined in:** [[george:source:COREMACROS|COREMACROS]] **Used in:** [[george:source:PROSTART867|PROSTART867]], [[george:source:SWAP865|SWAP865]] JC8L ...#MAC FREEPROG JCJ* ...[ JCY4 ...[ MACRO TO RELEASE A PROGRAM BLOCK AND PUT IT ON THE FREE PROGRAM JD?R ...[ BLOCK CHAIN JDMG ...[ %A - PTR.TO OBJECT PROGRAM BLOCK JF39 ...[ %B - PTR.TO JOB BLOCK FOR PROGRAM JFBY ...#STR %A,1 JFQM ... LDX 1 %A [PTR TO PROGRAM BLOCK JG6B ...#STR %B,2 JGG5 ... LDX 2 %B [PTR TO PROGRAMS JOB BLOCK JGTS ... LDX 0 ALOGL(1) JH9H ... SBS 0 COBJUSE JHK= ... ADS 0 COBJUNUSE JHY^ ...#UNS FSHTEST JJ#N ...#SKI JJNC ...( JK46 ... BS 2,JBWASIN JKCT ... LDX 0 JOBNM(2) JKRJ ... STO 0 JOBNOWAS(1) [STO JOB NO. IN FPB JL7? ...) JLH2 ...#UNS FSHTEST JLWP ...( JM=D ... ADS 0 CINVFPB JML7 ... STOZ JOBNOWAS(1) JM^W ...) JN*K ... BS 1,AFFPB [SET FPB MARKER IN AFLAG JNP# ... LDN 2 BOBJUNUSE [BASE OF FPB CHAIN JP53 ...MNEXT LDX 0 2 JPDQ ... LDX 2 FPTR(2) [LOAD FIRST/NEXT BLOCK ON CHAIN JPSF ... BXE 2 CXOBJUN,MCHAIN [J IF END OF CHAIN JQ88 ... BXL 2 1,MNEXT JQHX ...[ CHAIN IN ADDR. ORDER ON FPB CHAIN JQXL ...MCHAIN JR?* ... LDX 2 0 JRM4 ... CHAIN 1,2 JS2R ... COREWAKE [WAKE ANY WAITERS FOR CORE JSBG ...#NOR