Assembly Language eComic - Issue 7 now available

Anything QL Software or Programming Related.
Post Reply
User avatar
NormanDunbar
Forum Moderator
Posts: 2251
Joined: Tue Dec 14, 2010 9:04 am
Location: Leeds, West Yorkshire, UK
Contact:

Assembly Language eComic - Issue 7 now available

Post by NormanDunbar »

Hello to all (both?) my faithful readers. The latest edition of the somewhat irregular eComic about QL Assembly Language Programming is out now. Get it from:

https://github.com/NormanDunbar/QLAssem ... ag/Issue_7

You only need the PDF (to read) and the Code.zip file, to save you typing. Enjoy.

In this issue there is an article by Tobias on the Q68, plus exciting stuff about the UTF8 character set encoding and how it can be used on the QL - or at least, how I can use it! Two world class (ahem!) utilities are supplied to enable conversion from the QL to UTF8 and back again. There's even, wait for it, a table of contents! ;)

Help yourselves and enjoy.

Cheers,
Norm.


Why do they put lightning conductors on churches?
Author of Arduino Software Internals
Author of Arduino Interrupts

No longer on Twitter, find me on https://mastodon.scot/@NormanDunbar.
User avatar
NormanDunbar
Forum Moderator
Posts: 2251
Joined: Tue Dec 14, 2010 9:04 am
Location: Leeds, West Yorkshire, UK
Contact:

Re: Assembly Language eComic - Issue 7 now available

Post by NormanDunbar »

I've fixed a small bug in the code submitted by Tobias in Issue 7. There was a use of A7 in a register list that should have stopped at A6. (That's the sort of mistakes I make!) Wolfgang spotted it and let me know.

I've uploaded a fresh copy of Issue 7 to the URL above. If you downloaded your copy prior to 19:00 BST tonight, aka GMT +01:00, aka UTC + 01:00, then help yourself to a fresh pdf download to get the error corrected version.

Cheers,
Norm.


Why do they put lightning conductors on churches?
Author of Arduino Software Internals
Author of Arduino Interrupts

No longer on Twitter, find me on https://mastodon.scot/@NormanDunbar.
retro_collector
Brittle Membrane
Posts: 107
Joined: Sun Jul 21, 2019 2:26 pm
Location: Chicago, IL USA

Re: Assembly Language eComic - Issue 7 now available

Post by retro_collector »

Thank you Sir


User avatar
tofro
Font of All Knowledge
Posts: 2687
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: Assembly Language eComic - Issue 7 now available

Post by tofro »

NormanDunbar wrote:I've fixed a small bug in the code submitted by Tobias in Issue 7. There was a use of A7 in a register list that should have stopped at A6. (That's the sort of mistakes I make!) Wolfgang spotted it and let me know.
I guess whatever you (I) do, there's always that last error you (I) miss ;)

Sorry for the inconvenience,
Tobias


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
User avatar
NormanDunbar
Forum Moderator
Posts: 2251
Joined: Tue Dec 14, 2010 9:04 am
Location: Leeds, West Yorkshire, UK
Contact:

Re: Assembly Language eComic - Issue 7 now available

Post by NormanDunbar »

Or even, no matter how many times you (I) proof read something, errors only appear totally obvious once the thing has been distributed!

No problem at all Tobias, thanks for the contribution.


Cheers,
Norm.


Why do they put lightning conductors on churches?
Author of Arduino Software Internals
Author of Arduino Interrupts

No longer on Twitter, find me on https://mastodon.scot/@NormanDunbar.
User avatar
Peter
QL Wafer Drive
Posts: 1953
Joined: Sat Jan 22, 2011 8:47 am

Re: Assembly Language eComic - Issue 7 now available

Post by Peter »

NormanDunbar wrote:In this issue there is an article by Tobias on the Q68, [...]
Almost missed this interesting read. Very nice, thank you Tobias and Norman!

As for the loop unrolling: If a few percent of performance don't matter, one might not unroll 256 instructions, but 64 for example, spending 75% less memory. Having 32 MB SDRAM this seems pointless, but if the code is executed in Q68 fast RAM or (not yet released) cache, size matters.

Loop unrolling is always a good idea on the Q68 where speed matters. E.g. I also used loop unrolling in the SD card driver. While the CPU can execute simple instructions in a single clock cycle if running from SRAM, the cost for branches are relatively high. I wonder if the SMSQ/E memory copying routines in the screen driver could be optimized in a similar manner.


Post Reply