Difference between revisions of "83Plus:BCALLs:42F1"
From WikiTI
Nyquist562 (Talk | contribs) (Created a page for this bcall) |
Nyquist562 (Talk | contribs) m (carry, not 'cary') |
||
Line 27: | Line 27: | ||
B_CALL Mov9toOp1 | B_CALL Mov9toOp1 | ||
B_CALL ChkFindSym | B_CALL ChkFindSym | ||
− | jr c,notfound ; | + | jr c,notfound ;carry flag is set if the VAT entry is not found |
ex de,hl ;put data pointer into hl | ex de,hl ;put data pointer into hl | ||
xor a | xor a |
Revision as of 16:58, 11 April 2007
Synopsis
Official Name: ChkFindSym
BCALL Address: 42F1
Recalls various pointers and information for a symbol in the VAT.
Inputs
- OP1 = Name of variable (with proper initial defining byte, see example)
Outputs
- HL = VAT pointer
- DE = Data location (to the best of my knowledge, please confirm this)
- B = Flash Page, or 0 if in RAM
- C = Length of Varibale Name
- A = 'unknown'
- carry flag is set if the variable is not found in the VAT
Registers Destroyed
'All'
Example
ld hl,varname B_CALL Mov9toOp1 B_CALL ChkFindSym jr c,notfound ;carry flag is set if the VAT entry is not found ex de,hl ;put data pointer into hl xor a cp b ;see if b is 0, and the program is in the ram jr z,unarchived ;if so, jump to unarchived ;do something to get it into RAM unarchived: ;do something once it is in RAM varName: .db AppVarObj, "APPVAR",0