/ .title fopen .ident /10oct/ .psect fopen PROGRAM FOP ;FUNCTION MAIN[ARGC,ARGV] ;LET R4 = ARGV + #2 ;. FOPEN[#INR,(R4),"R"] ;RET AUTO buf[60.] FUNCTION fopen[fdb,name,acc] LEN name mov r0,r4 LET r3 = name FILE r3 r4 LET r0 = fdb SELECT case @acc(r5) CASEB #'w OR CASEB #'W mov #fo.wrt,r4 BREAK CASEB #'r OR CASEB #'R mov #fo.rd,r4 BREAK CASEB #'u OR CASEB #'U mov #fo.upd,r4 BREAK ESAC movb r4,f.facc(r0) jsr pc,.open IF CS BEGIN movb f.err(r0),r4 PRINTF "Cannot open %s for %s (%d)" name acc r4 RET r4 END FI RET #1 .end