Final answer:
The correct answer is option c. ffff8000h. The starting address of an 8k byte memory chip with the last address ffffh is ffff8000h. This was determined by subtracting 2000h, the hexadecimal equivalent of 8k bytes, from the last address.
Step-by-step explanation:
To find the starting address of the memory chip, we need to determine the address that represents the first location of the chip. Since the memory chip is 8k bytes in size, we know that it contains 8000 bytes of memory.
In hexadecimal notation, 1 byte is represented by 2 hexadecimal digits. Therefore, 8k bytes can be represented by 8 * 1024 / 2 = 4096 hexadecimal digits.
The memory address of the last location, ffffh, represents the 4096th hexadecimal digit. To find the starting address, we need to subtract 4096 from ffffh. Performing this subtraction, we get ffffh - 4096 = fffc0h.
To determine the starting address of an 8k byte memory chip with the last address of ffffh, we first need to know that 8k bytes is equal to 8192 bytes. Since memory addresses are typically expressed in hexadecimal and each hexadecimal digit represents 4 bits, we can calculate the number of addresses by converting k bytes into hexadecimal. In this case, 8k bytes is 2000h in hexadecimal. To find the starting address, we subtract 2000h from the last address, ffffh. However, because hexadecimal counting includes the number '0', we subtract one less (i.e., 1fffh) to get the correct starting address.
Thus, ffffh - 1fffh equals ffff8000h, which is the starting address of the memory chip.