Re: A86:OnTemp.asm


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

Re: A86:OnTemp.asm




Actually, aren't they the same?  I count (in my head) 17 bytes for each.  A
push/pop is 2 bytes, same as the address for an absolute 8 bit load.

> One byte smaller :-)
>
>  ld hl,_alt_on_exec
>  ld a,(hl)
>  dec hl
>  push hl
>  ld de,40
>  ld b,5
> getchecksum:
>  add hl,de
>  add a,(hl)
>  djnz getchecksum
>  pop hl
>  ld (hl),a
>
>
> In a message dated Thu, 13 Jan 2000  1:13:24 AM Eastern Standard Time,
"David Phillips" <david@acz.org> writes:
>
> >
> > > Of course, there are much more efficient ways of getting checksums,
but...
> >
> > I might have screwed this up a bit, it's been a while and I did this
from
> > memory.  This should be the most efficient way to calculate checksums.
Note
> > that the ROM uses the method you posted: loading constant values into HL
(of
> > course it does it backwards).
> >
> > CalcChecksum:
> >  ld hl,alt_on_exec
> >  ld a,(hl)
> >  dec hl
> >  ld b,5
> >  ld de,$28
> > @loop:
> >  add hl,de
> >  add a,(hl)
> >  djnz @loop
> >  ld (alt_on_chksum),a




References: