Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Message

Re: [AVR-Chat] Reading from flash in Assembly

2004-12-04 by John Samperi

At 07:27 PM 3/12/04 -0500, you wrote:
>>         rcall   mpy16u  ;Find offset in CHAR_GEN table
>>                         ;of first row results in r18 and r19
>Can you sacrifice rom space, to put the addresses on a binary boundary?
>Then this part becomes a few ROLs.

don't quite understand. I'm putting 2 chars (7 bytes each next to each other
or 14 bytes) to save rom space. I guess I could just add a zero byte at the
end
of each set * instead of 7), this will use up 224 bytes and make each
chararcter 
data 8 bytes long.

But I still need to multiply the value of the char (say 41hex for the char A)
by the number of bytes that each char needs (7 or 8) to get to the data for
the
first scan row and then add the row offset to get the pixels for that row.


>>         push    zl      ;push z as this routine happens during ints
>>         push    zh
>
>Do your ints not preserve z?  Which spends more time, saving it here, or in 
>the ints that need it?

I think it does, maybe I need to use Z for something else and need to
preserve it in the same int. I'll have another look.

Anyway...thanks for the tips..but we were trying to help Paul :-))

It's good to let someone else look at what one does as one can get
too involved with getting the stuff to work to see the errors of his ways.





Regards

John Samperi

******************************************************
                        Ampertronics Pty. Ltd.
  11 Brokenwood Place Baulkham Hills, NSW 2153 AUSTRALIA
         Tel. (02) 9674-6495       Fax (02) 9674-8745
               Email: samperi@ampertronics.com.au
                 Website  http://www.ampertronics.com.au
* Electronic Design   * Custom Products   * Contract Assembly
******************************************************

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.