Difference between revisions of "83Plus:BCALLs:42F1"
From WikiTI
Nyquist562 (Talk | contribs) m (carry, not 'cary') |
m (→Outputs: fixed typo) |
||
Line 14: | Line 14: | ||
* DE = Data location (to the best of my knowledge, please confirm this) | * DE = Data location (to the best of my knowledge, please confirm this) | ||
* B = Flash Page, or 0 if in RAM | * B = Flash Page, or 0 if in RAM | ||
− | * C = Length of | + | * C = Length of Variable Name |
* A = 'unknown' | * A = 'unknown' | ||
* carry flag is set if the variable is not found in the VAT | * carry flag is set if the variable is not found in the VAT |
Revision as of 13:05, 2 August 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 Variable 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