|
|
1.1 ! root 1: # ! 2: # 30read.s ! 3: # ! 4: # READ OPERATIONS ! 5: # ! 6: _GET: ! 7: incl r10 ! 8: calls $0,_iosync #insure that something is in the window ! 9: bisw2 $SYNC,FUNIT(r7) #throw it away ! 10: jmp (r8) ! 11: _FNIL: ! 12: incl r10 ! 13: movl (sp),r0 ! 14: bbs $fWRITE,FUNIT(r0),l3002 #ignore sync of output files ! 15: movl r7,r2 ! 16: movl _file,r3 ! 17: calls $0,_unit #do not discard arguement to unit on return ! 18: calls $0,_iosync ! 19: movl r2,r7 ! 20: movl r3,_file ! 21: l3002: ! 22: jmp (r8) ! 23: _READ4: ! 24: incl r10 ! 25: calls $0,_unsync #prepare input stream ! 26: pushl $0 #space for answer ! 27: pushl sp #ptr to answer space ! 28: pushal rd4 #ptr to input format ! 29: pushl FBUF(r7) #stream ! 30: calls $3,_fscanf ! 31: cmpl $1,r0 ! 32: bneq eiread ! 33: bisw2 $SYNC,FUNIT(r7) ! 34: jmp (r8) ! 35: eiread: ! 36: movw $EBADINUM,_perrno ! 37: jbr error ! 38: _READ8: ! 39: incl r10 ! 40: calls $0,_unsync #prepare input stream ! 41: clrd -(sp) #space for answer ! 42: pushl sp #ptr to answer space ! 43: pushal rd8 #ptr to input format ! 44: pushl FBUF(r7) #stream ! 45: calls $3,_fscanf ! 46: cmpl $1,r0 ! 47: bneq efread ! 48: bisw2 $SYNC,FUNIT(r7) ! 49: jmp (r8) ! 50: efread: ! 51: movw $EBADFNUM,_perrno ! 52: jbr error ! 53: _READLN: ! 54: incl r10 ! 55: calls $0,_iosync ! 56: bbs $fEOLN,FUNIT(r7),l3005 #check for already at end of line ! 57: pushal rdln ! 58: pushl FBUF(r7) ! 59: calls $2,_fscanf ! 60: l3005: ! 61: bisw2 $SYNC,FUNIT(r7) ! 62: jmp (r8) ! 63: _READC: ! 64: incl r10 ! 65: calls $0,_iosync ! 66: cvtbw (r7),-(sp) ! 67: bisw2 $SYNC,FUNIT(r7) ! 68: jmp (r8) ! 69: ! 70: rd4: .byte '%,'l,'d, 0 ! 71: rd8: .byte '%,'l,'f, 0 ! 72: rdln: .byte '%,'*,'[,'^,linefeed,'],'%,'*,'c, 0
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.