Re: A86: absolute address resolution
[Prev][Next][Index][Thread]
Re: A86: absolute address resolution
actually it would be like _conv_ahl
_load_ram_ahl also loads the page into the ram area
>
> Are you aware that the rom call _load_ram_ahl will do exactly what your
> routine tries to do?
>
>
> In a message dated 12/5/99 21:42:28 Eastern Standard Time,
> croop@oregontrail.net writes:
>
> > Does anyone see any obvious defects in this routine? I've tested it on
> > the emulator in several programs, but the last few versions tested out
> > ok too, until a week or so later when I discovered an error. But I
> > think I've got it now. Apparently, until tonight, my concept of what
> > paged memory meant wasn't quite what TI's concept was...
> >
> > Cassady Roop
> >
> >
> > ;decodeABS decodes absolute address in ahl.
> > ;by Cassady Roop
> > ;input - AHL = absolute address, like that outputted by _findsym
> > ;output - A = page
> > ; HL = offset into page.
> > decodeABS:
> > cp 0 ;is a zero?
> > ret z ;if so, hl is already a valid pointer
> > dec a
> > rlca ;*2
> > rlca ;*4
> > ld de, $4000 ;length of one page
> > dABSloop:
> > push hl ;save
> > sbc hl, de ;hl=hl-de
> > jr c, dABSdone ;if hl was less than $4000
> > pop bc ;get rid of the value we saved
> > inc a ;increment the page counter
> > jr dABSloop ;reloop
> > dABSdone:
> > inc a ;page correction
> > pop hl ;the last pushed value is the offset
> > ret ;we are done
> >
>
>
>
> ----
> Jonah Cohen
> <ComAsYuAre@aol.com>
> http://linux.hypnotic.org/~jonah/
>
>
Follow-Ups:
References: