|
From: Philipp K. K. <pk...@sp...> - 2025-01-10 09:59:46
|
For the Rabbit ports, I'm considering introducing memory models where __far pointers are wider than generic pointers. I.e. the __far address space would be a superset of the generic address space. AFAIK, no other port currently does this. Will this cause problems? Reasons: The Rabbits have efficient access to a 16-bit address space. But acessing a wider access space needs to be done using special instructions. So we might want a memory model where we have efficient memory access by default, and only use the special instructions when accessing something in __far space. This is also how Dynamic C, the compiler provided by the Rabbit vendor, does it. The alternative would be a mcs51-like approach, where we have __near pointers for access to the 16-bit address space, and any unqualified pointer points to __far by default. Like for mcs51, this would make using generic pointers less efficient. Philipp |