. . WRITE COMMAND ACTIVITY . . . (C) Copyright 1972-1978 John Walker . . This software is in the public domain . AXR$ DEFUNCT$ FANG $(1). . WRITE* LX X5,CDBPC,X8 LOAD POINTER TO FILE PARAMETER LA A11,CDOPTS,X8 LOAD COMMAND OPTIONS LX X5,PBLINK,X5 LINK TO COUNT PARAMETER LA,U A10,1 LOAD IMPLIED COUNT (1) TEP,U A11,OPTION('S') WRITE AT SPECIFIED ADDRESS ? LA,U A10 YES. ASSUMED ADDRESS IS ZERO LA A1,PBTYPE,X5 LOAD TYPE OF THE PARAMETER JE A1,DATA,DUDLEY DO WRITE. USE ASSUMED COUNT LA A10,PBVAL,X5 LOAD USER-SUPPLIED COUNT LX X5,PBLINK,X5 CHAIN TO DATA BUFFER ADDRESS DUDLEY LMJ A2,IOGNF ALLOCATE A NON I/O FCT SX X5,IOFN,A0 PUT DATA BUFFER ADDRESS IN FILE NAME TOP,U A11,OPTION('S') WRITE AT SPECIFIC ADDRESS ? J SAOC NO. SKIP CHECKS LA A12,A10 SAVE ADDRESS PARAMETER LA,U A10,1 ALWAYS WRITE ONE BLOCK IN THIS MODE SAOC SA A10,IOCOUNT,A0 PUT NUMBER OF BUFFERS TO EMIT IN FCT LX,U X10,,A0 MOVE FCT ADDRESS TO X10 LA A1,CDBPC,X8 LOAD ADDRESS OF OUTPUT PARAMETER LA A1,PBVAL,A1 LOAD FDT ADDRESS FROM PARAMETER LMJ A2,IOGET BUILD AN I/O FCT LX,U X9,,A0 MOVE OUTPUT FCT ADDRESS TO X9 TNZ IOMASS,X9 IS OUTPUT MASS STORAGE ? TOP,U A11,OPTION('M') NO. IS 'M' OPTION ON ? J NOZZLE SKIP IT BECAUSE NOT REQUESTED OR MS OUTP LA,U A0,'M' LOAD 'M' I/O OPTION SA A0,IOOPT,X10 SET FOR SOURCE SA A0,IOOPT,X9 AND FOR WRITER NOZZLE TOP,U A11,OPTION('S') IS THE 'S' OPTION ON ? J SOFO NO. DO REGULAR WRITE TNZ IOMASS,X9 IS OUTPUT FILE MASS STORAGE ? J OOPS NO. TURN BACK THE CLOCK SA A12,IODRAD,X9 SET ADDRESS IN I/O PACKET J SOFO FIRE UP WRITE OOPS SA A12,IOCOUNT,X10 PUT PARAMETER IN COUNT SOFO LMJ A2,SOURCE ESTABLISH BUFFER EMITTER LMJ A2,OUTPUT FIRE UP OUTPUT ACTIVITY P IOBB+QL,X9 WAIT FOR WRITE TO COMPLETE BRELP X9 RELEASE OUTPUT FCT BRELP X10 RELEASE INPUT FCT COMPLETE . FINISH THIS COMMAND END