[Coco] Errors in Leventhal's 6809 Subroutines book?
Robert Gault
robert.gault at att.net
Sat Jan 29 11:20:39 EST 2022
You will find that many of the examples in the subroutine book are far from optimal and there are others that are bad.
The obvious way to learn programming is not to assume the routines are good but to actually test them say with EDTASM and try to improve on them. You will quickly find that there are much better, simpler, and more direct ways to write many of the routines.
Regards p78 if you want to decrease a 16 bit number, you could just
subd #1
RegB could be loaded from memory or from the stack. The point is to see what assumptions were made starting on p74.
Sent from AT&T Yahoo Mail on Android
If anyone comes up with a definitive/tested answer, I would like to know so that I can correct my copy of the book (if necessary). One of my desires is to learn ASM for the CoCo.
Cheers!
Michael
-----Original Message-----
From: Coco <coco-bounces at maltedmedia.com> On Behalf Of Robert Gault
Sent: 29 January 2022 00:11
To: CoCoList for Color Computer Enthusiasts <coco at maltedmedia.com>; robert.gault at att.net; lost <lost at l-w.ca>
Subject: Re: [Coco] Errors in Leventhal's 6809 Subroutines book?
Sorry about that. My cellphone trashed the line feeds. Maybe this will work.
ldx ,s leax -1,s stx ,s
Bad code might be
ldx ,s leax -1,x stx ,s
Or depending on what is in regS
leas -1,s
The comments suggest that regS is a pointer to a 16bit value so the second sequence should be the correct one.
Sent from AT&T Yahoo Mail on Android
On Sat, Jan 29, 2022 at 1:02 AM, robert.gault at att.net<robert.gault at att.net> wrote: Right, I just looked up what I think are the lines in question. ldx ,s leax -1,s stx ,s The instruction is legitimate but the sequence makes no sense to me. The second instruction removes the result of the first. The comments with the code suggest that regS points to a value which is to be decreased. In that case the code should be ldx ,s leax -1,x stx ,sIf regS held a value instead of a pointer, then one should just use leas -1,s Sent from my LG Mobile
--
Coco mailing list
Coco at maltedmedia.com
https://pairlist5.pair.net/mailman/listinfo/coco
--
Coco mailing list
Coco at maltedmedia.com
https://pairlist5.pair.net/mailman/listinfo/coco
More information about the Coco
mailing list