;Library Name: ARRAYLIB ;Module Name: SETDU ;Author: Al Hawley ;Date: 31 Mar 1987 ;Version number: 1.0c ;Version History: ;Program Function: ARRAYLIB is a collection of subroutines which ; implement the management of byte arrays in programs written ; for Z80 or HD64180 based computers. This module is one of the ; set, and may require the presence of others. ;*************************************************** ; COPYRIGHT NOTICE ;ARRAYLIB is copyright by A. E. Hawley on March 4, 1987. ;It may be freely distributed, but it must not be sold ;either separately or as part of a package without the ;written consent of the author. The author may be reached ;via electronic mail at the Ladera Z-Node in Los Angeles, ;213-670-9465, or by Voice Phone at: 213-649-3575 ; ;*************************************************** MACLIB ARRHDR name setdu ;This module contains the following routines: public arrsetdu ;..and uses the following external routines: ext arxltbit,arrxltrc,arresbit,arsetbit arrsetdu: ;set the bit corresponding to disk/user to 0 ;or 1, according to the value in reg a. ;on entry, ; a = 00 or >0 ; bc = disk, user ;on exit, ; bit at du is set(1) if a was non-zero ; bit at du is reset(0) if a was zero ;all registers are destroyed ex af,af' dec b ;convert disk to row(0..) call arxltbit call arrxltrc ;addr in hl, bit loc in e ex af,af' or a ;was reg a 0? ld a,e jp z,arresbit ;reset bit if a was 0 jp arsetbit ;else set the bit ;********************************************** end