Difference between revisions of "83Plus:BCALLs:8054"

From WikiTI
Jump to: navigation, search
(Added comment about effect of call of reg. A)
 
(One intermediate revision by one other user not shown)
Line 8: Line 8:
  
 
=== Inputs ===
 
=== Inputs ===
* AHL = source address
+
* A = source page
 +
* HL = source address
 
* DE = destination address
 
* DE = destination address
 
* BC = number of bytes to copy
 
* BC = number of bytes to copy
  
 
=== Outputs ===
 
=== Outputs ===
* AHL advanced by BC bytes
+
* HL advanced by BC bytes
 
* DE advanced by BC bytes
 
* DE advanced by BC bytes
 
* BC = 0
 
* BC = 0
  
 
=== Destroys ===
 
=== Destroys ===
 +
* A
 
* [[83Plus:RAM:8100|ramCode]]
 
* [[83Plus:RAM:8100|ramCode]]
  
Line 24: Line 26:
  
 
Note that the high bits of A are masked out appropriately (so, for instance, passing A = 7F will read from the boot page regardless of the hardware version.)  Set A = 0 to copy data from the main RAM; you cannot use this routine to copy data from the extra RAM.
 
Note that the high bits of A are masked out appropriately (so, for instance, passing A = 7F will read from the boot page regardless of the hardware version.)  Set A = 0 to copy data from the main RAM; you cannot use this routine to copy data from the extra RAM.
 
 
 
In experimenting with this BCall, I have discovered that the register A is often disrupted after this call returns
 
---Nyquist562---
 

Latest revision as of 05:17, 17 September 2008

Synopsis

Unofficial Name: FlashToRAM2

BCALL Address: 8054

Copy data to RAM from either Flash or RAM.

Inputs

  • A = source page
  • HL = source address
  • DE = destination address
  • BC = number of bytes to copy

Outputs

  • HL advanced by BC bytes
  • DE advanced by BC bytes
  • BC = 0

Destroys

Comments

This is almost exactly equivalent to the OS FlashToRAM.

Note that the high bits of A are masked out appropriately (so, for instance, passing A = 7F will read from the boot page regardless of the hardware version.) Set A = 0 to copy data from the main RAM; you cannot use this routine to copy data from the extra RAM.