{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: MACROS MACB)}} ====== MACROS MACB ====== (George Source) 22FL ...[??? URGTIME SECT CENT FGN 2 DOC 3#^2 # 3*DL # TO CONCOCT THE TRANSIENT BUDGET BIT PATTERN RELATING TO A GIVEN 3*Y= # URGENCY.IT IS ASSUMED THAT THE URGENCY LETTER HAS JUST BEEN 3BCW # PUT INTO %A 3BXG #MAC URGTIME 3CC6 SLL %A GSHIFT 3CWQ ANDX %A MURGTIME(1) 3DBB ORX %A MURGTIME+1(1) 3DW2 ADN %A IZLINE 3F*L BRN MURGTIME2 3FT= MURGTIME 3G#W +GTAND 3GSG +GTOR 3H#6 MURGTIME2 3HRQ #NOR 3J3J ...[??? BUDGUSEN SECT CENT FGN 2 DOC 3J?B # 3JR2 # TO READ A USER'S BUDGET RECORD TO A JBUDGET,JBUDGUSER BLOCK 3K=L # 1) IF %A IS THE BUDGET TYPE BIT PATTERN 3KQ= #MAC BUDGUSEN 3L9W SMO FX1 3LPG LDX 0 MBUDGUSEN1 3M96 SMO FX2 3MNQ STO 0 EXEC1 3N8B DOWN BUDGONE,1 3NN2 BRN MBUDGUSEN2 3P7L MBUDGUSEN1 3PM= +%A 3Q6W MBUDGUSEN2 3QLG #NOR 3QW# ...[??? BUDGUSE SECT CENT FGN 2 DOC 3R66 # 3RKQ # TO READ A USER'S BUDGET RECORD TO A JBUDGET,JBUDGUSER BLOCK 3S5B # 2) IF %A IS THE ADDRESS OF A WORD CONTAING THE BUDGET TYPE(BITS) 3SK2 #MAC BUDGUSE 3T4L LDX 0 %A 3TJ= SMO FX2 3W3W STO 0 EXEC1 3WHG DOWN BUDGONE,1 3X36 #NOR 3X=Y ...[??? BUDGBITS SECT CENT FGN 2 DOC 3XGQ # 3Y2B # BUDGET CONVERSION 3YG2 #MAC BUDGBITS 3Y^L SMO FX1 3^F= LDX 0 MBUDGBITS1 3^YW SMO FX2 42DG STO 0 EXEC1 42Y6 DOWN BUDGONE,2 43CQ BRN MBUDGBITS2 43XB MBUDGBITS1 +%A 44C2 MBUDGBITS2 44WL #NOR 456D ...[??? BUDGBITX SECT CENT FGN 2 DOC 45B= #MAC BUDGBITX 45TW LDX 0 %A 46*G SMO FX2 46T6 STO 0 EXEC1 47#Q DOWN BUDGONE,2 47SB #NOR 4848 ...[??? BUDGINCX SECT CENT FGN 2 DOC 48#2 # 48RL #MAC BUDGINCX 49?= #STR 0,%B 49QW ( 4==G LDX 0 %A 4=Q6 SMO FX2 4?9Q STO 0 EXEC1 4?PB LDX 0 %B 4#92 ) 4#NL SMO FX2 4*8= STO 0 EXEC2 4*MW #STR 0,%B 4B7G #SKI 4BM6 ( 4C6Q LDX 0 %A 4CLB SMO FX2 4D62 STO 0 EXEC1 4DKL ) 4F5= DOWN BUDGONE,3 4FJW #NOR 4FSN ...[??? BUDGINCR SECT CENT FGN 2 DOC 4G4G #MAC BUDGINCR 4GJ6 LDX 0 %B 4H3Q LDX 2 FX2 4HHB STO 0 EXEC2(2) [AMOUNT OF INCREMENT 4J32 SMO FX1 4JGL LDX 0 MBUDGINCR1 4K2= STO 0 EXEC1(2) [BUDGET TYPE 4KFW DOWN BUDGONE,3 4K^G BRN MBUDGINCR2 4LF6 MBUDGINCR1 4LYQ +%A 4MDB MBUDGINCR2 4MY2 #NOR 4N7S ...[??? BUDGWRIT SECT CENT FGN 2 DOC 4NCL #MAC BUDGWRITE 4NX= DOWN BUDGONE,4 4PBW #NOR 4R5J ...[??? BUDGCHAR SECT CENT FGN 2 DOC 4R*B #MAC BUDGCHAR 4RT2 DOWN BUDGTWO,2 4S#L #NOR 4SJD ...[??? PARSPLIT SECT CENT FGN 2 DOC 4SS= #MACRO PARSPLIT 4T?W DOWN PSPLIT,1 4TRG LDX %A ACOMMUNE2(2) 4W?6 #NORMAL 4WGY ...[??? ONPRIV SECT CENT FGN 2 DOC 4WQQ # 4X=B #MAC ONPRIV [MACRO TO GIVE A SPECIFIED PRIVILEGE 4XQ2 LDN 0 1 [ %A CONTAINS PRIVILEGE TYPE 4Y9L SMO %A [%B IS A MODIFIER POINTING TO THE 4YP= SRC 0 1 [ RELEVANT FILE,ADICTENT 4^8W ORS 0 CPRIV(%B) 4^NG #NOR 4^Y# ...[??? OFFPRIV SECT CENT FGN 2 DOC 5286 # 52MQ #MAC OFFPRIV 537B LDN 0 1 53M2 SMO %A [%A CONTAINS PRIVILEGE TYPE 546L SRC 0 1 54L= STO 0 GSAVE 555W NGN 0 1 55KG ERX 0 GSAVE [%B IS A MODIFIER POINTING TO THE 5656 ANDS 0 CPRIV(%B) [RELEVANT FILE,ADICTENT 56JQ #NOR 56SJ ...[??? TESTPRIV SECT CENT FGN 2 DOC 574B # 57J2 #MAC TESTPRIV [SETS X0 =0 IF PRIVILEGE NOT HELD; 583L LDN 0 1 [OTHERWISE X0 IS NOT ZERO 58H= SMO %A [%A CONTAINS PRIVILEGE TYPE 592W SRC 0 1 [%B IS A MODIFIER POINTING TO THE 59GG ANDX 0 CPRIV(%B) [RELEVANT FILE,ADICTENT 5=26 #NOR 5=9Y ...[??? OPENBUDG SECT CENT FGN 2 DOC 5=FQ # 5=^B # 5?F2 # MACRO TO PREPARE BUDGET ENTRY FOS BUDGET NACROS (I.E. TO OPEN THE 5?YL #MAC OPENBUDG [DICTIONARY AND READ THE USER'S 5#D= DOWN BUDGTWO,3 [ENTRY) 5#XW BRN %A [%A IS LABEL IF BREAK-IN ROURINE 5*CG #NOR 5*M# ...[??? CLOSBUDG SECT CENT FGN 2 DOC 5*X6 # 5BBQ # CONCLUDING MACRO : TO RE-WRITE ENTRY AND CLOSE DICTIONARY 5BWB #MAC CLOSBUDG 5CB2 DOWN BUDGTWO,4 5CTL #NOR 5D5D ...[??? CLOSBINC SECT CENT FGN 2 DOC 5D*= # 5DSW # CONCLUDING MACRO : TO DELETE AND APPEND ENTRY AND CLOSE DICTIONARY 5F#G #MAC CLOSBINC 5FS6 DOWN BUDGTWO,5 5G?Q #NOR 5MCS ...[??? HUNTACTC SECT CENT FGN 2 DOC 5MML # 5N7= # 5NLW #MAC HUNTACTC 5P6G [OWNER : P R LUCKE 5PL6 [SEARCHES FORWARD FROM THE BLOCK WHOSE ADDRESS IS [%C] UNTIL IT FINDS A 5Q5Q [ TYPE %A. A POINTER IS LEFT IN %B(WHICH MUST BE A MODIFIER). IF NO SUCH 5QKB [ IS FOUND BEFORE THE CURRENT ACTIVITY IS ENCOUNTERED,THE ROUTINE BRANCH 5R52 [ IF %C IS OMITTED,IT IS TAKEN TO BE THE SAME AS %B 5RJL #SKI %C 5S4= LDX %B %C 5SHW MHUNTACTC1 5T3G LDX %B FPTR(%B) 5TH6 TXU %B FX2 5W2Q BCC %D 5WGB LDCH 0 ATYPE(%B) 5X22 SBN 0 %A/64 5XFL BNZ 0 MHUNTACTC1 5X^= #NOR 5Y94 ...[??? LDSA SECT CENT FGN 2 DOC 5YDW #MAC LDSA 5YYG LDX %A %B 5^D6 ANDN %A #7777 5^XQ #NOR 627J ...[??? SPRIVON SECT CENT FGN 2 DOC 62CB # 62X2 # PROGRAM PRIVILEGE MACROS 63BL # THESE MACROS ACCESS THE JPRIV WORD IN THE JOB BLOCK 63W= # (AND ASSUME NO MORE THAN 12 PROGRAM PRIVILEGES CAN EXIST) 64*W #MAC SPRIVON [MACRO TO TURN ON THE SPECIFIED PROGRAM 64TG LDN 0 %A [PRIVILEGE (%A) IN THE JOB BLOCK POINTED 65*6 ORS 0 JPRIV(%B) [TO BY %B 65SQ #NOR 664J ...[??? SPRIVOFF SECT CENT FGN 2 DOC 66#B # 66S2 #MAC SPRIVOFF [MACRO TO TURN OFF THE SPECIFIED PROGRAM 67?L NGN 0 1 [PRIVILEGE (%A) IN THE JOB BLOCK POINTED 67R= ERN 0 %A [PRIVILEGE (%A) IN THE JOB BLOCK POINTED 68=W ANDS 0 JPRIV(%B) [TO BY %B 68QG #NOR 692# ...[??? SPRIVTES SECT CENT FGN 2 DOC 69=6 # 69PQ #MAC SPRIVTEST [MACRO TO TEST THE PROGRAM PRIVILEGE 6=9B LDN 0 %A [SPECIFIED BY %A IN THE JOB BLOCK TO 6=P2 ANDX 0 JPRIV(%B) [WHICH %B POINTS.IF THE PROGRAM IS 6?8L BZE 0 %C [NOT HELD,CONTROL PASSES TO %C 6?N= #NOR 6?Y4 ...[??? SPRIVJUM SECT CENT FGN 2 DOC 6#7W # 6#MG # THIS MACRO JUMPS IF JOB HAS THE SPECIFIED PRIVILEGE 6*76 # %A IS THE PRIV,%B IS PTR TO JOB BLOCK 6*LQ # %C IS LABEL 6B6B # 6BL2 #MAC SPRIVJUMP 6C5L LDN 0 %A 6CK= ANDX 0 JPRIV(%B) 6D4W BNZ 0 %C 6DJG #NOR 6DS# ...[??? BUDGERAS SECT CENT FGN 2 DOC 6F46 # 6FHQ # BUDGERASE 6G3B # MECRO TO RETURN TO HIS SUPERIOR ALL OF A USER'S BUDGETS. 6GH2 # IT IS ASSUMED THAT THE DICTIONARY IS OPEN IN GENERAL MODE, 6H2L # AND THAT THE FIRST FILE,ADICTENT BLOCK IN THE CHAIN IS THAT 6HG= # OF THE USER WHOSE BUDGETS ARE TO BE ERASED. 6H^W #MAC BUDGERASE 6JFG DOWN BUDGTWO,1 6J^6 #NOR 6K8Y ...[??? BUDGSTAR SECT CENT FGN 2 DOC 6KDQ # 6KYB #OPT BUDGETS=1 6LD2 #MAC BUDGSTART 6LXL DOWN BUDGTWO,7 6MC= #NOR 6MM4 ...[??? LOGANAL SECT CENT FGN 2 DOC 6MWW #MAC LOGANAL 6NBG DOWN BLOGNAL,1 6NW6 #NOR 6P5Y ...[??? BILA SECT CENT FGN 2 DOC 6P*Q #MAC BILA 6PKJ ...#ALT BILA=1 6PTB #MEN LOGOUT 6Q*2 #TRA K50LOGOUT 6QSL #STR ON,%A 6R#= #SKI 6RRW ( 6S?G DOWN BLOGNAL,1 6SR6 ...#ALT BILA=0 6T=Q #END 6TQB #MEN OUTPER 6W=2 #TRA K51OUTPER 6WPL LDN 3 #65 ["U". 6X9= #END 6XNW #MEN CONNECT 6Y8G #TRA K50CONNECT 6YN6 DOWN BLOGNAL,1 6^7Q ) 6^MB #STR OFF,%A 7272 #SKI 72LL ( 736= DOWN LOGANAL,1 73KW ...#ALT BILA=0 745G #END 74K6 #MEN OUTPER 754Q #TRA K51OUTPER 75JB BRN K50OUTPER 7642 #END 76HL #MEN CONNECT 773= #TRA K50CONNECT 77GW DOWN LOGANAL,1 782G ) 78G6 #STR SJ,%A 78^Q #SKI 79FB ( 79^2 DOWN BLOGNAL,2 7=DL ...#ALT BILA=0 7=Y= #END 7?CW #MEN OUTPER 7?XG #TRA K51OUTPER 7#C6 LDN 3 #65 ["U". 7#WQ #END 7*BB #MEN CONNECT 7*W2 #TRA K50CONNECT 7B*L DOWN BLOGNAL,2 7BT= ) 7CSG #SKI BILA 7D#6 !THIS MACRO HAS BEEN USED INCORRECTLY 7DRQ #END 7F?B #STR SJ,%A 7FR2 RESOFF JNLBIT 7G=L #STR SJ,%A 7GQ= #SKI 7H9W RESON JNLBIT 7HPG #NOR 7H^# ...[??? BSJ SECT CENT FGN 2 DOC 7J96 #MAC BSJ 7JNQ BSON JNLBIT,%A 7K8B #NOR 7KD8 ...[??? BNSJ SECT CENT FGN 2 DOC 7KN2 #MAC BNSJ 7L7L BSOFF JNLBIT,%A 7LM= #NOR 835N ...[??? SETCOMER SECT CENT FGN 2 DOC 83*G #MAC SETCOMER [SETCOMER - INDICATE TO THE COMMAND 83T6 LDCT 0 #400 [PROCESSOR THAT AN ERROR HAS OCCURED. 84#Q ORS 0 EXT+8(2) [BIT 0 OF EXT+8 INDICATES THIS. 84SB #NOR 8548 ...[??? INSTPARA SECT CENT FGN 2 DOC 85#2 # 85RL # MACRO TO DO THE SAME AS THE INSTPARA COMMAND 86?= # %A IS A BREAKIN LABEL 86QW # %B (NOT X0) IS A PTR TO A 3 WORD AREA CONTAINING THE NAME OF THE 87=G # IP SPACEFILLED 87Q6 # %C IS A WORD CONTAINING THE NEW VALUE OF THE IP 889Q # %D IS A LABEL TO BRANCH TO IF THE VALUE IS ILLEGAL 88PB # 8992 #MAC INSTPARA 89NL #STR 0,%C 8=8= LDX 0 %C 8=MW SMO FX2 8?7G STO 0 ACOMMUNE1 8?M6 LDX 0 %B 8#6Q SMO FX2 8#LB LDN 1 ACOMMUNE2 8*62 MOVE 0 3 8*KL DOWN INSTPARA,2 8B5= BRN %A 8BJW BRN %D 8C4G #NOR ^^^^ ...63425327000500000000