************************************************************
*                                                          *
*  Procedure DEALLOCATE                                    *
*                                                          *
*  This procedure deallocates AUs from the bitmap.  The    *
*  input parameters to this procedure are:                 *
*                                                          *
*  R6 - SCSI ID in the high byte                           *
*  R7 - Starting AU to delete                              *
*  R8 - Ending AU to deallocate                            *
*                                                          *
************************************************************

DEALL  DATA ALWS
       DATA DEALL0

* REGISTER USAGE
*
* R7, R8 - Used to read, write block #
* R2 - Current AU we're deallocating
* R0 - Offset within the word
* R1 - Offset within the block

DEALL0 CLR  R7

       MOV  @14(R13),R2      Get starting AU
       MOV  @12(R13),R6      Get SCSI ID

DEALL1 MOV  R2,R8
       AI   R8,256*8         Offset due to VIB
       MOV  R8,R0
*      ANDI R0,>000F
       MOV  R8,R1
       ANDI R1,>0FF0
       SRL  R1,3
       AI   R1,SECBUF
       SRL  R8,12
       LI   R5,>8000
       SRC  R5,0

DEALL2 BLWP @BANKIT          Read the block
       DATA SCSIRD
       JEQ  DEALL3
       AI   R8,16            If there was an error, read the copy
       BLWP @BANKIT          Read the block
       DATA SCSIRD
       AI   R8,-16

DEALL3
       SZC  R5,*R1

       C    R2,@16(R13)      See if we're done
       JEQ  DEALL4
       INC  R2
       SRC  R5,1
       JNC  DEALL3
       INCT R1
       CI   R1,SECBUF+>200
       JNE  DEALL3

* Write out the bitmap and read in the next part

       BLWP @BANKIT
       DATA SCSIWT
       AI   R8,16
       BLWP @BANKIT
       DATA SCSIWT
       AI   R8,-15
       LI   R1,SECBUF
       JMP  DEALL2

* Now write out the last buffer
*
DEALL4 BLWP @BANKIT
       DATA SCSIWT

       AI   R8,16            Write out the copy as well
       BLWP @BANKIT
       DATA SCSIWT

       RTWP
