.title newgrp .inclu "B:GLOBAL" sect code ; Uses FB2 newgrp: push clr FB3-2 mov thisgp, r3 beq 10$ clr thisgp tst (r3)+ bne 10$ cmp (r3)+, #-1 bne 10$ mov (r3)+, r4 mov (r3)+, r2 ; Use it better Mike!/Anders mov (r3), tmp mov #grpstk+12, r3 clr FB2-2 br 20$ 10$: mov #grpstk+12, r3 gos getrec <#1, MyRec, #FB2, #UnLock> mov 24(r1), tmp ; # of memberships beq 999$ mov 26(r1), r4 20$: gos tryrec <#1, R4, #FB2, #UnLock> mov r1, r2 mov r1, tmp+2 add #10, r2 mov #20., r5 mov #FB3, r1 cmp r5, tmp blos 30$ mov tmp, r5 30$: sub r5, tmp 40$: mov (r2)+, r0 call GetHig cmp (r2)+, r0 bhis 60$ mov -4(r2), (r3)+ mov -2(r2), (r3)+ mov r4, (r3)+ mov r2, r0 sub #2, r0 sub tmp+2, r0 mov r0, (r3)+ mov (r2), (r3)+ cmp r3, #grpe-14 bhis 100$ 60$: tst (r2)+ sob r5, 40$ mov tmp+2, r4 mov 2(r4), r4 tst tmp bne 20$ cmp r3, #grpstk+12 beq 999$ clr (r3)+ clr (r3)+ mov #grpstk, thisgp br 998$ 100$: clr (r3)+ mov #-1, (r3)+ mov r4, (r3)+ mov r2, (r3)+ mov tmp, (r3) 998$: tst (pc)+ 999$: sec pop rts pc newinl: push clr tmp+22 mov thisg, r0 cmp r0, curjoi bne 10$ mov thisl, r1 beq 5$ tst (r1) bne 45$ cmp (r1)+, (r1)+ bne 45$ cmp (r1)+, #-1 bne 5$ mov #inlstk, r3 mov r3, thisl mov (r1)+, tmp mov (r1)+, tmp+2 mov (r1)+, r4 mov (r1)+, r5 gos getrec <#1, tmp+2, #FB2, #UnLock> br 150$ 5$: call savem mov thisgp, r1 beq 10$ cmp (r1), r0 bne 10$ clr (r1) 10$: mov #grplst, r1 call findcm sub #rStr, r0 mov (r0), r2 mov rHigh(r0), r5 gos GetRec <#1, rArg(r0), #FB2, #UnLock> tst thisgp bne 50$ 40$: mov r2, r0 call ftcgrp br 100$ 45$: br 998$ 50$: mov r2, r0 call sekgrp bcs 40$ 100$: mov thisg+2, curjoi+2 tst thisg+10 beq 110$ write #here 110$: mov #curjoi, r3 call fixblk mov #30., r5 sub r2, r5 tst tmp beq 999$ mov tmp, tmp+6 mov #inlstk, r3 120$: cmp r5, tmp blos 130$ mov tmp, r5 130$: sub r5, tmp 140$: mov r3, r0 inc tmp+22 mov (r4)+, (r3)+ mov (r4)+, (r3)+ call tp bcc 145$ call cp dec tmp+22 145$: cmp r3, #inle-14 bhis 300$ 150$: sob r5, 140$ 170$: tst tmp beq 200$ mov 2(r1), tmp+2 gos tryrec <#1, 2(r1), #FB2, #UnLock> mov #30., r5 mov r1, r4 add #10, r4 br 120$ 200$: clr (r3)+ clr (r3)+ clr (r3)+ tst tmp+22 bne 900$ add tmp+6, thisg+2 call savem br 999$ 300$: clr (r3)+ clr (r3)+ mov #-1, (r3)+ mov tmp, (r3)+ mov tmp+2, (r3)+ mov r4, (r3)+ mov r5, (r3)+ 900$: mov thisg, curjoi clr mycinl mov #inlstk, thisl mov #poole, r0 sub #pool, r0 asr r0 mov #pool, r1 910$: clr (r1)+ sob r0, 910$ 998$: tst (pc)+ 999$: sec pop rts pc fixblk: mov 2(r3), r3 ; My_Read Entries mov r5, tmp ; HIGH sub r3, tmp bpl 10$ iot 10$: cmp r3, r5 bhis 400$ clr r2 div #30., r2 beq 20$ clr r4 div #60., r4 cmp r2, r4 blos 20$ inc r1 inc r1 20$: gos getrec <#1, 32(r1), #FB1, #UnLock> ; FB4 ; bpt tst r2 beq 50$ cmp r2, r4 bhi 40$ 30$: gos tryrec <#1, 2(R1), #FB1, #UnLock> ; FB4 sob r2, 30$ br 50$ 40$: asl r4 tst r5 bne 41$ dec r4 br 42$ 41$: cmp r5, #30. blos 42$ inc r4 42$: sub r2, r4 blos 50$ 45$: gos tryrec <#1, 4(R1), #FB1, #UnLock> ; FB4 sob r4, 45$ 50$: mov r3, r2 ash #2, r3 add #10, r3 mov r1, r4 add r3, r4 400$: rts pc ftcgrp: push mov r0, tmp+4 mov #thisg, r3 gos getrec <#1, MyRec, #FB3, #UnLock> mov 24(r1), tmp ; # of memberships mov 26(r1), r4 ; Pointer to first block of memberships 20$: gos tryrec <#1, R4, #FB3, #UnLock> mov 2(r1), tmp+14 mov r1, r2 mov r1, tmp+2 add #10, r2 mov #20., r5 mov tmp+4, r1 cmp r5, tmp blos 30$ mov tmp, r5 30$: sub r5, tmp 40$: cmp (r2)+, r1 bne 50$ mov -2(r2), (r3)+ mov (r2)+, (r3)+ mov r4, (r3)+ mov r2, r0 sub tmp+2, r0 sub #2, r0 mov r0, (r3)+ br 80$ 50$: tst (r2)+ 60$: tst (r2)+ sob r5, 40$ mov tmp+14, r4 tst tmp bne 20$ br 999$ 80$: tst (pc)+ 999$: sec pop rts pc sekgrp: push mov thisgp, r3 cmp (r3), r0 beq 70$ add #10, r3 10$: tst (r3) beq 50$ cmp (r3)+, r0 beq 100$ add #6, r3 br 10$ 50$: br 999$ 70$: mov r3, r2 mov #thisg+2, r1 tst (r2)+ mov (r2)+, (r1)+ mov (r2)+, (r1)+ mov (r2), (r1) br 998$ 100$: mov r3, r2 mov #thisg+2, r1 mov (r2)+, (r1)+ mov (r2)+, (r1)+ mov (r2), (r1) 110$: mov (r2)+, -12(r2) mov (r2)+, -12(r2) mov (r2)+, -12(r2) mov (r2)+, -12(r2) tst (r2) bne 110$ clr -10(r2) 998$: tst (pc)+ 999$: sec pop rts pc .end