On Thu, 2005-09-01 at 09:28 -0500, David Kelly wrote: > 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. Yes, that was part of my point. > 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. Yup. I misspoke, I did know this. You are quite right. > The 64 address range for SFRs is more heavily ingrained than you > suspected. I dunno abou tthat, but it is certtainly heavily ingrained, anmd as I pointed out, I think that ultimately, the Atmel decision on how to handle it was the correct one. Tom
Message
Re: Re: [AVR-Chat] Errors in manuals ...
2005-09-01 by Thomas Keller
Attachments
- No local attachments were found for this message.