[A83] Re: AppVars


[Prev][Next][Index][Thread]

[A83] Re: AppVars




I'll try...

;> Is anyone out there good with appvars?
> 
;> I created an appvar like so:
 
> ld hl,appvart
;Okay, that's correct

;> b_call setxxxxop2
;This won't do, it doesn't take the bytes hl is pointing to,
;but the value of hl itself
;> b_call op2toop1
;This won't do too..

;Use 
rst rMOV9TOOP1 ; instead, (see appguru ch. 17)

> ld hl,10

;Okay, you want 10 bytes in size...

> b_call createappvar

;Use:
inc de
inc de ; to go to the start of the appvar now.
ld hl,de
; hl now points to the start of the appvar...

;just for code legibility:
jr continue
> appvart: .db AppVarObj,"HELLO",0
continue:

;> Now how would I read from this appvar?? And can I define them as variables, 
;> like for instance, HELLO = 3rd byte.

; do "avloc equ [some user space location]" in your programs header
; now:

ld (avloc),hl ; to store your data for future reference.

;to store something to the n'th byte. (location independent code follows)

ld hl,(avloc)
ld b,n ; n = number of byte (0 = 1st byte)
loop:
inc hl
djnz loop

ld (hl), a ; a contains byte you want to store

;to load something from the n'th byte (again, location independent)

ld hl,(avloc)
ld b,n
loop1:
inc hl
djnz loop

ld a,(hl) ; a now contains loaded byte


> THanks for your help
Don't mention it :-)

--Peter Martijn


> 
> -joel
> 
> 




Follow-Ups: References: