The 64k address limit has been determined. However, do I implement memory as 64k x byte or 64k x word?
Having 64k x word would speed up the system significantly.
But we would need to add some instruction(s) to allow for byte extraction/insertion.
IPS uses the regular 7-bit ASCII character set (and uses bit 7 for inverse video indication), so bytes not words are needed for keyboard entry and video display (and other hardware interactions).
I remember that Lyle and I ran into the same issue on the AM1601 which was designed to use words not bytes.
Looking up in the AM1601 Programming Manual I saw that we introduced the XB instruction for this problem. XB swaps the high and low bytes. XB will be added to the opcode list.
So, with the addition of the XB opcode, we are cool to go forward with 64k x word; giving us 128k of memory, even more luxury!
The I/O space shares the same address bus as memory, but it is a separate space. I will define the I/O space as 64k x byte instead of 64k x word. Any writes to the I/O space will ignore the MSB of the applicable value.
No comments:
Post a Comment