Re: h8300 sim: what is "eightbit" memory ?

Mike Frysinger
2016-08-17T18:53:10Z

[-- Attachment #1: Type: text/plain, Size: 1686 bytes --]

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.