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

From WikiTI
Jump to: navigation, search
(name, details of operation, links)
Line 1: Line 1:
[[Category:83Plus:BCALLs:By Name|UpdatePointers]]
+
[[Category:83Plus:BCALLs:By Name|AdjMath]] [[Category:83Plus:BCALLs:By Name:Utility|AdjMath]] [[Category:83Plus:BCALLs:By Address|4345 - AdjMath]]
[[Category:83Plus:BCALLs:By Name:Utility|UpdatePointers]]
+
[[Category:83Plus:BCALLs:By Address|4345 - UpdatePointers]]
+
 
+
 
== Synopsis ==
 
== Synopsis ==
 +
'''Official (?) Name:''' AdjMath
 +
 
'''Unofficial Name:''' UpdatePointers
 
'''Unofficial Name:''' UpdatePointers
  
 
'''BCALL Address:''' 4345
 
'''BCALL Address:''' 4345
  
Updates 23 pointers after memory has been inserted or deleted
+
Updates 23 pointers after memory has been inserted or deleted.
  
 
=== Inputs ===
 
=== Inputs ===
Line 18: Line 17:
  
 
=== Destroys ===
 
=== Destroys ===
All
+
* HL, F
  
 
== Comments ==
 
== Comments ==
These 23 pointers in RAM are updated:
+
Each of the following pointers will be checked and possibly adjusted.  If the address pointed to is ''strictly greater'' than DE, then BC will be subtracted from it.  This means that if you insert memory at the address (iMathPtr1), the pointer will not be changed, which may or may not be what you expect.
* iMathPtr1
+
* [[83Plus:RAM:84D3|iMathPtr1]]
* iMathPtr2
+
* [[83Plus:RAM:84D5|iMathPtr2]]
* iMathPtr3
+
* [[83Plus:RAM:84D7|iMathPtr3]]
* iMathPtr4
+
* [[83Plus:RAM:84D9|iMathPtr4]]
* iMathPtr5
+
* [[83Plus:RAM:84DB|iMathPtr5]]
* asm_data_ptr1
+
* [[83Plus:RAM:84EB|asm_data_ptr1]]
* asm_data_ptr2
+
* [[83Plus:RAM:84ED|asm_data_ptr2]]
* fmtMatMem
+
* [[83Plus:RAM:980A|fmtMatMem]]
* newDataPtr
+
* [[83Plus:RAM:9832|newDataPtr]]
* EQS
+
* [[83Plus:RAM:980C|EQS]]
* 9319h
+
* [[83Plus:RAM:9319|9319h]]
* 9302h
+
* [[83Plus:RAM:9302|9302h]]
* insDelPtr
+
* [[83Plus:RAM:84E1|insDelPtr]]
* 9306h
+
* [[83Plus:RAM:9306|9306h]]
* 9311h
+
* [[83Plus:RAM:9311|9311h]]
* editDat
+
* [[83Plus:RAM:9708|editDat]]
* chkDelPtr1
+
* [[83Plus:RAM:84DD|chkDelPtr1]]
* XOutDat
+
* [[83Plus:RAM:918E|XOutDat]]
* YOutDat
+
* [[83Plus:RAM:9192|YOutDat]]
* fOutDat
+
* [[83Plus:RAM:84E5|fOutDat]]
* 84E7h
+
* [[83Plus:RAM:84E7|84E7h]]
* inputDat
+
* [[83Plus:RAM:9196|inputDat]]
* chkDelPtr2
+
* [[83Plus:RAM:84DF|chkDelPtr2]]

Revision as of 14:25, 22 August 2006

Synopsis

Official (?) Name: AdjMath

Unofficial Name: UpdatePointers

BCALL Address: 4345

Updates 23 pointers after memory has been inserted or deleted.

Inputs

  • DE = Location in RAM where memory was inserted/deleted
  • BC = Number of bytes to decrease each pointer by (use signed integer to increase the pointers)

Outputs

none

Destroys

  • HL, F

Comments

Each of the following pointers will be checked and possibly adjusted. If the address pointed to is strictly greater than DE, then BC will be subtracted from it. This means that if you insert memory at the address (iMathPtr1), the pointer will not be changed, which may or may not be what you expect.