;+ ; Program counts how many users are on the system and ; returns it as exit status ;- / buf: .blkb 100. PROGRAM USE AUTO i count FUNCTION main[argc,argv] clr count(r5) mov #$devtb,r4 DO FOREVER BREAK IF (r4) = #0 ;TTY <---- new dcb ----> mov d.ucb(r4),r3 movb d.unit(r4),r0 movb d.unit+1(r4),r1 mov d.ucbl(r4),r2 IF d.nam(r4) = #"TT LOOP for i = r0 TO r1 call looper NEXT i FI mov d.lnk(r4),r4 ;next dcb OD ;PRINTF #buf "Count=%d" count RET count looper: bit #u2.log,u.cw2(r3) IF OFF inc count(r5) ; PRINTF #buf "i=%o r0=%d r1=%d on" i r0 r1 FI add r2,r3 ;next ucb rts pc .end