??? 06/20/06 14:59 Read: times |
#118619 - That's my first choice ... however ... Responding to: ???'s previous message |
This idea is still in the head-scratching stage.
Using otherwise unused SFR-space locations is the obvious solution. Unfortunately, the original i8051 had only 128 locations available and used only a small number of them. By the time we get to the more modern pin-compatibles, using the DS89C4x0 as an example, quite a number of them are "used-up" leaving far fewer options. Further, the ones remaining lie outside the bit-addressable locations. BTW, Jan W, the i8048, while very likely a direct ancestor of the i805x, was quite different in a number of respects. (1) it had no internal memory-mapped I/O. (2) It had I/O instructions with which to address ports and it had instructions directly addressing its timer/counter. (3) It had no SFR's, nor did it have any bit-addressable memory region. There are other differences as well, but you get the idea. The problem(s) associated with preserving the existing location of SFR's and their content is twofold. (1) there are only so many locations, many of which are already used. (2) the key locations are bit addressable, but already allocated. Yes, there are problems, but reallocating the SFR's that are dedicated for use in combination with peripherals that are absent, e.g. if no UART is present, makes little sense. Additionally, since I see the requirement for explicit handling of the transmitter and receiver interrupt flags as a major impediment to efficient use of the UART, particularly in Mode 0, I'm exploring ways to get around that. Your comments, as always, are welcome. RE |