{{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