EasyManua.ls Logo

Texas Instruments TI-83-Plus - Page 65

Texas Instruments TI-83-Plus
188 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Chapter 2: TI-83 Plus Specific Information 55
TI-83 Plus Developer Guide Third Release May 28, 2002
Example: A routine that traverses both sections of the Symbol Table.
Traverse_symTable:
LD HL,symTable ; HL = pointer to first symbol entry
LD D,0
LD BC,(pTemp) ; BC = pointer to byte after the end
; of the Symbol Table
loop:
OR A
SBC HL,BC ; current - end, if CA then done with
; search
RET C ; return if no more syms to check
RET Z ; return if no more to check
;
ADD HL,BC ; restore current search pointer
LD A,(HL) ; get symbol entry type
AND 1Fh ; mask off variable type
;
LD E,6 ; DE = offset to NL or first byte of
; name
SBC HL,DE ; (HL) = NL or first byte of name
;
LD E,3 ; DE = offset to next entry if not a
; program/list/group/AppVar
CP AppVarObj ; current entry an AppVar
JR Z,movetonext ; yes, get NL to find next entry
;
CP ProgObj ; current entry a program
JR Z,movetonext ; yes, get NL to find next entry
;
CP ProtProgObj ; current entry a program
JR Z,movetonext ; yes, get NL to find next entry
;
CP TempProjObj ; current entry a program
JR Z,movetonext ; yes, get NL to find next entry
;
CP groupprogobj ; current entry a group var
JR Z,movetonext ; yes, get NL to find next entry
;
DEC HL ; (HL) = tVarLst if a list
LD A,(HL)
INC HL ; fix
CP tVarLst ; current entry a list
JR NZ,movetonext1 ; no
Movetonext:
LD E,(HL) ; DE = length of name
INC E ; DE = length of name + 1
;
; move HL to next symbol table entry sign digit
;
Movetonext1:
OR A
SBC HL,DE ; HL = next symbol table entry address
JR loop

Table of Contents

Other manuals for Texas Instruments TI-83-Plus

Related product manuals