Most likely, your address bits appear on the address bus pins. A0 is the low bit, A15 is the high bit. If you want to cut memory in half like that, you just peel A15 off and use that to select which storage (RAM/ROM) you want.
still wondering how those addresses (8000h, FFFFh, .... ) translate into electrical signal on the actual address bus
Landon Harris
for all addresses under 8000h A15 is set to 0 (low) and over 8000h A15 is set to 1 (high). if you want to know the state of each individual address pin then translate 8000h binary and consider that A0 is the least significant bit. is all.
Bentley Howard
for example 8083h = 1000 0000 1000 0011b
so: besides A15 being high A7, A1 and A0 are set high
i'm making the assumption that the z80 works with 'active high' signals on the address line
Joseph Bell
You have 16 pins available for "addressing", which means you can form 16 bit numbers or in other words 2^16 different locations in your address space.
Angel Robinson
interesting. thanks for the info. could you provide some link for more details ? thanks.
Brody Diaz
why is it A15 and not A2 or A7 ? sorry, noob here
Juan Bell
8000h -> 1000 0000 0000 0000b
beginning with 8000h every consecutive memory address will have the most significant, the 15th bit set as one..
if you were implementing the hardware you would have freedom to use what ever pin you want, it's not a matter of physical location of pin or even the labeling of (though for clarity on the users side it kind of is). the only thing that matters is that you are somehow putting out a binary representation of a number that translates to a memory location on your system
look up some introductory computer architecture book and read read read
Chase Richardson
It's basic computer engineering knowledge. Get yourself a hardware textbook that a reputable college uses.
Alexander Martin
You have 16 bits in your address. You have 16 address pins numbered from 0 to 15.
This isn't hard.
Jack Parker
how do you read 16 bits from 7FFFh ? whats that called ? hexadecimal ?
Hudson Ramirez
it's a simple conversion from hexadecimal to binary. every hexadecimal number is represented by 4 bits 7h = 0111b and Fh = 1111b so: 7FFFh = 0111 1111 1111 1111b
Brody Russell
but there are 5 numbers in 7FFFh, wouldn't that make 20bit ?