.TITLE SRDOPR-OPEN & READ .IDENT /V2.0/ ;2-JUN-76 .psect srdopr,I,ro,rel ;+ ; ;**SRD--SORT DIRECTORY ; ;THIS MODULE OPENS THE UFD AND READS IT INTO MEMORY ; ; ; THIS TASK WILL SORT A RSX11M DIRECTORY ;THEN CREATE A LISTING WITH MANY SELECTION OPTIONS ; ;THIS IS THE MAIN ROUTINE, AND IS PURE. ; ; ;- ; ;SYSTEM MACRO CALLS ; .MCALL OFNB$,READ$,WAIT$ SRDOPR::OFNB$ #UFDFDB ;OPEN THE DIRECTORY BCC 10$ ;THIS SHOULD WORK! FERR OPNI 10$: MOV DIRBF$,F.BKDS+2(R0) ;POINT AT TOP OF BUFFER 20$: READ$ R0 ;READ IT BCS 30$ ;BR IF ABNORMAL RETURN WAIT$ R0 ADD #512.,F.BKDS+2(R0) ;ADVANCE I-O BUFFER PTR MOV F.BKDS+2(R0),-(SP) ;GET START OF BUFFER ADD #512.,(SP) ;FIND END CMP (SP)+,DIRBE$ ;ROOM? BLOS 20$ FERR 0 30$: CMPB #IE.EOF,F.ERR(R0) ;END-OF FILE??? BEQ 40$ ;CONTINUE IF YES! FERR REDE ;READ ERROR OF INPUT FILE 40$: RETURN .END