Yeah, I can barely understand it rereading it.
Ok, what I meant to try to get across..
To be able to address a full address, you first need to have a memory location or register that is as large as the address, ie you need to have 32 bit mem locs or 32bit registers if you have 32bit addressable memory.
One way of being able to talk to a mem loc (which will have a 32 bit name) is to use paging. What this means is that you break up your memory into a bunch of pages, each of which contains a certain number of mem locs. The number of mem locs is deteremined by how much room in your command you have to address memory. If you have six bits to do this in you'll have 64 entries (2^6). When you actually make the call, the first (in the case of 6 bits) 26 bits are appended onto the location. The first 26 bits are what tell you what page you're on.
That was direct addressing.
You can also store an address in a register or mem loc. This would be how you access memory outside of your page. So the call would say look for the memory location in this register or at this mem loc which is on the current page.
That's indirect addressing.
Does that make more sense?