On Thu, Sep 01, 2005 at 09:03:53AM -0500, Thomas Keller wrote: > > Now, perhaps itmight be argued that thery could have considered > modifying the I/O addressing instructiosn to also access this extended > I/O space, but if I read the data sheet correctly, this would have > involved making them take longer to execute (having to read an > additional byte to obtain the longer addresses). To do so Atmel would have had to modify the instruction set. An opcode on the AVR is 16 bits. The "argument" is embedded within those 16 bits for SFR codes. Its not just a matter of an additional byte, all instructions are multiples of 16 bits. Flash is actually 16 bits wide (page 16 of ATmega64), but byte addressable. The program counter counts 16 bit words, not bytes. If you look at a disassembly such as generated by avr-objdump byte addresses are listed. But look into the opcodes and one has to double the value to find the disassembled listed value. The 64 address range for SFRs is more heavily ingrained than you suspected. -- David Kelly N4HHE, dkelly@HiWAAY.net ======================================================================== Whom computers would destroy, they must first drive mad.
Message
Re: Re: [AVR-Chat] Errors in manuals ...
2005-09-01 by David Kelly
Attachments
- No local attachments were found for this message.