> This is my (slightly > educated) guess about why it exists: banking and paging make > the hardware > more simple. Someone else may have some evidence for or > against this idea, > but for what little bit of digital design I remember this is > my stand. ;) Main reason is that the (data or code) address field must fit in an instruction, an instruction has a limited size, and this size should not be choosen too large because the Flash is a large part of the cost (size) of the chip. Another: some PICs have an address range that is large than the register size (8 bit). Note that in a sense even an ARM has some sort of paging/banking: neither 32-bit constants, nor full 32-bit data or code (same thing on an ARM) addresses fit into a (32 bit!) instruction. So there are tricks and workarounds to get a 32-bit value in a register, and to address anything in the 32-bit address space (but not paging/banking as we know it on the PICs). Wouter van Ooijen -- ------------------------------------------- Van Ooijen Technische Informatica: www.voti.nl consultancy, development, PICmicro products docent Hogeschool van Utrecht: www.voti.nl/hvu -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist