*DECK ECSRW 
          IDENT  ECSRW
          SST 
          TITLE  ECSRW - READ AND WRITE ECS 
          COMMENT  READ AND WRITE ECS 
          TITLE  ECSINIT - INITIALIZE ECS 
* 
**        ECSINIT - INITIALIZE ECS PROCESSING 
* 
*         CALLED AS FUNCTION FROM VIRTUAL 
* 
*         RETURNS NUMBER OF AVAILABLE WORDS IN ECS
* 
          ENTRY  ECSINIT
 ECSINIT  DATA   0
          MEMORY ECS,ECSFL,R GET ECS FIELD LENGTH 
          SA2    ECSFL
          AX2    30 
          BX6    X2 
          EQ     ECSINIT
 ECSFL    DATA   0
          TITLE  ECSREAD - READ A BLOCK FROM ECS
* 
*         ECSREAD - READ A BLOCK FROM ECS 
* 
*         CALLED AS A PROC FROM VIRTUAL 
*                ECSREAD (COREADDR, WORDS, ECSADDRESS); 
* 
          ENTRY ECSREAD 
 ECSREAD  DATA   0
          SB1    1
          SA2    A1+B1       ADDR OF NBR WORDS
          SA3    A2+B1
          SA1    X1          CORE ADDRESS 
          SA2    X2          NBR WORDS
          SA0    X1 
          SA3    X3 
          SB2    X2 
          BX0    X3 
          RE     B2          READ ECS INSTRUCTION 
          EQ     RERR        JP IF ECS READ ERROR 
          EQ     ECSREAD
 RERR     BSS    0
          MESSAGE  (=C$ * ECS READ ERROR * $),,R
          ABORT              ABORT RUN
          TITLE  ECSWRITE - WRITE AN ECS BLOCK
* 
**        ECSWRIT - WRITE AN ECS BLOCK
* 
*         CALLED AS A PROC FROM VIRTUAL 
*                ECSWRITE (COREADD, WORDS, ECSACCRESS); 
* 
          ENTRY  ECSWRIT
 ECSWRIT  DATA   0
          SB1    1
          SA2    A1+B1
          SA3    A2+B1
          SA1    X1 
          SA2    X2 
          SA3    X3 
          SA0    X1          CORE ADDRESS 
          SB2    X2          NBR WORDS
          BX0    X3          ECS ADDRESS
          WE     B2          WRITE ECS INST 
          EQ     WERR        JP IF ECS ERROR
          EQ     ECSWRIT
 WERR     BSS    0
          MESSAGE  (=C$ * ECS WRITE ERROR* $),,R
          ABORT              ABORT RUN
          END 
