Why is this microprocessor referred to as "8-Bit" when it has an address bus of 16-bits?

Solution 1:

"Bitness" is determined by available mode of operation. While there is some (awkward) dealing with 16-bit values, it sure has a distinctive 8-bit flavor.

Operands/registers are 8-bit only, ALU is 8-bit. Even the stack pointer register S is only 8-bit (internally prefixed with 0x01__ in the high byte to move the stack from the "zero page"... and yes, the maximum stack size is 256 bytes). Only the program counter (PC) is 16 bit.

To make use of the 16-bit addressable RAM - other than for loading instructions - with computed addresses (as opposed to fixed ones, which can be included in the machine code), one would have to use a zero page address... like in LDA ($24),Y, which would take the 16-bit base "pointer" stored at 0x24 and 0x25, add the 8-bit Y (think of that as an index or byte offset), and then move the 8-bit content from this address into A. So two adjacent bytes on the "zero page" (0x00-0xff) unused by the "operating system" and available to your program are a hot commodity on a 6502 ;)

Similar goes with the Z80 processor family. Two 8-bit registers can be used together (e.g. HL, aptly named high and low) to form a 16-bit address... but the processor is still considered to be 8-bit. Intel 8068 had a 20-bit address bus, but was a 16-bit processor. So address bus "bitness" doesn't determine processor bitness at all. Register size/load instructions are much more important :)