Difference between revisions of "83Plus:BCALLs:49D2"

From WikiTI
Jump to: navigation, search
 
m (Not the first to discover it --> No credit)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:83Plus:BCALLs:By Name|GetEndVar]]
+
[[Category:83Plus:BCALLs:By Name|GetEndVar]] [[Category:83Plus:BCALLs:By Name:Variable|GetEndVar]] [[Category:83Plus:BCALLs:By Address|49D2 - GetEndVar]]
[[Category:83Plus:BCALLs:By Name:Variable|GetEndVar]]
+
 
[[Category:83Plus:BCALLs:By Address|49D2 - GetEndVar]]
+
 
== Synopsis ==
 
== Synopsis ==
 
'''Official Name:''' GetEndVar
 
'''Official Name:''' GetEndVar
Line 24: Line 23:
  
 
== Example ==
 
== Example ==
  <nowiki> rst 10h ; FindSym
+
  <nowiki> rst 10h ; FindSym
 
  ex de,hl
 
  ex de,hl
 
  ld e,(hl)
 
  ld e,(hl)
Line 32: Line 31:
 
  ex de,hl
 
  ex de,hl
 
  add hl,de</nowiki>
 
  add hl,de</nowiki>
 
== Credits and Contributions ==
 
* '''[[User:CalcKing|Peter Wakefield]]:''' For discovering this B_CALL.
 

Latest revision as of 12:52, 5 April 2005


Synopsis

Official Name: GetEndVar

BCALL Address: 49D2

Executes FindSym and calculates the end address of the variable.

Inputs

  • OP1: Variable name

Outputs

  • HL: Points to end of variable
  • DE: Points to start of variable data
  • Other outputs are the same as FindSym

Destroys

  • All

Comments

This B_CALL can be useful if you want to access the end of a variable. Equivalent code located in example.

Example

 rst	10h	; FindSym
 ex	de,hl
 ld	e,(hl)
 inc	hl
 ld	d,(hl)
 inc	hl
 ex	de,hl
 add	hl,de