home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ZSYS / ZSYSARK / Z3HLP01.ARK / A.LBR / ARRINTFN.HZP / ARRINTFN.HLP
Text File  |  1990-03-23  |  4KB  |  113 lines

  1. DESCRIPTION & GENERAL NOTES FOR INTERNAL FUNCTIONS
  2. ARMIRROR -- Invert the bit order at (hl)
  3. ARRFR0$E -- Write (A) into the array from row 1, col 0 to the end
  4. ARRFRC$E -- Write (A) into (BC) through end of array. BC=row,col
  5. ARRC1$C2 -- Perform a function on elements C through D in row B
  6. ARRVISIT -- Perform a function on elements (HL) through (DE)
  7. :Internal Functions --
  8.  
  9.     The routines documented in this file are part of ARRAYFN.Z80.
  10. They are not declared public, but are used by those others that are
  11. Public. To make them public, edit the Public declarations as needed
  12. in the ARRAYFN.Z80 file and reassemble to make a new .REL file. Copies
  13. of the following help screens and of the titles from the main screen
  14. can then be edited into ARRAYLIB.HLP and dependant help files as
  15. required.
  16. :Invert the bit order at (hl)
  17.  
  18.      Routine:  ARMIRROR
  19.  
  20.      Function: Invert the order of the bits at (hl)
  21. (swap bits 0-7,1-6,2-5,3-4)
  22.  
  23.      Inputs:  hl = addr of byte to invert
  24.  
  25.      Outputs:  mirror image in (hl)
  26.  
  27.      Registers Affected: reg A is destroyed
  28. all other registers preserved
  29.  
  30.      Error Conditions: NONE
  31. :-- Write (A) into the array from row 1, col 0 to the end
  32.  
  33.      Routine:  ARRFR0$E
  34.  
  35.      Function: Write the contents of A into the array, starting
  36. with row 0, column 0 and ending with the last byte in the array
  37.  
  38.      Inputs:  A = value with which to fill array
  39.  
  40.      Outputs: AF = Completion status. 0, Z, NC = normal return.
  41.  
  42.      Registers Affected:  AF, AF',BC,DE,HL
  43.  
  44.      Error Conditions: 
  45.     if error: A = error code, carry set
  46.     A = 1 if bitmap not yet defined
  47. :-- Write (A) into (BC) through end of array. BC=row,col
  48.  
  49.      Routine:  ARRFRC$E
  50.  
  51.      Function: Write the contents of A into the array, starting
  52. with row B, column C and ending with the last byte in the array
  53.  
  54.      Inputs:
  55.     A = value with which to fill array
  56.     B = starting row number
  57.     C = starting column number
  58.  
  59.      Outputs: AF = Completion status. 0, Z, NC = normal return.
  60.  
  61.      Registers Affected:  AF, AF',BC,DE,HL
  62.  
  63.      Error Conditions:
  64. on error: AF returns with carry set and error code in A
  65.     A = 1 if bitmap not yet defined
  66.     A = 2 if address is out of range
  67. :Perform a function on elements C through D in row B
  68.  
  69.      Routine:  ARRC1$C2
  70.  
  71.      Function: Visit 1 or more contiguous columns in a row, from
  72. column c1 through column c2. ARVISITI must have already been called
  73. to establish the function to perform.
  74.  
  75.      Inputs:
  76.     B = starting row number
  77.     C = starting column number
  78.     E = ending column number
  79.  
  80.      Outputs:
  81.  
  82.      Registers Affected: AF, HL
  83.  
  84.      Error Conditions:
  85. on error: AF returns with carry set and error code in A
  86.     A = 1 if bitmap not yet defined
  87.     A = 2 if address is out of range
  88.     A = 3 if ending address < starting address
  89. :Perform a function on elements (HL) through (DE)
  90.  
  91.      Routine:  ARRVISIT
  92.  
  93.      Function: Visit all bytes in an address range, performing
  94. a specified function on the contents of each address. Data in support
  95. of the function may be in reg A and BC. The function to be performed is
  96. specified by passing its address to ARRVISIT by a call to ARVISITI before
  97. calling ARRVISIT.
  98. When a new function is required, ARVISITI is called again.
  99.  
  100.      Inputs:
  101.     HL = first address
  102.     DE = last address
  103.  
  104.      Outputs:
  105.     HL = last address+1
  106.  
  107.      Registers Affected: DE and BC are preserved
  108.  
  109.      Error Conditions:
  110. if ARVISITI has never been called, this routine will return
  111. having done nothing.
  112.  
  113. rns with c