On 17 Aug 2016 11:35, duane@duaneellis.com wrote: > mike>> if eightbit is just an address mode, that's dirt simple to handle > mike>> a (void *)0 will go to the same memory location regardless of the > > mike>> addr mode used by an insn. but it isn't what the sim is doing > today :(. > > If I remember correctly, the arm simulator does various calculations and > pipeline tracking. > It's been a while, but it was doing this in the giant instruction switch > statement. > > I've not read or looked at the H8 simulator does the H8 simulator sort > of "count instruction/clock time" - based on memory accesses? nope, the h8300 sim doesn't have any stats/tracking like that > The old 6502 had a very similar zero page feature (first 256 bytes) - > aka: a zero page instructions. > > Accessing zero page using a zero page instruction required 3 clocks > (aka: the first 256 bytes) > Accessing absolute required 4 clocks, but you *CAN* access zero page in > absolute mode if you choose > This was useful when I wrote bit-bang uart simulation code (ie: Tight SW > loop - to emulate a uart via GPIO pin) > > Thus - from a logical view the "memory is just memory" end of story. > > if this is not evident in the simulation code, this might have been a > planned feature that never materialized or was never finished. from what i can tell from the H8/300 manuals, there is no zero page, and the first few bytes are reset/exception vectors. https://www.renesas.com/en-us/doc/products/mpumcu/001/e602025_h8300.pdf so it's similar to the 6502 in that you have more efficient addressing for a small bit of memory, but i think that's about it. -mike