The datasheet for the ATMega32A shows the IO ports as being memory mapped. E.g., the address for PORTA is given as 0x1B (0x3B).
1. What's the difference between those two addresses?
2. To access ports via the memory map, do you just use normal pointer operations? Can someone provide an example of, say, toggling bit 3 in PORTA this way?