Difference between revisions of "83Plus:BCALLs:4345"
From WikiTI
(→Comments) |
|||
(5 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | [[Category:83Plus:BCALLs:By Name| | + | [[Category:83Plus:BCALLs:By Name|AdjMath]] [[Category:83Plus:BCALLs:By Name:Memory|AdjMath]] [[Category:83Plus:BCALLs:By Address|4345 - AdjMath]] |
− | [[Category:83Plus:BCALLs:By Name: | + | |
− | [[Category:83Plus:BCALLs:By Address|4345 - | + | |
− | + | ||
== Synopsis == | == Synopsis == | ||
− | '''Official Name:''' UpdatePointers | + | '''Official Name:''' AdjMath |
+ | |||
+ | '''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 === | ||
− | + | * HL, F | |
== Comments == | == 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. | |
− | * 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]] |
− | * | + | * [[83Plus:RAM:9302|ES]] |
− | * 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]] |
Latest revision as of 12:43, 23 September 2015
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.